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

📄 uart.lst

📁 液晶屏显示程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.06   UART                                                                  02/05/2005 09:08:14 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN uart.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE uart.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include        <reg52.h>
   2          #include        <ctype.h>
   3          #include        <stdlib.h>
   4          #include        <stdio.h>
   5          #include        <math.h>
   6          #include    <intrins.h>
   7          #include    "define.h"
   8          //#include    "val.h"
   9          #include    "function.h"
  10          #define     MAOHAO_WEN   0XBA
  11          extern unsigned char idata cSendBuffer[30],cReceBuffer[30];
  12          extern unsigned char cSendLen,cReceLen,cReceTimeOut,cSendPosi;
  13          extern bit bReceOK;
  14          extern unsigned char banhou_set[4],buchang_set[4];
  15          extern unsigned char tuidao_set[4],muxin_set[4];
  16          extern  bit lesser_bit;
  17          extern  bit main_set_bit,dis_pass_bit;
  18          extern  bit speed_set_bit,luoju_set_bit;
  19          extern bit daoju_set_bit,master_bit,enter_bit;
  20          extern unsigned char comm_time;
  21          extern unsigned char jin_speed_set[4];
  22          extern unsigned char tui_speed_set[4],gun_speed_set[4];
  23          extern unsigned char luoju_set[4];
  24          extern unsigned char chuandong_set[4],gunju_set[4];
  25          extern unsigned char gunjing_set[4];
  26          extern unsigned char daoju_set[4];
  27          extern unsigned char mujing_set[4],chuangdu_set[4];
  28          extern unsigned char maichong_set[4];
  29          extern unsigned char jindao_speed[4],zhuji_speed[4],daoju[4];
  30          extern unsigned char buchang_set[4];
  31          bit rece_bit_fail;
  32          bit rece_bit_success;
  33          bit en_bit_tran;           //
  34          unsigned char tran_step;
  35          extern unsigned char rece_pt,speed_time;
  36          extern bit      en_bit_enter;
  37          /*
  38            发送的过程分为三次,每次发送完后,等待接收数据,并对接受的数据进行判断
  39            接收正确则退出发送程序
  40          */
  41          void tran_sub(void)
  42          {
  43   1        if(!en_bit_tran)  return;
  44   1        switch(tran_step) {
  45   2           case 0: {           //  第一次发送
  46   3                        readDsp();
  47   3              comm_time=0;
  48   3              rece_bit_fail=0;
  49   3                rece_bit_success=0;
  50   3              tran_step=1;
  51   3              }
  52   2           break;
  53   2      
  54   2           case 1:
  55   2              {
C51 COMPILER V7.06   UART                                                                  02/05/2005 09:08:14 PAGE 2   

  56   3               if(rece_bit_fail||(comm_time>50)) {
  57   4                   tran_step++;
  58   4                   readDsp();
  59   4                   rece_bit_fail=0;
  60   4                   comm_time=0;
  61   4                   }
  62   3               else {
  63   4                  if(rece_bit_success)   tran_step=4;
  64   4                  }
  65   3               }
  66   2            break;
  67   2      
  68   2           case 2:{   //  第三次发送
  69   3                       //  接收的数据错误,发送缓冲器的数据仍然有效,立即进行第二次发送
  70   3              if(rece_bit_success)    tran_step=4;
  71   3              else {
  72   4                  if(rece_bit_fail||(comm_time>50)) {
  73   5                     rece_bit_fail=0;
  74   5                     tran_step++;
  75   5                                      readDsp();
  76   5                     comm_time=0;
  77   5                     }
  78   4                   }
  79   3               }
  80   2           break;
  81   2      
  82   2           case 3: {
  83   3              if(rece_bit_fail||(comm_time>50))   tran_step=5;    // 发送错误, 退出发送程序
  84   3              else {
  85   4                 if(rece_bit_success)             tran_step=4;    //  第三次发送程序正确
  86   4                 }
  87   3              }
  88   2           break;
  89   2      
  90   2      
  91   2           default:  {    //  强行退出发送过程
  92   3      //          tran_command=0;    //    没有发送命令,发送程序将不被执行
  93   3                tran_step=0;       //    对发送的步骤进行初始化
  94   3                       rece_bit_fail=0;
  95   3                       rece_bit_success=0;
  96   3                       en_bit_tran=0;
  97   3                       en_bit_enter=0;
  98   3                }
  99   2           break;
 100   2           }
 101   1      }
 102          
 103          //------------------------------------------------
 104          
 105          void readDsp(void)
 106          {
 107   1      if((lesser_bit)&&(speed_time>10))
 108   1      {
 109   2        sendRead(2) ;
 110   2        speed_time=0;
 111   2      }
 112   1      if(!en_bit_enter){
 113   2        if(master_bit)         sendRead(1);
 114   2        else if(lesser_bit)    sendRead(2) ;
 115   2        else if(main_set_bit)  sendRead(3) ;
 116   2        else if(luoju_set_bit) sendRead(4) ;
 117   2        else if(daoju_set_bit) sendRead(5) ;
C51 COMPILER V7.06   UART                                                                  02/05/2005 09:08:14 PAGE 3   

 118   2        else if(speed_set_bit) sendRead(6) ;
 119   2        }
 120   1      
 121   1      else {
 122   2        if(main_set_bit)        mainSetWrite();
 123   2        else if(luoju_set_bit)  luojuSetWrite();
 124   2        else if(daoju_set_bit)  daojuSetWrite();
 125   2        else if(speed_set_bit)  speedSetWrite();
 126   2        }
 127   1      
 128   1      }
 129          
 130          
 131          
 132          void CheckCommData(void)
 133          {
 134   1              if(!bReceOK)  return;
 135   1              bReceOK = 0;
 136   1              cReceTimeOut = 0;
 137   1              if((cReceBuffer[2]==(2+0x30))&&(cReceBuffer[4]==(0+0x30))&&(checkOut()==0)) // 累加和判断
 138   1                 {
 139   2                  rece_bit_success=1;
 140   2                switch(cReceBuffer[6]-0x30){
 141   3                               case 1:
 142   3                                                      {
 143   4                                                          banhou_set[0]=cReceBuffer[7]-0x30;
 144   4                            banhou_set[1]=cReceBuffer[8]-0x30;
 145   4                                                          banhou_set[2]=cReceBuffer[9]-0x30;
 146   4                          //  banhou_set[3]=cReceBuffer[10]-0x30;
 147   4                                                          tuidao_set[0]=cReceBuffer[11]-0x30;
 148   4                            tuidao_set[1]=cReceBuffer[12]-0x30;
 149   4                                                          tuidao_set[2]=cReceBuffer[13]-0x30;
 150   4                         //   banhou_set[3]=cReceBuffer[14]-0x30;
 151   4                                                          muxin_set[0]=cReceBuffer[15]-0x30;
 152   4                            muxin_set[1]=cReceBuffer[16]-0x30;
 153   4                                               muxin_set[2]=cReceBuffer[17]-0x30;
 154   4                         //   banhou_set[3]=cReceBuffer[18]-0x30;
 155   4                                                         // banhou_set[0]=cReceBuffer[19]-0x30;
 156   4                           // banhou_set[1]=cReceBuffer[20]-0x30;
 157   4                                                         // banhou_set[2]=cReceBuffer[21]-0x30;
 158   4                           // banhou_set[3]=cReceBuffer[22]-0x30;
 159   4                                               }
 160   3                                               break;
 161   3      /********************************************************************/
 162   3                        case 2:
 163   3                                        {
 164   4                                                          jindao_speed[0]=cReceBuffer[7]-0x30;
 165   4                            jindao_speed[1]=cReceBuffer[8]-0x30;
 166   4                                                          jindao_speed[2]=cReceBuffer[9]-0x30;
 167   4                            jindao_speed[3]=cReceBuffer[10]-0x30;
 168   4                                                          zhuji_speed[0]=cReceBuffer[11]-0x30;
 169   4                            zhuji_speed[1]=cReceBuffer[12]-0x30;
 170   4                                                          zhuji_speed[2]=cReceBuffer[13]-0x30;
 171   4                            zhuji_speed[3]=cReceBuffer[14]-0x30;
 172   4                                                          daoju[0]=cReceBuffer[15]-0x30;
 173   4                            daoju[1]=cReceBuffer[16]-0x30;
 174   4                                               daoju[2]=cReceBuffer[17]-0x30;
 175   4                            daoju[3]=cReceBuffer[18]-0x30;
 176   4                                                          buchang_set[0]=cReceBuffer[19]-0x30;
 177   4                            buchang_set[1]=cReceBuffer[20]-0x30;
 178   4                                                         buchang_set[2]=cReceBuffer[21]-0x30;
 179   4                           //buchang_set[3]=cReceBuffer[22]-0x3
C51 COMPILER V7.06   UART                                                                  02/05/2005 09:08:14 PAGE 4   

 180   4                                               }
 181   3                                               break;
 182   3      /**********************************************************************/
 183   3                        case 3:
 184   3                                        {
 185   4                                                          banhou_set[0]=cReceBuffer[7]-0x30;
 186   4                            banhou_set[1]=cReceBuffer[8]-0x30;
 187   4                                                          banhou_set[2]=cReceBuffer[9]-0x30;
 188   4                            //jindao_speed[3]=cReceBuffer[10]-0x30;
 189   4                                                          tuidao_set[0]=cReceBuffer[11]-0x30;
 190   4                            tuidao_set[1]=cReceBuffer[12]-0x30;
 191   4                                                          tuidao_set[2]=cReceBuffer[13]-0x30;
 192   4                            //zhuji_speed[3]=cReceBuffer[14]-0x30;
 193   4                                                          muxin_set[0]=cReceBuffer[15]-0x30;
 194   4                            muxin_set[1]=cReceBuffer[16]-0x30;
 195   4                                               muxin_set[2]=cReceBuffer[17]-0x30;
 196   4                            //daoju[3]=cReceBuffer[18]-0x30;
 197   4                                                          buchang_set[0]=cReceBuffer[19]-0x30;

⌨️ 快捷键说明

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