⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 上卷帘显示郭少斌.lst

📁 基于51单片机的16*16点阵
💻 LST
字号:
C51 COMPILER V9.00   上卷帘显示筥少盻                                                      04/12/2010 10:14:19 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE 上卷帘显示筥少盻
OBJECT MODULE PLACED IN 上卷帘显示郭少斌.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 上卷帘显示郭少斌.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg52.h>
   2          #define BLKN 2
   3          #define uchar unsigned char
   4          #define uint  unsigned int
   5          uchar i,j,k;
   6           //uint i;                                                                                                
             -                                                                                                                        
             -                                                                                                     
   7           sbit G  =P2^7;
   8           sbit RCK=P2^6;
   9           sbit SCLR=P2^5;
  10           void delay(uchar x)
  11           {
  12   1           uchar a,b;
  13   1               for(a=x;a>0;a--)
  14   1                  for(b=110;b>0;b--);
  15   1       }
  16           uchar code bmp[][32]=
  17           {      
  18              {
  19                  0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x01,0x04,0xFF,0xFE,0x00,0x10,
  20                  0x1F,0xF8,0x10,0x10,0x10,0x10,0x1F,0xF0,0x09,0x20,0x11,0x18,0x65,0x08,0x02,0x00
  21                  },//景
  22                  {
  23                  0x01,0x00,0x01,0x08,0x7F,0xFC,0x01,0x00,0x3F,0xF8,0x02,0x00,0xFF,0xFE,0x04,0x40,
  24                  0x09,0x20,0x39,0x30,0xC5,0x4E,0x03,0x84,0x0D,0x60,0x11,0x10,0x05,0x00,0x02,0x00
  25                  },//泰
  26                  {
  27                   0x08,0x20,0x08,0x24,0xFF,0xFE,0x08,0x20,0x04,0x90,0x24,0xF8,0x25,0x00,0x26,0x40,
  28                   0x24,0x20,0x04,0x08,0x3F,0xFC,0x24,0x48,0x24,0x48,0x24,0x48,0xFF,0xFE,0x00,0x00
  29                  } //蓝
  30            };
  31           uchar data dispram[32];        //显示缓存
  32           void main()
  33           {
  34   1         
  35   1      
  36   1              SCON=0x00;             //串口工作模式0;移位寄存器方式
  37   1              TMOD=0x01;                         //定时器T0工作方式1:16位方式
  38   1              TR0=1;                 //启动定时器t0
  39   1              P1=0x3f;               //P1端口初值:允许接收、锁定、显示
  40   1          IE=0x82;
  41   1                      
  42   1              while(1)
  43   1                {
  44   2                      for(i=0;i<3;i++)
  45   2                       {
  46   3                        for(j=0;j<16;j++)
  47   3                        {
  48   4                          for(k=0;k<15;k++)
  49   4                              {
  50   5                               dispram[k*BLKN]=dispram[(k+1)*BLKN];
  51   5                               dispram[k*BLKN+1]=dispram[(k+1)*BLKN+1];
  52   5                              
  53   5                              }
C51 COMPILER V9.00   上卷帘显示筥少盻                                                      04/12/2010 10:14:19 PAGE 2   

  54   4                               dispram[30]=~bmp[i][j*BLKN];
  55   4                               dispram[31]=~bmp[i][j*BLKN+1];
  56   4                               delay(100);
  57   4                        }
  58   3      
  59   3                      }
  60   2            }
  61   1      
  62   1       }
  63           void leddisplay(void)  interrupt 1 using 1
  64           {
  65   1         uchar i,j=BLKN;                       //设定显示屏刷新率62.5帧/s
  66   1         TH0=0xfd;
  67   1         TL0=0xf0;
  68   1         i=P1;                                         //读取当前显示的行列
  69   1         i=++i&0x0f;                           /*行数自动加一,屏蔽高4位 ,注意P1.0,P1.1,P1.2,P1,3控制行的显示,
  70   1                                     通过4线16线译码器,对16行进行控制*/
  71   1         do
  72   1           {                                                                                          
  73   2                 j--;          
  74   2                 SBUF=dispram[i*BLKN+j];        //送显示数据,SBUF串行数据缓冲寄存器
  75   2                 while(!TI);                             /*串行发送停止位的开始时,由内部硬件使T11,向CPU发出中断请求
  76   2                                              ,在中断服务程序中,必须用软件使其清0*/
  77   2                 TI=0;
  78   2               }
  79   1         while(j);                                      //完成一行数据的发送
  80   1         G=1;                                                   //消隐(关闭显示)
  81   1         P1&=0xf0;                                      //行号端口清0
  82   1         RCK=1;                                                  //显示数据打入输出锁存器
  83   1         P1|=i;                                                  //写入行号
  84   1         RCK=0;                                                  //锁存显示数据
  85   1         G=0;                                                    //打开显示
  86   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    224    ----
   CONSTANT SIZE    =     96    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     35    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -