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

📄 16x256.lst

📁 51单片机驱动led 点阵屏设计
💻 LST
字号:
C51 COMPILER V8.05a   16X256                                                               01/02/2007 20:31:50 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE 16X256
OBJECT MODULE PLACED IN 16x256.OBJ
COMPILER INVOKED BY: D:\keil安装\安装\C51\BIN\C51.EXE 16x256.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <REGX51.H>
   2          #define FOSC    12                              //定义晶振频率
   3          #define INIT_TH0 0x3C                   //定时器T0初始值
   4          #define INIT_TL0 0xB0
   5          #define TMOD_T00 0x00                   //定义T0为方式0,GATE=0,C/T=0,13位计数器
   6          #define TMOD_T01 0x01                   //定义T0为方式1,GATE=0,C/T=0,16位计数器
   7          #define TMOD_T02 0x02                   //定义T0为方式2,GATE=0,C/T=0,自动装入8位计数器
   8          #define TMOD_T03 0x03                   //定义T0为方式3,GATE=0,C/T=0,定时器0分成两个8位计数器,定时器1停止计数
   9          
  10          /*缩定定义*/
  11          
  12          #define uchar unsigned char
  13          #define uint unsigned int
  14          
  15          /*P1口位定义*/
  16          
  17          
  18          /*P2 BIT Define*/
  19          
  20          
  21          /*P3 bit define*/
  22          
  23          /************位定义***************/
  24          sbit STTP = P2^7;
  25          
  26          
  27          /************函数声明*************/
  28          void    delay(uint c);                          //延时函数
  29          void    out_rxd(uchar *d);                              //汉字输出
  30          
  31          
  32          /************汉字点阵*************/
  33          char code hanzi[6][32]={
  34                                  {0x08,0x02,0x30,0x02,0x20,0x02,0x20,0x02,0x27,0xFE,0x24,0x92,0xA4,0x92,0x64,0x092,
  35                       0x24,0x92,0x24,0x92,0x2F,0xFE,0x24,0x02,0x20,0x02,0x28,0x06,0x30,0x02,0x00,0x00},
  36                              {0x04,0x20,0x44,0x20,0x54,0x40,0x54,0x80,0x55,0xFF,0x56,0x92,0x5C,0x92,0xF4,0x92,
  37                       0x54,0x92,0x56,0x92,0x55,0xFF,0x54,0x80,0x54,0x40,0x44,0x60,0x04,0x40,0x00,0x00},
  38                                  {0x02,0x20,0x0C,0x20,0x88,0x20,0x69,0x20,0x09,0x20,0x09,0x22,0x89,0x21,0x69,0x7E,
  39                       0x09,0x60,0x09,0xA0,0x19,0x20,0x28,0x20,0xC8,0x20,0x0A,0x60,0x0C,0x20,0x00,0x00},
  40                                  {0x00,0x00,0x7F,0xFF,0x44,0x20,0x5A,0x10,0x69,0xE1,0x30,0x81,0x24,0x82,0x24,0x8C,
  41                       0xA4,0xF0,0x64,0x80,0x24,0xFC,0x2C,0x82,0x25,0x82,0x28,0x82,0x30,0x0E,0x00,0x00},
  42                              {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,            //'!'
  43                                   0x00,0x00,0x00,0x00,0x38,0x00,0x7F,0xCC,
  44                                   0x7F,0xCC,0x38,0x00,0x00,0x00,0x00,0x00,
  45                                   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  46                              },
  47                                  {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,       //显示空屏,如果只有一个字或将字全部移出必须设置一个空屏幕
  48                                   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  49                                   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  50                                   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
  51                                  };
  52          
  53          /************主函数***************/
  54          void main()
  55          {
C51 COMPILER V8.05a   16X256                                                               01/02/2007 20:31:50 PAGE 2   

  56   1              uchar i,j,k;    //i:每个字的显示循环;j每个字的显示码除以2;k每列刷新次数
  57   1              uchar b=0;              //显示偏移控制,char类型最多只能显示14个汉字+一个空白位字符
  58   1              uchar a;                //控制移动间隔时间
  59   1              SCON = 0x00;
  60   1              while(1)
  61   1              {       
  62   2                j=0;
  63   2                if(a>5)       //移动间隔时间;取值0--255
  64   2                      {
  65   3                        a=0;
  66   3                        b+=2;
  67   3                        if(b>=160)    //显示到最后一个字,回头显示,判断值=字数*32
  68   3                         {
  69   4                           b=0;
  70   4                         }    
  71   3                      }
  72   2                for(i=0;i<16;i++)
  73   2                 {
  74   3                       P1=i;
  75   3                       for(k=0;k<5;k++)
  76   3                        {     
  77   4                              STTP = 0;
  78   4                              out_rxd(&hanzi[3][j+b+1]);
  79   4                              out_rxd(&hanzi[3][j+b]);
  80   4                              out_rxd(&hanzi[2][j+b+1]);
  81   4                              out_rxd(&hanzi[2][j+b]);
  82   4                              out_rxd(&hanzi[1][j+b+1]);
  83   4                              out_rxd(&hanzi[1][j+b]);
  84   4                              out_rxd(&hanzi[0][j+b+1]);
  85   4                              out_rxd(&hanzi[0][j+b]);
  86   4                              STTP = 1;
  87   4                              delay(4);
  88   4                        }
  89   3                       j=j+2;
  90   3                 }
  91   2                 a++;
  92   2               }
  93   1      }
  94          
  95          /************子函数**************/
  96          
  97          void delay(uint c)
  98                  {
  99   1                int i,j;
 100   1                for(i=0;i<c;i++)
 101   1                      for(j=0;j<5;j++)
 102   1                              ;
 103   1              }
 104          
 105          void out_rxd(uchar *d)
 106          {
 107   1              SBUF = *d;                      //启动串行口传送
 108   1              while(TI == 0);         //等待串口传送结束
 109   1              TI = 0;                         //将串口中断标志位置0
 110   1      }
 111          
 112          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    252    ----
   CONSTANT SIZE    =    192    ----
C51 COMPILER V8.05a   16X256                                                               01/02/2007 20:31:50 PAGE 3   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       5
   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 + -