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

📄 main.lst

📁 基于Keil uVision2平台的C51控制温度老化试验箱的源代码。 1、温度传感器采集温度 2、传感器信号传入 ADC电路 3、经AT89C52单片机的处理分析输出控制 4、通过继电器控制
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.02b   MAIN                                                                 01/10/2008 11:39:26 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          ////////////////////////////////////*/
   2          /*                                                                      */
   3          /*              Hot_Box                                         */
   4          /*              Version_2                                       */
   5          /*      AHTL_2007_11                    */
   6          /*                                                                      */
   7          /*                                                                      */
   8          /*              MAIN.C                                          */
   9          /*                                                                      */
  10          ////////////////////////////////////*/
  11          #include <reg52.h>
  12          #include <absacc.h>
  13          #include <intrins.h>
  14          #include "lcd.h"
  15          #include "key.h"
  16          #include "ad.h"
  17          #include "main.h"
  18          #include "eep.h"
  19          
  20          /*variable definition*/
  21          unsigned char press_l, press_h;
  22          //unsigned int  
  23          
  24          
  25          /*functions*/ 
  26          void init_system(void);
  27          void operat_mode(void);
  28          void window_operat(void);
  29          unsigned int sample(void);
  30          unsigned int ad2temp(unsigned int);
  31          void t_set(void);
  32          void t_run(void);
  33          /*-------------------------------------------------------------------------*/
  34          void init_system(void)
  35          {       
  36   1              ctrl_da=0;
  37   1      //      TMOD|=0x11;                     //T0:16bits Timer 
  38   1      //      TH0=TH0_20MS;
  39   1      //      TL0=TL0_20MS;
  40   1              ET0=1;
  41   1              EA=1;
  42   1              run=1;
  43   1              stop=0;
  44   1      
  45   1              ctrl_da=1;
  46   1              _nop_();
  47   1              _nop_();
  48   1              _nop_();
  49   1              ctrl_da=0;
  50   1              ctrl_da=1;
  51   1              s_clk=0;
  52   1      
  53   1          _init_display ();
  54   1              _disp_msge(0,0,"Temp. Controller");
  55   1          _disp_msge(1,0," AHTL   2006.11 ");
C51 COMPILER V7.02b   MAIN                                                                 01/10/2008 11:39:26 PAGE 2   

  56   1              _delay500us(200);
  57   1              _delay500us(200);    
  58   1          _delay500us(200);
  59   1              _delay500us(200);
  60   1              _delay500us(200);
  61   1              _delay500us(200);
  62   1              _delay500us(200);
  63   1              _delay500us(200);    
  64   1              _disp_msge(0,0," System Initial ");
  65   1          _disp_msge(1,0," AHTL   2006.11 ");
  66   1              _delay500us(200);
  67   1              _delay500us(200);    
  68   1          _delay500us(200);
  69   1              _delay500us(200);
  70   1              _delay500us(200);
  71   1              _delay500us(200);
  72   1              _delay500us(200);
  73   1              _delay500us(200);    
  74   1          _delay500us(200);
  75   1              _clear_display();
  76   1              if(_read_eep_byte(eep_ready)==0x25)
  77   1                      {
  78   2                      press_l=_read_eep_byte(eep_press_l );
  79   2                      press_h=_read_eep_byte(eep_press_h );
  80   2                      }
  81   1              else
  82   1                      {
  83   2                      press_l=40;
  84   2                      press_h=50;
  85   2                      _write_eep_byte(eep_press_l,40);
  86   2                      _write_eep_byte(eep_press_h,50);
  87   2                      _write_eep_byte(eep_ready,0x25);
  88   2                      }
  89   1      }
  90          /*--------------------------------------------------------*/
  91          void window_operat()
  92          {
  93   1              _clear_display();
  94   1              _disp_msge(0,0,"    Hot  Box    ");
  95   1              _disp_msge(1,0,"1:SET      2:RUN");
  96   1              _cursor_pos(1,0);
  97   1      }
  98          /*--------------------------------------------------------*/
  99          void operat_mode(void)
 100          {
 101   1              bit exit_flag=0;
 102   1              unsigned char r,c,old_r,old_c;
 103   1              c=0;
 104   1              r=1;
 105   1              while(!exit_flag)
 106   1              {
 107   2                      switch(_scan_key())
 108   2                      {
 109   3                              case KP_LEFT:
 110   3                                      switch (c)
 111   3                                      {
 112   4                                              case 0:
 113   4                                                      c=11;
 114   4                                                      break;
 115   4                                              case 11:
 116   4                                                      c=0;
 117   4                                                      break;
C51 COMPILER V7.02b   MAIN                                                                 01/10/2008 11:39:26 PAGE 3   

 118   4                                              default:
 119   4                                                      break;
 120   4                                      }
 121   3                                      _cursor_pos(r,c);
 122   3                                      break;
 123   3                              case KP_RIGHT:
 124   3                                      switch (c)
 125   3                                      {
 126   4                                              case 0:
 127   4                                                      c=11;
 128   4                                                      break;
 129   4                                              case 11:
 130   4                                                      c=0;
 131   4                                                      break;
 132   4                                              default:
 133   4                                                      break;
 134   4                                      }
 135   3                                      _cursor_pos(r,c);
 136   3                                      break;
 137   3                              case KP_ENTER:
 138   3                                      switch (c)
 139   3                                      {
 140   4                                              case 0:   
 141   4                                                      t_set();
 142   4                                                      old_c=c;
 143   4                                                      old_r=r;
 144   4                                                      _clear_display();
 145   4                                                      _disp_msge(0,0,"    Hot  Box    ");
 146   4                                                      _disp_msge(1,0,"1:SET      2:RUN");
 147   4                                                      c=old_c;
 148   4                                                      r=old_r;
 149   4                                                      _cursor_pos(r,c);
 150   4                                                      _cursor_sw(1);
 151   4                                                      break;
 152   4                                              case 11:
 153   4                                                      t_run();
 154   4                                                      old_c=c;
 155   4                                                      old_r=r;
 156   4                                                      _clear_display();
 157   4                                                      _disp_msge(0,0,"    Hot  Box    ");
 158   4                                                      _disp_msge(1,0,"1:SET      2:RUN");
 159   4                                                      c=old_c;
 160   4                                                      r=old_r;
 161   4                                                      _cursor_pos(r,c);
 162   4                                                      _cursor_sw(1);
 163   4                                                      break;
 164   4                                              default:
 165   4                                                      break;
 166   4                                      }
 167   3                                      break;
 168   3                              default:
 169   3                                      break;
 170   3                      }
 171   2              }  
 172   1      }
 173          /*--------------------------------------------------------*/
 174          void main (void)
 175          {
 176   1              init_system();  /*初始化系统*/
 177   1              while(1)
 178   1                      {
 179   2                      window_operat();
C51 COMPILER V7.02b   MAIN                                                                 01/10/2008 11:39:26 PAGE 4   

 180   2                      operat_mode();
 181   2                      }
 182   1      }
 183          /*--------------------------------------------------------*/
 184          unsigned int ad2temp(unsigned int val)                  //linear simulink in 4 parts
 185          {
 186   1          unsigned char temp;
 187   1              unsigned long val_long;
 188   1      
 189   1              val_long=val;
 190   1              val_long=val_long * 5000 / 1023;
 191   1              val=(unsigned int) val_long;
 192   1              if(val>1835)
 193   1                      temp=0;
 194   1              if(val<255)
 195   1                      temp=99;
 196   1              if((val<=1835)&&(val>=1025))
 197   1                      temp=(1835-val)/35+20;
 198   1          else        if((val<1025)&&(val>=605))
 199   1                                      temp=(1025-val)/25+43;    
 200   1                              else    if((val<605)&&(val>=395))
 201   1                                                              temp=(605-val)/15+60;  
 202   1                                      else    if((val<395)&&(val>=255))
 203   1                                                                      temp=(395-val)/10+74; 
 204   1              return temp;
 205   1      }
 206          /*--------------------------------------------------------*/
 207          void save_data()
 208          {
 209   1          _clear_display();
 210   1          _disp_msge(1,0," Save Paramater ");
 211   1          _delay500us(200);
 212   1          _delay500us(200);
 213   1          _delay500us(200);
 214   1          _clear_display();
 215   1      }
 216          /*--------------------------------------------------------*/
 217          void t_set(void)
 218          {
 219   1              unsigned char old_r,old_c,r,c;
 220   1              unsigned char num_l,num_h;
 221   1              bit exit_flag=0;
 222   1              
 223   1              _clear_display();
 224   1              _disp_msge(0,0,"SET             ");
 225   1              _disp_msge(1,0,"Low:xxC-High:xxC");
 226   1              _cursor_pos(1,4);
 227   1              num_l=press_l;
 228   1              num_h=press_h;
 229   1              _display_bit8(1,4,num_l);
 230   1              _display_bit8(1,13,num_h);
 231   1              r=1;
 232   1              c=4;
 233   1              _cursor_pos(r,c);
 234   1              _cursor_sw(1);
 235   1      
 236   1              while(!exit_flag)
 237   1                      {
 238   2                      switch(_scan_key())
 239   2                              {
 240   3                              case KP_EXIT:
 241   3                                      exit_flag=1;
C51 COMPILER V7.02b   MAIN                                                                 01/10/2008 11:39:26 PAGE 5   

 242   3                                      break;
 243   3                              case KP_MENU:
 244   3                                      exit_flag=1;
 245   3                                      break;
 246   3                              case KP_SAVE:
 247   3                                      old_r=r;
 248   3                                      old_c=c;
 249   3                                      press_h=num_h;
 250   3                                      press_l=num_l;

⌨️ 快捷键说明

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