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

📄 led7.lst

📁 51单片机C语言常用模块与综合系统设计实例精讲
💻 LST
字号:
C51 COMPILER V7.50   LED7                                                                  08/16/2006 10:21:01 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE LED7
OBJECT MODULE PLACED IN led7.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE led7.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /***************************************************
   2          7段数码管动态显示程序
   3          ***************************************************/
   4          #include <reg52.h>
   5          #include <stdio.h>
   6          #include <stdlib.h>
   7          #include <absacc.h>
   8          #include <ctype.h>                   
   9          #include <string.h>
  10          #include <stddef.h>
  11          #include <intrins.h>
  12          #include <absacc.h>
  13          #include <stdarg.h>
  14          
  15          
  16          #define TIMER0H 0xc4;
  17          #define TIMER0L 0x00;
  18          /*   7段数码管锁存器地址     */
  19          #define LEDADDR 0x8000
  20          
  21          // 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
  22          /*  0-9 a-f 的7段数码管显示编码  */
  23          unsigned char ledcode[16]={0x3F,0x0C,0x76,0x5E,0x4D,0x5B,0x7B,0x0E,0x7F,0x5F,0x6F,0x79,0x33,0x7C,0x73,0x63
             -};
  24          /*  存放要显示的数字值 */
  25          unsigned char val[4];//
  26          unsigned currled;
  27          
  28          
  29          /*  写锁存器的子程序  */
  30          void wraddr(unsigned int addr,unsigned char d)
  31          {       unsigned char xdata *pa;
  32   1      
  33   1              pa=(unsigned char  xdata *)addr;
  34   1              *pa=d;
  35   1      }
  36          /*  显示子程序  */
  37          void display(void)
  38          {       
  39   1              unsigned char en[4]={1,2,4,8};
  40   1      
  41   1      
  42   1              if((val[currled]>=0)&&(val[currled]<=15))
  43   1              {       wraddr(LEDADDR,ledcode[val[currled]]);
  44   2                      P1=en[currled];
  45   2              }
  46   1              else
  47   1              {       wraddr(LEDADDR,0x00);
  48   2                      P1=en[currled];
  49   2              }
  50   1              if((currled>=0)&&(currled<3))
  51   1              {       currled++;
  52   2              }
  53   1              else
  54   1              {       currled=0;
C51 COMPILER V7.50   LED7                                                                  08/16/2006 10:21:01 PAGE 2   

  55   2              }
  56   1      }
  57          void time0(void) interrupt 1 
  58          {       display();
  59   1              TL0 = TIMER0L;
  60   1              TH0 = TIMER0H;
  61   1      }
  62          /*  初始化子程序  */
  63          void init(void)
  64          {       
  65   1      //timer0 init
  66   1              TL0 = TIMER0L;
  67   1              TH0 = TIMER0H;
  68   1              TR0=1;
  69   1              ET0=1;//test
  70   1      
  71   1      
  72   1      // irq init
  73   1              EX0=0;
  74   1              IT0=0;
  75   1              EX1=0;  
  76   1              IT1=0;
  77   1      
  78   1              EA=1;
  79   1      //输入要显示的数值
  80   1              val[0]=1;
  81   1              val[1]=2;
  82   1              val[2]=3;
  83   1              val[3]=4;
  84   1              currled=0;
  85   1      }
  86          /* 主程序入口  */
  87          int main(void)
  88          {       init();
  89   1      
  90   1              while(1)
  91   1              {               
  92   2              }
  93   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    209    ----
   CONSTANT SIZE    =      4    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     22       4
   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 + -