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

📄 main.lst

📁 监控行业车辆检测器源代码
💻 LST
字号:
C51 COMPILER V8.05a   MAIN                                                                 12/24/2008 15:18:11 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c ROM(COMPACT) DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include "STC12C5410AD.h"
   3          #include "app.h"
   4          #include <string.h>
   5          #include <stdio.h>
   6          #include <INTRINS.H>
   7          #include <MATH.H>
   8          
   9          
  10          extern void SystemInit(void);
  11          
  12          extern void delay_n_ms( unsigned int n_milisecond) ;
  13          
  14          
  15          extern unsigned char UartBuffer[20];
  16          extern unsigned char uartflag;   // 接收完成一帧标志以及接收了多少字节;
  17          
  18          
  19          extern void UartPrintOut(unsigned char  *pData,unsigned char size);
  20          extern void UartPrintOutByte(unsigned char byte);
  21          
  22          extern bit FLAG;
  23          
  24          
  25          extern  unsigned int  MainCount;
  26          extern unsigned char getkey();
  27          extern  unsigned int  SaveFos ;
  28          
  29          // 注意在应用程序中不要使用printf函数,因为它运行时间长,并且会关闭中断;
  30          // 记得吧9012换成MMBT4403 开关三极管
  31           unsigned char KEY=0;
  32          main()
  33          
  34          {   
  35   1          delay_n_ms(1000); 
  36   1              
  37   1      
  38   1          SystemInit();       //系统初始化
  39   1      
  40   1              EA = 1 ;  
  41   1      
  42   1              RED_LED = 0;
  43   1              GREEN_LED = 1;
  44   1        
  45   1              WDT_CONTR = 0x3c;      //使能看门狗      ,1.25S
  46   1      
  47   1              while(!FLAG);
  48   1              FLAG =0;
  49   1      
  50   1              SaveFos = MainCount ;
  51   1              MainCount =0;
  52   1      
  53   1              RED_LED = 1;
  54   1      
  55   1              TR0 = 1;
C51 COMPILER V8.05a   MAIN                                                                 12/24/2008 15:18:11 PAGE 2   

  56   1              EX0 = 1;           //启动外部中断
  57   1      
  58   1              while(1)
  59   1              {
  60   2                  WDT_CONTR = 0x3c;      //使能看门狗  ,1.25S
  61   2      //              
  62   2             
  63   2                      if(FLAG)
  64   2                       {
  65   3                              FLAG =0;
  66   3      
  67   3      
  68   3                          UartPrintOutByte(0XAA);
  69   3                              // 开定时器0
  70   3              
  71   3                      UartPrintOutByte(SaveFos>>8);
  72   3                          UartPrintOutByte(SaveFos&0x00ff);
  73   3      
  74   3                              UartPrintOutByte(MainCount>>8);
  75   3                              UartPrintOutByte(MainCount&0x00ff);
  76   3      
  77   3                              KEY = getkey();
  78   3      //                  UartPrintOutByte(KEY);
  79   3      
  80   3                              // 说明没有连接上地感线圈
  81   3                              if( (MainCount>100)&&(MainCount<400) )
  82   3                              {
  83   4                                      RED_LED = ~     RED_LED;
  84   4                                      delay_n_ms(1500);
  85   4                              }
  86   3                      switch(KEY)
  87   3                              {
  88   4                                case 0x09:
  89   4                                     if(abs(MainCount-SaveFos)>5)
  90   4                                      {
  91   5                                            RED_LED = 0;
  92   5                                                GREEN_LED = 1;
  93   5                                                OPEN = 0;
  94   5                                                                                                    
  95   5                                      }
  96   4                                              else
  97   4                                              {
  98   5                                                 RED_LED = 1;
  99   5                                                 GREEN_LED = 0;
 100   5                                                 OPEN = 1;
 101   5                                              }
 102   4                                         delay_n_ms(100);
 103   4                                     break;
 104   4                                case 0x08:
 105   4                                     if(abs(MainCount-SaveFos)>10)
 106   4                                      {
 107   5                                            RED_LED = 0;
 108   5                                                GREEN_LED = 1;
 109   5                                                OPEN = 0;
 110   5                                            
 111   5                                      }
 112   4                                              else
 113   4                                              {
 114   5                                                 RED_LED = 1;
 115   5                                                GREEN_LED = 0;
 116   5                                                OPEN = 1;
 117   5                                              }
C51 COMPILER V8.05a   MAIN                                                                 12/24/2008 15:18:11 PAGE 3   

 118   4                                              delay_n_ms(100);
 119   4                                     break;
 120   4                                case 0x07:
 121   4                                     if(abs(MainCount-SaveFos)>20)
 122   4                                      {
 123   5                                            RED_LED = 0;
 124   5                                                GREEN_LED = 1;
 125   5                                                OPEN = 0;
 126   5                                            
 127   5                                      }
 128   4                                              else
 129   4                                              {
 130   5                                                 RED_LED = 1;
 131   5                                                GREEN_LED = 0;
 132   5                                                OPEN = 1;
 133   5                                              }
 134   4                                              delay_n_ms(100);
 135   4                                     break;
 136   4                                case 0x06:
 137   4                                     if(abs(MainCount-SaveFos)>40)
 138   4                                      {
 139   5                                            RED_LED = 0;
 140   5                                                GREEN_LED = 1;
 141   5                                                OPEN = 0;
 142   5                                            
 143   5                                      }
 144   4                                              else
 145   4                                              {
 146   5                                                 RED_LED = 1;
 147   5                                                GREEN_LED = 0;
 148   5                                                OPEN = 1;
 149   5                                              }
 150   4                                              delay_n_ms(100);
 151   4                                     break;
 152   4                                case 0x05:
 153   4                                     if(abs(MainCount-SaveFos)>80)
 154   4                                      {
 155   5                                            RED_LED = 0;
 156   5                                                GREEN_LED = 1;
 157   5                                                OPEN = 0;
 158   5                                            
 159   5                                      }
 160   4                                              else
 161   4                                              {
 162   5                                                 RED_LED = 1;
 163   5                                                GREEN_LED = 0;
 164   5                                                OPEN = 1;
 165   5                                              }
 166   4                                              delay_n_ms(100);
 167   4                                     break;
 168   4                                case 0x04:
 169   4                                     if(abs(MainCount-SaveFos)>120)
 170   4                                      {
 171   5                                            RED_LED = 0;
 172   5                                                GREEN_LED = 1;
 173   5                                                OPEN = 0;
 174   5                                            
 175   5                                      }
 176   4                                              else
 177   4                                              {
 178   5                                                 RED_LED = 1;
 179   5                                                GREEN_LED = 0;
C51 COMPILER V8.05a   MAIN                                                                 12/24/2008 15:18:11 PAGE 4   

 180   5                                                OPEN = 1;
 181   5                                              }
 182   4                                              delay_n_ms(100);
 183   4                                     break;
 184   4                                case 0x03:
 185   4                                     if(abs(MainCount-SaveFos)>180)
 186   4                                      {
 187   5                                            RED_LED = 0;
 188   5                                                GREEN_LED = 1;
 189   5                                                OPEN = 0;
 190   5                                            
 191   5                                      }
 192   4                                              else
 193   4                                              {
 194   5                                                 RED_LED = 1;
 195   5                                                GREEN_LED = 0;
 196   5                                                OPEN = 1;
 197   5                                              }
 198   4                                              delay_n_ms(100);
 199   4                                     break;
 200   4                                case 0x02:
 201   4                                     if(abs(MainCount-SaveFos)>250)
 202   4                                      {
 203   5                                            RED_LED = 0;
 204   5                                                GREEN_LED = 1;
 205   5                                                OPEN = 0;
 206   5                                            
 207   5                                      }
 208   4                                              else
 209   4                                              {
 210   5                                                 RED_LED = 1;
 211   5                                                GREEN_LED = 0;
 212   5                                                OPEN = 1;
 213   5                                              }
 214   4                                              delay_n_ms(100);
 215   4                                     break;
 216   4                                case 0x01:
 217   4                                     if(abs(MainCount-SaveFos)>320)
 218   4                                      {
 219   5                                            RED_LED = 0;
 220   5                                                GREEN_LED = 1;
 221   5                                                OPEN = 0;
 222   5                                            
 223   5                                      }
 224   4                                              else
 225   4                                              {
 226   5                                                RED_LED = 1;
 227   5                                                GREEN_LED = 0;
 228   5                                                OPEN = 1;
 229   5                                              }
 230   4                                              delay_n_ms(100);
 231   4                                     break;
 232   4                                case 0x00:
 233   4                                     if(abs(MainCount-SaveFos)>450)
 234   4                                      {
 235   5                                            RED_LED = 0;
 236   5                                                GREEN_LED = 1;
 237   5                                                OPEN = 0;
 238   5                                            
 239   5                                      }
 240   4                                              else
 241   4                                              {
C51 COMPILER V8.05a   MAIN                                                                 12/24/2008 15:18:11 PAGE 5   

 242   5                                                 RED_LED = 1;
 243   5                                                GREEN_LED = 0;
 244   5                                                OPEN = 1;
 245   5                                              }
 246   4                                              delay_n_ms(100);
 247   4                                     break;
 248   4                                default:break;        
 249   4                              }
 250   3                          TH0 = 0xdb;
 251   3                      TL0 = 0xe0;
 252   3                  TR0 = 1;
 253   3                              EX0 = 1;           //启动外部中断
 254   3                              ET0 = 1;
 255   3                      
 256   3                       }
 257   2              
 258   2              };
 259   1      
 260   1      }
 261          


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