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

📄 led595.lst

📁 用单片机控制的595和138点阵LED
💻 LST
字号:
C51 COMPILER V7.50   LED595                                                                03/18/2006 16:57:53 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE LED595
OBJECT MODULE PLACED IN led595.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE led595.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /**************************************/
   2          /*我的第一个LED显示程序,请高手多指点 */
   3          /*程序功能:用两个点阵LED顺序显示0-9  */
   4          /*作者:邓国明                                            */
   5          /*地址:厦门大学机电工程系03级        */
   6          /*Email:gmdengxm@163.com                         */
   7          /**************************************/
   8          
   9          
  10          #include <REG51.H>
  11          #define uchar unsigned char
  12          #define uint unsigned int
  13          
  14          
  15          /*******************数字点阵**************/
  16          uchar code      shuzi[10][16] =
  17          {
  18          {0x00,0x00,0x10,0x20,0x10,0x20,0xF8,0x3F,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00},        //"1",0
  19          
  20          {0x00,0x00,0x70,0x30,0x08,0x28,0x08,0x24,0x08,0x22,0x88,0x21,0x70,0x30,0x00,0x00},        //"2",1
  21          
  22          {0x00,0x00,0x30,0x18,0x08,0x20,0x88,0x20,0x88,0x20,0x48,0x11,0x30,0x0E,0x00,0x00},        //"3",2
  23          
  24          {0x00,0x00,0x00,0x07,0xC0,0x04,0x20,0x24,0x10,0x24,0xF8,0x3F,0x00,0x24,0x00,0x00},        //"4",3
  25          
  26          {0x00,0x00,0xF8,0x19,0x08,0x21,0x88,0x20,0x88,0x20,0x08,0x11,0x08,0x0E,0x00,0x00},        //"5",4
  27          
  28          {0x00,0x00,0xE0,0x0F,0x10,0x11,0x88,0x20,0x88,0x20,0x18,0x11,0x00,0x0E,0x00,0x00},        //"6",5
  29          
  30          {0x00,0x00,0x38,0x00,0x08,0x00,0x08,0x3F,0xC8,0x00,0x38,0x00,0x08,0x00,0x00,0x00},        //"7",6
  31          
  32          {0x00,0x00,0x70,0x1C,0x88,0x22,0x08,0x21,0x08,0x21,0x88,0x22,0x70,0x1C,0x00,0x00},        //"8",7
  33          
  34          {0x00,0x00,0xE0,0x00,0x10,0x31,0x08,0x22,0x08,0x22,0x10,0x11,0xE0,0x0F,0x00,0x00},        //"9",8
  35          
  36          {0x00,0x00,0xE0,0x0F,0x10,0x10,0x08,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00}        //"0",9
  37          
  38          };
  39          /*********************汉字点阵*******************/
  40          
  41          
  42          
  43          /********************位口定义*******************/
  44          sbit P17 = P1^7;
  45          
  46          
  47          /********************变量定义********************/
  48          
  49          uint delayi,delayj,rxdi,i,j,k,n,m;              //delayi,delayj,n 延时函数变量。rxdi为串行口输出变量
  50                                                                                                  //i,j,k,m输出控制变量
  51          
  52          
  53          /********************函数声明*******************/
  54          void delay(uint n);                                     //不精确延时函数,延时n ms
  55          void rxdout(uchar *d);                          //串行口输出函数
C51 COMPILER V7.50   LED595                                                                03/18/2006 16:57:53 PAGE 2   

  56          
  57          
  58          
  59          
  60          /*******************主函数**********************/
  61          
  62          void main()
  63          {
  64   1              SCON = 0x00;            //串行口方式0,RXD输出数据,TXD输出脉冲
  65   1              while(1)
  66   1              {
  67   2      
  68   2                      for( i = 0; i < 10; i++)                        //数字显示
  69   2                      {
  70   3                              for(k = 0; k < 10; k++)
  71   3                              {
  72   4                                      for((m = 0, j = 0); j < 16; j += 2)
  73   4                                      {
  74   5      
  75   5                                              P17 = 0;                                //P17口为595锁存
  76   5                                              rxdout(&shuzi[i][j]);
  77   5                                              rxdout(&shuzi[i][j+1]);
  78   5                                              P17 = 1;                                //595上升沿锁存数据
  79   5                                              P1 = m;                                 //行驱动
  80   5                                              ++m;
  81   5                                              delay(1);                               //延时200微秒
  82   5                                      }
  83   4                              }
  84   3                              delay(200);                                             //延时准备显示下一个数字
  85   3                              delay(200);
  86   3                              delay(200);
  87   3                      }
  88   2              }
  89   1      }
  90          
  91          
  92          
  93          
  94          /*******************子函数定义*********************/
  95          
  96          void delay(uint n)                      //不精确延时,12MHz延时大约(200+3)*n微秒
  97          {       
  98   1      
  99   1              for( ; n > 0; n--)
 100   1              {
 101   2                      for(delayi = 0; delayi < 100; delayi++)      
 102   2                      {
 103   3                              ;
 104   3                      }
 105   2              }
 106   1      }
 107          
 108          void rxdout(uchar *d)           //串行口输出
 109          {
 110   1              SBUF = *d;
 111   1              while(TI == 0);
 112   1              TI = 0;
 113   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    208    ----
C51 COMPILER V7.50   LED595                                                                03/18/2006 16:57:53 PAGE 3   

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