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

📄 led.lst

📁 一个集合DS18B20的多路温度测量系统,加上adc0809数据采集,加上1602液晶显示的综合数据处理系统,有较高学习价值.
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   LED                                                                   01/17/2007 05:33:06 PAGE 1   


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

line level    source

   1          #include "system.h"     
   2          #include <INTRINS.H>                              //为调用nop空指令需要
   3          
   4          
   5                     
   6          /*共阳极8段LED段码表:    "0"“1”“2”“3”“4”“5”“6”“7”“8”“9"*/
   7          char code ledtable[]   = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
   8          
   9          
  10          
  11          /*送译码器的三个值 能够实现译码 即驱动8个数码管*/
  12          sbit A     =    P3^4;                              
  13          sbit D     =    P3^2;                              
  14          sbit C     =    P3^3;
  15                             
  16          sbit E     =    P1^7;                                          //小数点的放置
  17          sbit DQ    =    P3^7;                                              //温度输入口 
  18          
  19          unsigned char data disv[2]      = {0x00,0x00};                  //存放ADC通道0的电压值                    
             -                                                                     //存放ADC通道1的电压值
  20          unsigned char data disa[3]      = {0x00,0x00,0x00};             //存放ADC通道1的电流值
  21          unsigned char data display[3]   = {0x00,0x00,0x00};                             //显示单元数据,共3个,一个运算符暂用
  22          
  23                                     
  24          #define  Disdata  P1
  25          
  26          
  27          
  28          void LedDisp(void)
  29          {
  30   1              static char place = 0;                          //place决定哪位数码管点亮  
  31   1              unsigned char ledout;                           //最终送往显示端口的数据
  32   1      
  33   1              
  34   1      //**************根据place的值扫描LED 8数码管********************        
  35   1              switch(place)
  36   1              {
  37   2                      case 0:
  38   2                              A  =  1;                                                   
  39   2                              D  =  1;                                                
  40   2                              C  =  1;
  41   2                              ledout   = 0xff;                
  42   2                              ledout   = ledtable[disv[0]];                  //提取出0的LED显示代码
  43   2                              Disdata  = ledout;                                              //送到P1端口上显示
  44   2                              if(power < 10)
  45   2                              {
  46   3                                      E = 0;
  47   3                              }
  48   2                              A  =  1;                                                   
  49   2                              D  =  1;                                                
  50   2                              C  =  1;
  51   2                              place = 1;                                                            //第1个数码显示完毕,转向2位显示
  52   2                              break;          
  53   2                      case 1:
  54   2                              A  =  1;                                                   
C51 COMPILER V8.02   LED                                                                   01/17/2007 05:33:06 PAGE 2   

  55   2                              D  =  1;                                                
  56   2                              C  =  1;
  57   2                              ledout   = 0xff;
  58   2                              ledout   = ledtable[disv[1]];                  //提取出0的LED显示代码
  59   2                              Disdata  = ledout;                                             //送到P1端口上显示
  60   2                              A  =  0;                                                   
  61   2                              D  =  1;                                                
  62   2                              C  =  1;
  63   2                              place = 2;                                                            //第2个数码显示完毕,转向3位显示
  64   2                              break;          
  65   2                      case 2:
  66   2                              A  =  0;                                                   
  67   2                              D  =  1;                                                
  68   2                              C  =  1;
  69   2                              ledout  = 0xff;
  70   2                              ledout  = ledtable[disa[0]];                   //提取出0的LED显示代码
  71   2                              Disdata = ledout;                                              //送到P1端口上显示
  72   2                              if(current < 10)
  73   2                              {
  74   3                                      E = 0;
  75   3                              }
  76   2                              A  =  1;                                                   
  77   2                              D  =  0;                                                
  78   2                              C  =  1;
  79   2                              place = 3;                                                             //第3个数码显示完毕,转向4位显示
  80   2                              break;  
  81   2                      case 3:
  82   2                              A  =  1;                                                   
  83   2                              D  =  0;                                                
  84   2                              C  =  1;
  85   2                              ledout  = 0xff;
  86   2                              ledout  = ledtable[disa[1]];                   //提取出0的LED显示代码
  87   2                              Disdata = ledout;                                              //送到P1端口上显示
  88   2                              if(current >= 10)
  89   2                              {
  90   3                                      E = 0;
  91   3                              }
  92   2                              A  =  0;                                                   
  93   2                              D  =  0;                                                
  94   2                              C  =  1;
  95   2                              place = 4;                                                             //第4个数码显示完毕,转向5位显示
  96   2                              break;  
  97   2                      case 4:
  98   2                              A  =  0;                                                   
  99   2                              D  =  0;                                                
 100   2                              C  =  1;
 101   2                              ledout  = 0xff;                 
 102   2                              ledout  = ledtable[disa[2]];                   //提取出0的LED显示代码
 103   2                              Disdata = ledout;                                              //送到P1端口上显示
 104   2                              A  =  1;                                                   
 105   2                              D  =  1;                                                
 106   2                              C  =  0;                                        
 107   2                              place = 5;                                                            //第5个数码显示完毕,转向6位显示
 108   2                              break;  
 109   2                      case 5:
 110   2                              A  =  1;
 111   2                              D  =  1;
 112   2                              C  =  0;
 113   2      /*                      if(n == 1)
 114   2                              {
 115   2                                      ledout = 0xff;
 116   2                                      Disdata = 0xbf;                            //写“-”
C51 COMPILER V8.02   LED                                                                   01/17/2007 05:33:06 PAGE 3   

 117   2                                      A  =  0;                                                   
 118   2                                      D  =  1;                                                

⌨️ 快捷键说明

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