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

📄 carport.lst

📁 改程序代码是运用Keil uVision3软件编写的C程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   CARPORT                                                              12/22/2008 17:43:36 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE CARPORT
OBJECT MODULE PLACED IN carport.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE carport.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /***************************************
   2          功能:立体车库上位机控制主程序
   3          文件名:carport.c
   4          硬件:AT89S52
   5          编译人:肖强
   6          编译:Keil-2008-12-9
   7          ****************************************/
   8          #include<reg52.h>
   9          #include<Up_control.h>
  10          #include<KEY_scan.h>
  11          #include<LCD_menu.h>
  12          #define uchar unsigned char
  13          #define uint unsigned char
  14          
  15          uchar KEY_data_1;         //键盘输入高位数据
  16          uchar KEY_data_2;         //键盘输入低位数据
  17          uchar Reci;                       //下位机执行完成
  18          bit  KEY_OK;
  19          bit  KEY_ESC;
  20          bit  Data_complit=0;
  21          void delay(unsigned char y);
  22          void int_string_com(void);                 //串口初始化函数
  23          uchar Data_sent(void);             //有用数据发送
  24          uchar senddate();//握手和数据传输 及检测传输是否正确;
  25          void main(void)
  26          {
  27   1              uchar Send_data,GET_ok,delay_i;
  28   1              uchar ch;
  29   1              Start_Piture(0,0,1,1); //开机画面函数
  30   1              for(delay_i=0;delay_i<40;delay_i++)
  31   1              {
  32   2                      delay(65500);   
  33   2              }
  34   1      
  35   1              
  36   1              while(1)
  37   1              {
  38   2      STA:
  39   2                      Clear_12864(1);
  40   2                      Clear_12864(2);
  41   2      /********************
  42   2      原始车位图面
  43   2      **********************/
  44   2      
  45   2                      Piture_1(1);
  46   2      RET1:   
  47   2                      BlackInput(6,16,2,1);                                   //1不反色,0反色
  48   2                      Number(2,0,1);                                                  //输入数字显示清零
  49   2      /********************
  50   2      原来车位数据输入
  51   2      **********************/
  52   2                      
  53   2                      KEY_data_1=KEY_scan();                                   //取原始位置十位数据
  54   2                      while(1)                                                                                                         
  55   2                      {                       
C51 COMPILER V8.05a   CARPORT                                                              12/22/2008 17:43:36 PAGE 2   

  56   3                              if(KEY_data_1<6) 
  57   3                              {
  58   4      //                              side=0;
  59   4                                      KEY_OK=0;
  60   4                                      KEY_ESC=0;
  61   4                                      Data_complit=0;
  62   4                                      break;
  63   4                              }
  64   3                              KEY_data_1=KEY_scan();          
  65   3                      }
  66   2                      delay(100);
  67   2                      ClickNumber(KEY_data_1,1);                                              //输入个位数据
  68   2                      KEY_data_2=KEY_scan();                                    
  69   2                      while(1)                                                                                //取原始位置十位数据
  70   2                      {                                                                                                                                               
  71   3                              if(KEY_data_2<10) 
  72   3                              {
  73   4      //                              side=0;
  74   4                                      KEY_OK=0;
  75   4                                      KEY_ESC=0;
  76   4                                      Data_complit=0;
  77   4                                      break;
  78   4                              }
  79   3                              KEY_data_2=KEY_scan();                                          
  80   3                      }
  81   2                      delay(200);
  82   2                      ClickNumber(KEY_data_2,0);                                                      //输入个位数据送LCD显示
  83   2                      Send_data=KEY_data_1*10+KEY_data_2;
  84   2                      if((Send_data==0)||(Send_data>50))                                      //输入数据无效时
  85   2                      {
  86   3                              Unoption_Piture(0,0,1);                                                 //调用无效输入画面重新
  87   3                              for(delay_i=0;delay_i<20;delay_i++)
  88   3                              {                                                                                                                       
  89   4                                      delay(65500);                                   
  90   4                              }
  91   3                              goto STA;                                                                                                                       
  92   3                      }       
  93   2                      GET_ok=GET_position(Send_data,Data_complit);                                     
  94   2                      while(1)                                                                                 
  95   2                      {
  96   3                              if(GET_ok) break;                                                        //数据获得成功
  97   3                              GET_ok=GET_position(Send_data,Data_complit);
  98   3                      }
  99   2      /**/    KEY_data_2=KEY_scan();                                                  //等待确认键按下
 100   2                      while(1)                                                                                          
 101   2                      {                                                                                               
 102   3                                                                              
 103   3      //                      if(KEY_data_2=10) side=1;                                         
 104   3                              if      (KEY_data_2==10)                                                  //确认键/返回键按下处理
 105   3                              {
 106   4                                      KEY_OK=1;
 107   4                                      KEY_ESC=0;
 108   4                                      SureKey(6,16,1,0);
 109   4                                      delay(1000);
 110   4                                      goto RET2;                                                      // 进入下一界面显示
 111   4                                      break;
 112   4                              } 
 113   3                              else if (KEY_data_2==11)                                        //返回键按下
 114   3                              {
 115   4                                      KEY_OK=0;
 116   4                                      KEY_ESC=1;
 117   4                                      BlackInput(6,16,2,0);
C51 COMPILER V8.05a   CARPORT                                                              12/22/2008 17:43:36 PAGE 3   

 118   4                                      delay(1000);
 119   4                                      goto RET1;//返回上一个界面
 120   4                                      break;                  
 121   4                              }
 122   3      
 123   3                              KEY_data_2=KEY_scan();                          
 124   3                      }
 125   2      /********************
 126   2      目标车位数据输入
 127   2      **********************/
 128   2      RET2:   
 129   2                      Clear_12864(1);
 130   2                      Clear_12864(2); 
 131   2                      Piture_1(0);
 132   2      RET3:
 133   2                      BlackInput(6,16,2,1);
 134   2                      Number(2,0,1);                                                   //输入数字显示清零
 135   2                      KEY_data_1=KEY_scan();                                   //取目标车库位置十位数据
 136   2                      while(1)                                                                                                         
 137   2                      {                       
 138   3                              if(KEY_data_1<6) 
 139   3                              {
 140   4      //                              side=0;
 141   4                                      KEY_OK=0;
 142   4                                      KEY_ESC=0;
 143   4                                      Data_complit=1;
 144   4                                      break;
 145   4                              }
 146   3                              KEY_data_1=KEY_scan();          
 147   3                      }
 148   2                      ClickNumber(KEY_data_1,1);                                              //输入十位数据送LCD显示  
 149   2                      KEY_data_2=KEY_scan();                                    
 150   2                      while(1)                                                                                //取原始位置个位数据
 151   2                      {                                                                                                                                               
 152   3                              if(KEY_data_2<10) 
 153   3                              {
 154   4      //                              side=0;
 155   4                                      KEY_OK=0;
 156   4                                      KEY_ESC=0;
 157   4                                      Data_complit=1;
 158   4                                      break;
 159   4                              }
 160   3                              KEY_data_2=KEY_scan();                                          
 161   3                      }
 162   2                      ClickNumber(KEY_data_2,0);                                       //输入个位数据送LCD显示
 163   2                      Send_data=KEY_data_1*10+KEY_data_2;     
 164   2                      if((Send_data==0)||(Send_data>50))                                      //输入数据无效时
 165   2                      {
 166   3      
 167   3                              Unoption_Piture(0,0,1);                                         //调用无效输入画面重新
 168   3                              for(delay_i=0;delay_i<20;delay_i++)
 169   3                              {                                                                                                       
 170   4                                      delay(65500);                           
 171   4                              }
 172   3                              goto RET2;                                                                                                              
 173   3                      }
 174   2                      GET_ok=GET_position(Send_data,Data_complit);                                     

⌨️ 快捷键说明

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