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

📄 main.lst

📁 32*16点阵显示例程 模拟奥运会开幕式的
💻 LST
字号:
C51 COMPILER V8.02   MAIN                                                                  10/14/2008 22:00:14 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /********************************************************
   2          程序名称:LED3216点阵反白交替显示图片
   3          简要说明:可显示分辨率为32*16的图片
   4                    P0口接上行线,P2口接下行线,P3口接扫描线
   5                            P3.0接左屏译码器使能端(CS1)
   6                            P3.1接右屏译码器使能端(CS2)
   7          编    写:JiangX.net
   8          ********************************************************/
   9          #include<AT89X52.h>
  10          #define uchar unsigned char                     //宏定义                        
  11          #define hang1   P0                                      //上半屏行线
  12          #define hang2   P2                                      //下半屏行线
  13          #define lie     P1                                      //扫描列线
  14          #define CS1         P3_0                                //接左屏译码器使能端,低电平使能
  15          #define CS2     P3_1                        //接右屏译码器使能端,低电平使能
  16          
  17          /*****参数调整项*****/
  18          #define light   150                                     //显示亮度调节,数值不可过大,以不感到屏幕闪烁为准
  19          
  20          /*******************************
  21          图片取模:纵向取模,字节倒序
  22          图片大小:32*16
  23          *******************************/
  24          uchar code pic[]={
  25          0x00,0x00,0x08,0xF8,0xF8,0x08,0x00,0x00,0xF0,0xF8,0xFC,0xFC,0xFC,0xFC,0xF8,0xF0,
  26          0xF8,0xFC,0xFC,0xFC,0xFC,0xF8,0xF0,0x00,0xF8,0xF8,0x00,0x00,0x00,0xF8,0xF8,0x00,
  27          0x00,0x00,0x10,0x1F,0x1F,0x10,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,
  28          0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0x00,0x0F,0x1F,0x18,0x18,0x18,0x1F,0x0F,0x00 //I LOVE YOU
  29          };
  30          
  31          /*****延时子程序*****/
  32          void delay()                                            //专门设置的延时程序用来改变扫描速度以方便调节亮度
  33          {
  34   1              uchar i;
  35   1              for(i=0;i<light;i++);
  36   1      }
  37          
  38          /*****显示子程序*****/
  39          void display1()
  40          {
  41   1              uchar i,j;                                              
  42   1              CS2=1;                                                  //关右屏
  43   1              CS1=0;                                                  //开左屏
  44   1              for(i=0;i<16;i++)
  45   1              {
  46   2                      lie=i;                                          //左屏列扫描信号输出
  47   2                      hang1=pic[i];                           
  48   2                      hang2=pic[i+32];                        //行信号输出
  49   2                      delay();
  50   2                      hang1=0;
  51   2                      hang2=0;
  52   2              }
  53   1              CS1=1;                                                  //关左屏
  54   1              CS2=0;                                                  //开右屏
  55   1              for(j=0;j<16;j++)                               
C51 COMPILER V8.02   MAIN                                                                  10/14/2008 22:00:14 PAGE 2   

  56   1              {               
  57   2                      lie=j<<4;;                                      //右屏列扫描信号输出
  58   2                      hang1=pic[j+16];                        
  59   2                      hang2=pic[j+48];                        //行信号输出
  60   2                      delay();
  61   2                      hang1=0;
  62   2                      hang2=0;
  63   2              }
  64   1      }
  65          
  66          /*****反白显示相同内容*****/
  67          void display2()
  68          {
  69   1              uchar i,j;                                              
  70   1              CS2=1;                                                  //关右屏
  71   1              CS1=0;                                                  //开左屏
  72   1              for(i=0;i<16;i++)
  73   1              {
  74   2                      lie=i;                                          //左屏列扫描信号输出
  75   2                      hang1=~pic[i];                  
  76   2                      hang2=~pic[i+32];                       //取反、行信号输出
  77   2                      delay();
  78   2                      hang1=0;
  79   2                      hang2=0;
  80   2              }
  81   1              CS1=1;                                                  //关左屏
  82   1              CS2=0;                                                  //开右屏
  83   1              for(j=0;j<16;j++)                               
  84   1              {               
  85   2                      lie=j<<4;;                                      //右屏列扫描信号输出
  86   2                      hang1=~pic[j+16];               
  87   2                      hang2=~pic[j+48];                       //取反、行信号输出
  88   2                      delay();
  89   2                      hang1=0;
  90   2                      hang2=0;
  91   2              }
  92   1      }
  93          
  94          /*****主程序*****/
  95          void main()
  96          {
  97   1              uchar i;
  98   1              while(1)
  99   1              {
 100   2                      for(i=0;i<80;i++)
 101   2                      {
 102   3                              display1();
 103   3                      }
 104   2                      for(i=0;i<80;i++)
 105   2                      {
 106   3                              display2();
 107   3                      }
 108   2              }
 109   1      }
 110          
 111          /*****END*****/
 112          /*****欢迎到作者博客交流:http://www.jiangx.net*****/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    180    ----
   CONSTANT SIZE    =     64    ----
C51 COMPILER V8.02   MAIN                                                                  10/14/2008 22:00:14 PAGE 3   

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