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

📄 main.lst

📁 一个以前开发的实际应用的交通灯控制器程序
💻 LST
字号:
C51 COMPILER V7.50   MAIN                                                                  04/03/2007 10:38:50 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.obj
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE IIC[Ultral]\main.c BROWSE DEBUG OBJECTEXTEND PRINT(.\main.lst) OBJECT(main.
                    -obj)

line level    source

   1          // korfi: [3/7/2007]   
   2          // korfi [3/17/2007]:Version 2.0, I want it to be the foudation software of this product.
   3          //2007-3-21 9:48
   4          //2007-4-2 20:41 一个好的程序结构是很重要的
   5          //各司其职,合理重用
   6          #include "iic.h"
   7          
   8          #define REALTIME_H      0x0c//0.05s T2,自动重装
   9          #define REALTIME_L      0x00
  10          
  11          void main()
  12          {
  13   1              //unsigned int xdata lt;//,lt2;
  14   1              //unsigned char xdata k;
  15   1              EA=0;
  16   1      ////////////默认输出/////////////
  17   1              {
  18   2              OUT0=0x24^0xff;
  19   2              OUT1=0x55^0xff;
  20   2              OUT2=0x24^0xff;
  21   2              OUT3=0x24^0xff;
  22   2              OUT4=0x55^0xff;
  23   2              OUT5=0x24^0xff;
  24   2              OUT6=0xff^0xff;
  25   2              }
  26   1      /////////////CPU配置/////////////
  27   1              {
  28   2      //INT0
  29   2              //IT0=0;//边沿触发
  30   2              //EX0=0;//外中断0
  31   2      //UART
  32   2              TMOD=0x20;//+0x01;
  33   2              TR1=1;//TF1=0;
  34   2              TH1=0xfa;TL1=0xfa;////N=256-fosc/(32*12*fBd),fBd=4800,N=256-6
  35   2              PCON=0x00;
  36   2              SCON=0x50;//
  37   2              RI=0;TI=0;
  38   2              PS=1;//提高优先级
  39   2              REN=1;//允许接收
  40   2              TxEN=0;//
  41   2              ES=0;//暂时先不开通
  42   2      //PS2
  43   2              PS2_Init();
  44   2      //T2:T=(65536-x)*12/fosc,x=65536-T*fosc/12
  45   2              T2MOD=0x00;     //50ms  max=71.1ms
  46   2              RCAP2H=0x4c;//0x4c              0x00
  47   2              RCAP2L=0x00;//0x00              0x00
  48   2              TR2=1;
  49   2              ET2=1;  
  50   2      //
  51   2              EA=1;
  52   2              }
  53   1      /////////////启动装载////////////
  54   1              {
C51 COMPILER V7.50   MAIN                                                                  04/03/2007 10:38:50 PAGE 2   

  55   2      //设置载入
  56   2              MacAddr=EPR_Read(ADDR_MAC);
  57   2              LcdPowerOn();
  58   2              LcdInit();
  59   2      //
  60   2              temp=EPR_Read(ADDR_FIRST_USED);
  61   2              if(temp==0xff||__KF_DEBUG__)//korfi:使用这里来确定调试是否
  62   2              {//第一次使用
  63   3                      while(!__KF_DEBUG__)
  64   3                      {
  65   4                              WDT=1;
  66   4                              LcdCnString(1,1,"初次使用");
  67   4                              LcdCnString(2,1,"输入密码");
  68   4                              GetPassWord(3,2);
*** WARNING C206 IN LINE 68 OF IIC[ULTRAL]\MAIN.C: 'GetPassWord': missing function-prototype
*** ERROR C267 IN LINE 68 OF IIC[ULTRAL]\MAIN.C: 'GetPassWord': requires ANSI-style prototype
  69   4                              if(AppBuf[0]==12)&&(AppBuf[1]==34))
*** ERROR C202 IN LINE 69 OF IIC[ULTRAL]\MAIN.C: 'AppBuf': undefined identifier
*** ERROR C141 IN LINE 69 OF IIC[ULTRAL]\MAIN.C: syntax error near '&&'
*** ERROR C202 IN LINE 69 OF IIC[ULTRAL]\MAIN.C: 'AppBuf': undefined identifier
*** ERROR C141 IN LINE 69 OF IIC[ULTRAL]\MAIN.C: syntax error near ')'
  70   4                              {
  71   5                                      PswCnt=SYS_AUTO_LOCK_TIME;
  72   5                                      break;
  73   5                              }
  74   4                      }
  75   3                      if(!__KF_DEBUG__)
  76   3                              EPR_Write(ADDR_FIRST_USED,0xaa);
  77   3                      //初始化所有信息
  78   3                      LcdCnString(1,3,"初始化");
  79   3                      RTC_FirstInit();//RTC
  80   3                      //EEPROM
  81   3                      EPR_Reset();
  82   3              }
  83   2              else
  84   2              {
  85   3                      RTC_GeneralInit();
  86   3              }
  87   2              }
  88   1      /////////////启动延时////////////
  89   1              {       
  90   2              LcdCnString(1,2,"启动延时");
  91   2              KeyVal=5;//借用一下变量
  92   2              while(KeyVal)
  93   2              {
  94   3                      if(SecondFlag)
  95   3                      {
  96   4                              KeyVal-=1;
  97   4                              SecondFlag=0;
  98   4                      }
  99   3              }
 100   2              }
 101   1      /////////////监视模块/////////////      
 102   1              DeskTopFlag=1;
 103   1              LcdInit();
 104   1              ShowDesk();//显示桌面
 105   1              HourUpdate();
 106   1              while(1)
 107   1              {
 108   2                      /////按键
 109   2                      KeyVal=GetKey();
 110   2                      if ((KeyVal!=KEY_NOKEY)) 
C51 COMPILER V7.50   MAIN                                                                  04/03/2007 10:38:50 PAGE 3   

 111   2                      {//按键监视
 112   3                              AutoLockCnt=SYS_LCD_OFF_TIME;
 113   3                              if(!LcdPowerFlag)//掉电则先上电
*** ERROR C202 IN LINE 113 OF IIC[ULTRAL]\MAIN.C: 'LcdPowerFlag': undefined identifier
 114   3                                      LcdPowerOn();
 115   3                              switch(KeyVal) 
 116   3                              {
 117   4                                      case KEY_ENTER:
 118   4                                              if((!DeskTopFlag)&&(!PswLock))
*** ERROR C202 IN LINE 118 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
 119   4                                                      OnEnter();
 120   4                                              break;
 121   4                                      case KEY_UP:
 122   4                                      case KEY_LEFT:
 123   4                                              if((!DeskTopFlag)&&(!PswLock))
*** ERROR C202 IN LINE 123 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
 124   4                                                      OnArrowUp();
 125   4                                              break;
 126   4                                      case KEY_DOWN:
 127   4                                      case KEY_RIGHT:
 128   4                                              if((!DeskTopFlag)&&(!PswLock))
*** ERROR C202 IN LINE 128 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
 129   4                                                      OnArrowDown();
 130   4                                              break;
 131   4                                      case KEY_BKSPACE:
 132   4                                      case KEY_CANCEL:
 133   4                                              if((!DeskTopFlag)&&(!PswLock))
*** ERROR C202 IN LINE 133 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
 134   4                                                      OnCancel();
 135   4                                              break;
 136   4                                      case KEY_MENU:
 137   4                                              OnMenuKey();
 138   4                                      default:
 139   4                                              ;
 140   4                              }
 141   3                      }
 142   2      
 143   2                      if (NewPackage)
 144   2                      {//接收到通讯新包
 145   3                              CmdProcess(); 
 146   3                              NewPackage=0;
 147   3                      }
 148   2                      
 149   2                      if(SecondFlag)
 150   2                      {//每秒响应一次
 151   3                              {//自动键盘锁定监视
 152   4                              if(AutoLockCnt>0)
 153   4                                      AutoLockCnt-=1;
 154   4                              if((!PswLock)&&(AutoLockCnt<(SYS_LCD_OFF_TIME-SYS_AUTO_LOCK_TIME)))
*** ERROR C202 IN LINE 154 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
 155   4                              {//自动锁定
 156   5                                      PswLock=1;
*** ERROR C202 IN LINE 156 OF IIC[ULTRAL]\MAIN.C: 'PswLock': undefined identifier
 157   5                                      DeskTopFlag=1;
 158   5                              }
 159   4                              if((LcdPowerFlag)&&(AutoLockCnt==0))
*** ERROR C202 IN LINE 159 OF IIC[ULTRAL]\MAIN.C: 'LcdPowerFlag': undefined identifier
 160   4                              {//Lcd断电
 161   5                                      LcdPowerOff();
 162   5                                      LcdPowerFlag=0;//掉电
*** ERROR C202 IN LINE 162 OF IIC[ULTRAL]\MAIN.C: 'LcdPowerFlag': undefined identifier
 163   5                              }
C51 COMPILER V7.50   MAIN                                                                  04/03/2007 10:38:50 PAGE 4   

 164   4                              }
 165   3                              
 166   3                              if(DeskTopFlag && LcdPowerFlag)
*** ERROR C202 IN LINE 166 OF IIC[ULTRAL]\MAIN.C: 'LcdPowerFlag': undefined identifier
 167   3                                      ShowDesk();
 168   3                              SecondCheck();//状态切换
 169   3      
 170   3                              if(SwitchFlag)
 171   3                              {//是否需要更新EEPROM
 172   4                                      if(EPRChangeFlag)
*** ERROR C202 IN LINE 172 OF IIC[ULTRAL]\MAIN.C: 'EPRChangeFlag': undefined identifier
 173   4                                      {
 174   5                                              EPR_CopyPage();//只能在主循环中出现拷贝现象
 175   5                                              HourUpdate();//重新搜索相组关系
 176   5                                              PhaseSwitch();//重新装入相位属性
 177   5                                              EPRChangeFlag=0;
*** ERROR C202 IN LINE 177 OF IIC[ULTRAL]\MAIN.C: 'EPRChangeFlag': undefined identifier
 178   5                                      }
 179   4                                      SwitchFlag=0;
 180   4                              }
 181   3                              
 182   3                              SecondFlag=0;
 183   3                      }
 184   2              }
 185   1      }
 186          
 187          /////////////////中断服务///////////
 188          //UART_ISR()在UART.c中
 189          //PS2_RecChar()在PS2.c中
 190          
 191          void Timer2() interrupt INT_SOURCE_T2
 192          {
 193   1      //自动重装计时:50ms
 194   1              if(RealTimeCnt>1)
*** ERROR C202 IN LINE 194 OF IIC[ULTRAL]\MAIN.C: 'RealTimeCnt': undefined identifier
 195   1                      RealTimeCnt--;
*** ERROR C202 IN LINE 195 OF IIC[ULTRAL]\MAIN.C: 'RealTimeCnt': undefined identifier
 196   1              else
 197   1              {
 198   2                      RealTimeCnt=20;
*** ERROR C202 IN LINE 198 OF IIC[ULTRAL]\MAIN.C: 'RealTimeCnt': undefined identifier
 199   2                      SecondFlag=1;
 200   2              }
 201   1              
 202   1              if(DelayCnt)//延时用的变量
*** ERROR C202 IN LINE 202 OF IIC[ULTRAL]\MAIN.C: 'DelayCnt': undefined identifier
 203   1                      DelayCnt--;
*** ERROR C202 IN LINE 203 OF IIC[ULTRAL]\MAIN.C: 'DelayCnt': undefined identifier
 204   1      }

C51 COMPILATION COMPLETE.  1 WARNING(S),  22 ERROR(S)

⌨️ 快捷键说明

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