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

📄 scan_led.lst

📁 一款很好用的LED扫描例程,绝对可以使用.程序简明扼要,易理解,初学者可仔细体会.
💻 LST
字号:
C51 COMPILER V7.20   SCAN_LED                                                              11/01/2005 10:55:20 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE SCAN_LED
OBJECT MODULE PLACED IN .\scan_led.obj
COMPILER INVOKED BY: D:\program\keil7.0\C51\BIN\C51.EXE ..\2051\scan_led.c BROWSE DEBUG OBJECTEXTEND PRINT(.\scan_led.ls
                    -t) OBJECT(.\scan_led.obj)

line level    source

   1          #include "hardware.h"
   2          #include <stdio.h>
   3          #include <intrins.h>
   4          
   5          //unsigned char data RECEIVE_DATA[5][3];//={{,,},{,,},{,,},{,,},{,,}};//?????????????????????????????????
             -??
   6          //unsigned char code  LED[10]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
   7          unsigned long data i=0;
   8          //unsigned char data receivedata;
   9          unsigned char data LED_TMP[15];//={0x03,0x00,0x01,0x03,0x00,0x01,0x03,0x00,0x01,0x03,0x00,0x01,0x03,0x00,0
             -x01};
  10          void RECEVIE();
  11          void SCAN_LED();
  12          void delay05ms();
  13          extern void initial89c2051();
  14          
  15          //====================================
  16          extern void DIG1();
  17          extern void DIG2();
  18          extern void DIG3();
  19          extern void DIG4();
  20          extern void DIG5();
  21          extern void DIG6();
  22          extern void DIG7();
  23          extern void DIG8();
  24          extern void DIG9();
  25          extern void DIG10();
  26          extern void DIG11();
  27          extern void DIG12();
  28          extern void DIG13();
  29          extern void DIG14();
  30          extern void DIG15();
  31          //=======================================================
  32          
  33          
  34          typedef void (*pf)();//控制端数组指针
  35          pf p1[15]={DIG1,DIG2,DIG3,DIG4,DIG5,DIG6,DIG7,DIG8,DIG9,DIG10,DIG11,DIG12,DIG13,DIG14,DIG15}; 
  36          
  37          
  38          
  39          
  40          //unsigned char *p2=RECEIVE_DATA;
  41          
  42          
  43          void RECEVIE(void)      interrupt 4 
  44          {
  45   1                      
  46   1                      if(RI)
  47   1                      LED_TMP[i]=SBUF;
  48   1              //      receivedata=SBUF;
  49   1              //RECEIVE_DATA[i][j]=SBUF;
  50   1                      RI=0;
  51   1                      i++;
  52   1                      if(i>=15)
C51 COMPILER V7.20   SCAN_LED                                                              11/01/2005 10:55:20 PAGE 2   

  53   1                              i=0;
  54   1              
  55   1      }
  56          
  57          void SCAN_LED()
  58          {
  59   1              unsigned char dig=0,k=0;
  60   1      //      for(i=0;i<5;i++)
  61   1      //      for(j=0;j<3;j++)
  62   1      
  63   1              for(k=0;k<15;k++)
  64   1                      {
  65   2                              (p1[dig])();//控制端阳极先选中
  66   2                              P1=LED_TMP[k];//段码由P1端口送出//译成段码.从LED表中取出段码//??????????????????????????
  67   2                      //      P1=receivedata;//test
  68   2                              dig++;
  69   2                              while(dig==15)
  70   2                              dig=0;
  71   2                      
  72   2                              delay05ms();//
  73   2                              P1=0xff;//消隐
  74   2                      
  75   2                      }
  76   1              
  77   1      }
  78          
  79          void delay05ms()
  80          {
  81   1              unsigned char i,j;
  82   1              for(i=0;i<2;i++)
  83   1              for(j=0;j<125;j++)
  84   1              {
  85   2                      _nop_();
  86   2              }
  87   1      }
  88          
  89          void main()
  90          {
  91   1              initial89c2051();
  92   1      
  93   1              while(1)
  94   1              {
  95   2                      SCAN_LED();
  96   2              //      t++;
  97   2              //      if(t>100)
  98   2              //      {       
  99   2              //              t=0;
 100   2                      //      t++;
 101   2                      //      t=t % 10;
 102   2              //      }       
 103   2              }
 104   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    204    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     64       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
C51 COMPILER V7.20   SCAN_LED                                                              11/01/2005 10:55:20 PAGE 3   

END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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