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

📄 led7.lst

📁 51单片机C语言常用模块与综合系统设计实例精讲
💻 LST
字号:
C51 COMPILER V7.50   LED7                                                                  08/07/2006 10:58:51 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          /*  4个7段数码管锁存器地址     */
  16          #define LED1ADDR 0x8000
  17          #define LED2ADDR 0x8100
  18          #define LED3ADDR 0x8200
  19          #define LED4ADDR 0x8300
  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]={0xC0,0xF3,0x89,0xA1,0xB2,0xA4,0x84,0xF1,0x80,0xA0,0x90,0x86,0xCC,0x83,0x8C,0x9C
             -};
  24          /*  存放要显示的数字值 */
  25          unsigned char val[4];//
  26          
  27          
  28          /*  写锁存器的子程序  */
  29          void wraddr(unsigned int addr,unsigned char d)
  30          {       unsigned char xdata *pa;
  31   1      
  32   1              pa=(unsigned char  xdata *)addr;
  33   1              *pa=d;
  34   1      }
  35          /*  显示子程序  */
  36          void display(void)
  37          {       unsigned int addr[4]={LED1ADDR,LED2ADDR,LED3ADDR,LED4ADDR};
  38   1              int i;
  39   1      
  40   1              for(i=0;i<4;i++)
  41   1              {       if((val[i]>=0)&&(val[i]<=15))
  42   2                      {       wraddr(addr[i],ledcode[val[i]]);
  43   3                      }
  44   2                      else
  45   2                      {       wraddr(addr[i],0xff);
  46   3                      }
  47   2              }
  48   1      }
  49          /*  初始化子程序  */
  50          void init(void)
  51          {       wraddr(LED1ADDR,0XFF);
  52   1              wraddr(LED2ADDR,0XFF);
  53   1              wraddr(LED3ADDR,0XFF);
  54   1              wraddr(LED4ADDR,0XFF);
C51 COMPILER V7.50   LED7                                                                  08/07/2006 10:58:51 PAGE 2   

  55   1      //输入要显示的数值
  56   1              val[0]=1;
  57   1              val[1]=2;
  58   1              val[2]=3;
  59   1              val[3]=4;
  60   1      }
  61          /* 主程序入口  */
  62          int main(void)
  63          {       init();
  64   1      
  65   1              while(1)
  66   1              {       display();
  67   2              }
  68   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    139    ----
   CONSTANT SIZE    =      8    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     20       8
   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 + -