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

📄 7290_2.lst

📁 用89s52,访问ZLG7290(LED数码显示)
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V7.09   7290_2                                                                08/25/2004 15:37:04 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE 7290_2
OBJECT MODULE PLACED IN 7290_2.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE 7290_2.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include <math.h>
   3          #include <stdio.h>
   4          #include <absacc.h>
   5          #include <intrins.h>
   6          #include <string.h>
   7          #include <stdlib.h>
   8          #define  True     1
   9          #define  False    0
  10          #define  Ctop_temper    75
  11          #define  Cbottom_temper 18
  12          #define  Ftop_temper    167
  13          #define  Fbottom_temper 64
  14          #define  Hot_time       30
  15          #define  Pre_time       10
  16          /**********************************/
  17          #define  Slv7290        0x70
  18          #define  CmdBuf0        0x07
  19          #define  CmdBuf1        0x08
  20          #define  Dpram          0x10
  21          /**********************************/
  22          typedef unsigned char uchar;
  23          typedef unsigned int  uint;
  24          sfr WDTRST   = 0xA6;
  25          sbit Temper_add        = P1^0; // P0^0;
  26          sbit Temper_subb       = P3^5; // P0^1;
  27          sbit Time_add          = P0^3; // P0^2 ;
  28          sbit Time_subb         = P2^3; // P0^3;
  29          sbit Lamp_onoff        = P3^6; // P0^4;
  30          sbit Lamp              = P3^4; // P0^5;
  31          sbit Setup_lamp        = P2^6; // P0^6;
  32          sbit setup_led         = P2^6; // P0^6;
  33          sbit Precontract_lamp  = P2^7; // P0^7;
  34          
  35          sbit set_key   = P0^4; // P2^0;
  36          sbit Off_power = P2^2; // P2^1;
  37          sbit Choose_cf = P2^1; // P2^2; 
  38          sbit Hot_up    = P1^1; // P2^3;
  39          /**************** DS18B20 ********************/
  40          sbit TMDAT       = P1^2; // P2^4;    
  41          /**************** Max7219 ********************/
  42          sbit SCL         = P0^0; // P2^5;  
  43          sbit SDA         = P0^1; // P2^6;  
  44          /*********************************************/
  45          sbit Speak       = P1^3; // P1^0;
  46          sbit Precontract = P2^0; // P1^1;
  47          sbit Open_power  = P0^2; // P1^2;
  48          sbit LED         = P3^7; // P1^3;
  49          sbit Power_led   = P3^0;
  50          /* 定义调用子程序 */
  51          void  temperature(bit C_f);
  52          bit   tmreset(void);
  53          uchar readbyte(void);
  54          void  delay3(uint Tm_count);
  55          void  writebyte(uchar dat);
C51 COMPILER V7.09   7290_2                                                                08/25/2004 15:37:04 PAGE 2   

  56          uchar read_temper(bit C_F);
  57          void  tmstart(void);
  58          void  disp(uchar y3,bit id);
  59          
  60          void  sound(bit f,uchar i);
  61          void  delay(uchar i);
  62          void  Watch(void);
  63          uchar Zlg_read(uchar i);
  64          void  Zlg_write(uchar *p);
  65          void  Zlg_writebyte(uchar address,uchar i);
  66          void  shift8(uchar a);
  67          void  start(void);
  68          void  stop(void);
  69          void  SendByte(uchar c);
  70          void  delay_nop(void);
  71          void  ack(void);
  72          void  no_ack(void); 
  73          
  74          uchar TH0_T,TL0_T;
  75          bit   run;
  76          uint  V_ml;
  77          uchar bdata AD;
  78          sbit  AD_0=AD^0;
  79          sbit  AD_1=AD^1;
  80          sbit  AD_7=AD^7;
  81          bit   YesNo_ack;
  82          uchar now_temper = 20;
  83          uchar sys_1 ;
  84          uchar sys_2 ;
  85          uchar WriteBuf[3];
  86          /*********************/
  87          /*     演示主程序    */
  88          /*********************/
  89          
  90          void main()
  91          { uchar now_time , now_time2,count,Led_count;
  92   1        uchar system_count,top,bottom,Over_count;
  93   1        uchar *p;
  94   1        uint data1;
  95   1        bit CF;          /* 0=C,1=F */
  96   1        bit Set_flag,set_flag2,Over;
  97   1        uchar set_time = 0; /* work 时间 */
  98   1        uchar set_time2 = 0;/* no work */
  99   1        uchar set_temper = 42;
 100   1              YesNo_ack  = False ;
 101   1              top        = Ctop_temper;
 102   1                  bottom     = Cbottom_temper;
 103   1                      V_ml       = 0;                   
 104   1                  TH1        = 0xFA;
 105   1              TL1        = 0xFa;
 106   1              TH0_T      = 0;
 107   1              TL0_T      = 0;
 108   1                  CF         = False;
 109   1                      delay3(800);
 110   1                  ES           = True;
 111   1              run          = True;
 112   1              Set_flag     = False;
 113   1                  set_flag2    = True;
 114   1              now_time     = 0;
 115   1              now_time2    = 0;
 116   1                  system_count = 0;
 117   1                      count        = 0;
C51 COMPILER V7.09   7290_2                                                                08/25/2004 15:37:04 PAGE 3   

 118   1                      Led_count    = 0;
 119   1                      Over_count   = 0;
 120   1                      LED          = False;
 121   1              Over         = False;
 122   1                      Precontract_lamp = True;
 123   1                      Watch();
 124   1                      p = WriteBuf;
 125   1              WriteBuf[0] = 0x0d;
 126   1                      WriteBuf[1] = 5;
 127   1                      WriteBuf[2] = 0;
 128   1                      Zlg_write(p);
 129   1                      if ( sys_1==0x33 && sys_2==0x51 )  goto Power; 
 130   1                      sys_1       = 0x33;
 131   1              sys_2       = 0x51;
 132   1      
 133   1      /*****************************/
 134   1      while (Open_power)
 135   1                                        {
 136   2                                               Watch();
 137   2                                               V_ml = 0;
 138   2                                               TR0  = 0;
 139   2                                                       delay3(10);
 140   2      
 141   2                                        };
 142   1                                        while (!Open_power) { Watch(); };
 143   1              Power:            
 144   1                            sound(False,1);
 145   1                                        set_flag2    = True;
 146   1                                        LED          = True;
 147   1                                        Power_led    = False;
 148   1                                        
 149   1      /*****************************/
 150   1      
 151   1       while (1)
 152   1       {       
 153   2               Watch();
 154   2               SCON = 0x50;
 155   2               TMOD = 0x21; //TR1  = 1;
 156   2               EA   = 1; 
 157   2                       ET0  = 1;
 158   2               if (set_flag2) 
 159   2                       {
 160   3                              Led_count++;
 161   3                       }
 162   2                       if (Led_count >= 130)
 163   2                       {
 164   3                               LED = False;
 165   3                               Led_count = 0;
 166   3                                   set_flag2    = False;
 167   3                                   if (Set_flag) 
 168   3                                       {
 169   4                                  Set_flag = 0;  
 170   4                                                          Precontract_lamp = True;
 171   4                                                          Setup_lamp = True; 
 172   4                                                              system_count = 0;
 173   4                       } 
 174   3      
 175   3                       }
 176   2                       if (Lamp_onoff == False)    /* 开关灯控制 */
 177   2                       {
 178   3                                Lamp =~ Lamp; delay3(10);
 179   3                                        do { Watch(); }
C51 COMPILER V7.09   7290_2                                                                08/25/2004 15:37:04 PAGE 4   

 180   3                                        while (!Lamp_onoff);
 181   3                                        sound(False,1);
 182   3                                        Led_count = 0;
 183   3                                        LED = True;
 184   3                                        set_flag2    = True;
 185   3                       }
 186   2                       if (Off_power == False)    /* 开关控制 */
 187   2                       {
 188   3                     off:   delay3(10);
 189   3                                        now_time     = 0;
 190   3                        now_time2    = 0;
 191   3                            set_time     = 0;
 192   3                                        set_time2    = 0;
 193   3                            system_count = 0;
 194   3                                        count        = 0;
 195   3                                        Precontract_lamp = True;
 196   3                                        Setup_lamp   = True;
 197   3                                        Hot_up       = True;
 198   3                                        LED          = False;
 199   3                                        Power_led    = True;
 200   3                                        do { Watch(); }
 201   3                        while (!Off_power);
 202   3                                        sound(False,1);
 203   3                         p = WriteBuf;
 204   3                                         WriteBuf[0] = 0x10;
 205   3                                 WriteBuf[1] = 0;
 206   3                                 WriteBuf[2] = 0;
 207   3                                 Zlg_write(p);
 208   3                         WriteBuf[0] = 0x12;
 209   3                         Zlg_write(p);
 210   3                         WriteBuf[0] = 0x14;
 211   3                         Zlg_write(p);
 212   3                        while (Open_power)
 213   3                                        {
 214   4                                              
 215   4                              
 216   4                                              V_ml = 0;
 217   4                                              TR0  = 0;
 218   4                                                      delay3(200);
 219   4                                                  Watch(); 
 220   4                                        }
 221   3                                        do { Watch(); }
 222   3                                        while (!Open_power);
 223   3                                        sound(False,1);
 224   3                                        set_flag2    = True;
 225   3                                        LED          = True;
 226   3                                        Power_led    = False;  
 227   3                       }
 228   2               if (Choose_cf == False) /* 华氏与温度转换 */
 229   2                       { 
 230   3                                  CF  = ~CF ;
 231   3                                          delay3(10); 
 232   3                                              do { Watch(); }
 233   3                                              while (!Choose_cf); 

⌨️ 快捷键说明

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