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

📄 16-16.lst

📁 几年搜的LED显示屏程序大全20多个实例带仿真.rar
💻 LST
字号:
C51 COMPILER V8.05a   16_16                                                                11/29/2008 22:14:44 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE 16_16
OBJECT MODULE PLACED IN 16-16.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 16-16.c OMF2 DEBUG

line level    source

   1          #include <AT89X52.H>
   2          #include <intrins.h>                            //要用到 _nop_()
   3          #define uint unsigned int
   4          #define uchar unsigned char
   5          
   6          sbit E1         =P3^4;          //74HC154(18)-E1 为0开列(col)输出  显示允许控制信号端口
   7          sbit ST_CP      =P3^2;          //74HC595(12)-ST_CP 上升沿--移位寄存器的数据进入数据存储寄存器 输出锁存器的时钟信号端口
   8          sbit MR         =P3^3;          //74HC595(10)-MR 为0将移位寄存器的数据清0
   9          
  10          
  11          uchar code bmp[32*6]={  //字模表
  12                                                                                            
  13          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//" "
  14          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,                        
  15          
  16          0x00,0x08,0x00,0x08,0xF8,0x0B,0x28,0x09,0x29,0x09,0x2E,0x09,0x2A,0x09,0xF8,0xFF,
  17          0x28,0x09,0x2C,0x09,0x2B,0x09,0x2A,0x09,0xF8,0x0B,0x00,0x08,0x00,0x08,0x00,0x00,/*"单",2*/
  18          
  19          0x00,0x80,0x00,0x40,0x00,0x30,0xFE,0x0F,0x10,0x01,0x10,0x01,0x10,0x01,0x10,0x01,
  20          0x10,0x01,0x1F,0x01,0x10,0x01,0x10,0xFF,0x10,0x00,0x18,0x00,0x10,0x00,0x00,0x00,/*"片",3*/
  21          
  22          0x08,0x04,0x08,0x03,0xC8,0x00,0xFF,0xFF,0x48,0x00,0x88,0x41,0x08,0x30,0x00,0x0C,
  23          0xFE,0x03,0x02,0x00,0x02,0x00,0x02,0x00,0xFE,0x3F,0x00,0x40,0x00,0x78,0x00,0x00,/*"机",4*/
  24          
  25          0x40,0x00,0x20,0x00,0x10,0x00,0xEC,0x7F,0x07,0x40,0x0A,0x20,0x08,0x18,0x08,0x06,
  26          0xF9,0x01,0x8A,0x10,0x8E,0x20,0x88,0x40,0x88,0x20,0xCC,0x1F,0x88,0x00,0x00,0x00,/*"仿",5*/
  27          
  28          0x00,0x10,0x04,0x90,0x04,0x90,0x04,0x50,0xF4,0x5F,0x54,0x35,0x5C,0x15,0x57,0x15,
  29          0x54,0x15,0x54,0x35,0x54,0x55,0xF4,0x5F,0x04,0x90,0x06,0x90,0x04,0x10,0x00,0x00,/*"真",6*/
  30          };
  31          
  32          void delayXms(uchar ms);
  33          
  34          void main()
  35          {
  36   1              uchar base=0;                           //在bmp地址中移动,从0 到 rows - 15,每次加2,实现移动效果
  37   1      //      uchar cur=0;                            //显示base位置以后的一个字符宽度,16列,每列16bit
  38   1              uchar tmp=0;                            //临时变量
  39   1              uchar rows=sizeof(bmp);         //" ",单,片,机,仿,真共6个字符块,每个16*16,共rows=96列
  40   1              uchar col=0;                            //列选线
  41   1              SCON = 0x00;                            //串口工作模式0;移位寄存器方式
  42   1      
  43   1              MR=1;
  44   1              while(1)
  45   1              {
  46   2                       for(base=0;base<=rows;base=base+2)
  47   2                       {
  48   3                              for(tmp=0;tmp<5;tmp++) //每个字块显示5次
  49   3                              {
  50   4                                      for(col=0;col<16;col++)
  51   4                                      {
  52   5                                              E1=0;                           //开154移位 列
  53   5                                              MR=0;                           //清理行输出,将移位寄存器的数据清0
  54   5                                              MR=1;
  55   5                                              ST_CP=0;                        //上升沿
C51 COMPILER V8.05a   16_16                                                                11/29/2008 22:14:44 PAGE 2   

  56   5                                              ST_CP=1;                                
  57   5                                              SBUF=bmp[base+col*2];
  58   5                                              while(TI==0);           //等待发送完毕
  59   5                                              T1 = 0;
  60   5      
  61   5                                              SBUF=bmp[base+col*2+1];
  62   5                                              while(TI==0);           //等待发送完毕
  63   5                                              T1 = 0;
  64   5      
  65   5                                              
  66   5                                              P1=col;                         //列控制
  67   5                                              ST_CP=0;                        //上升沿
  68   5                                              ST_CP=1;
  69   5      
  70   5                                              
  71   5                                              delayXms(2);            //显示2ms
  72   5                                      }
  73   4                              }
  74   3                       }
  75   2              }
  76   1      }
  77          void delayXms(uchar ms)                 // 延时毫秒@12M,ms最大值255   
  78          {   
  79   1          uchar i;   
  80   1          while(ms--)   
  81   1              for(i = 0; i < 124; i++);   
  82   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    167    ----
   CONSTANT SIZE    =    192    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       4
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
   EDATA SIZE       =   ----    ----
   HDATA SIZE       =   ----    ----
   XDATA CONST SIZE =   ----    ----
   FAR CONST SIZE   =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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