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

📄 mds-100-77e58.lst

📁 W77E58串口实例
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.06   MDS_100_77E58                                                         03/22/2006 19:49:08 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE MDS_100_77E58
OBJECT MODULE PLACED IN MDS-100-77E58.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE MDS-100-77E58.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          
   2          /***********************摩托车电子桩考车载传感器程序****************************/
   3          
   4          /***文件名称:MDC-100-77E58                                                 ****/
   5          /***摘    要:采集场地违规信息和摩托车上的信息,然后通过数传台传输给FC机    ****/
   6          
   7          /***当前版本:Ver1.0版                                                      ****/
   8          /***作    者:Hunter                                                        ****/
   9          /***完成日期:2006年03月                                                    ****/
  10          
  11          /***版权所有:南京多伦科技有限公司                                          ****/
  12          
  13          /*******************************************************************************/
  14          
  15          /***场地传感器控制程序,采集考试过程中的路线信号和碰桩信号      ***/
  16          /***定义车载单元为主机地址为11H,PC机的地址为12H                ***/
  17          /***定义场地7个传感器的地址:01H,02H,03H,04H,05H为五个警示柱地址***/
  18          /***定义左右边线的传感器地址为06H,07H                           ***/
  19          
  20          /************************发送数据数组定义 **************************/
  21          /***  Sent_data[0]数据起始位FFH                                  ***/
  22          /***  Sent_data[1]目的地址                                       ***/
  23          /***  Sent_data[2]原地址                                         ***/
  24          /***  Sent_data[3]数据位碰撞与出边线编码                         ***/
  25          /***  Sent_data[4]数据位出发路线编码信息                         ***/
  26          /***  Sent_data[5]数据位回程路线编码信息                         ***/
  27          /***  Sent_data[6]数据位车载信息编码                             ***/
  28          /***  Sent_data[7]空闲位00H                                      ***/
  29          /***  Sent_data[8]空闲位00H                                      ***/
  30          /***  Sent_data[9]校验和                                         ***/
  31          /*******************************************************************/
  32          
  33          /************************应答数组的格式定义*************************/
  34          /***  Sent_Answ[0]应答起始位FFH                                  ***/
  35          /***  Sent_Answ[1]目的地址                                       ***/
  36          /***  Sent_Answ[2]原地址                                         ***/
  37          /***  Sent_Answ[3]空闲位0                                        ***/
  38          /***  Sent_Answ[4]空闲位0                                        ***/
  39          /***  Sent_Answ[5]空闲位0                                        ***/
  40          /***  Sent_Answ[6]空闲位0                                        ***/
  41          /***  Sent_Answ[7]空闲位0                                        ***/
  42          /***  Sent_Answ[8]空闲位0                                        ***/
  43          /***  Sent_Answ[9]校验和                                         ***/
  44          /*******************************************************************/
  45          
  46           #include" W77E58.h"
  47           
  48           
  49           unsigned char data Sent_Data_BT[10];/**定义发送数据存储数组 **/
  50           unsigned char data Sent_Data_FC[10];/**定义发送数据存储数组 **/
  51           unsigned char data Sent_Answ_FC[10];/**定义发送数据存储数组 **/
  52          
  53           unsigned char data Rece_Data_BT[10];/**定义接收数据存储数组 **/
  54           unsigned char data Rece_Data_FC[10];/**定义接收数据存储数组 **/
  55          
C51 COMPILER V7.06   MDS_100_77E58                                                         03/22/2006 19:49:08 PAGE 2   

  56           void Send_UART0(unsigned char data *Sent_Buf);  /**车载发送数据给蓝牙子程序**/
  57           void Send_UART1(unsigned char data *Sent_Buf);  /**车载发送数据给PC子程序**/
  58          
  59           void Main_Init();  /**初始化子程序 **/
  60           void WDT_Init(); /**看门狗初始化子程序**/
  61           void WDT_Clr();  /**喂狗子程序**/
  62           
  63           void SP0_ISR();/**串口0中断服务子程序**/
  64           void SP1_ISR();/**串口1中断子服务程序**/
  65           void TR0_ISR();  /**定时器0中断服务子程序**/
  66          
  67           unsigned char RBT_Flag;
  68           unsigned char RFC_Flag;
  69           unsigned char N;
  70           unsigned char RG_Flag,LF_Flag,SH_Flag; /**端口状态变化寄存器**/
  71           unsigned char R_State,L_State,S_State; /**端口状态寄存器**/
  72           
  73           /**定义场地传感器信号输入口**/
  74            sbit Left_Sig=P0^1;  /**定义左脚踏地标志位**/
  75            sbit Right_Sig=P0^2; /**定义右脚踏地标志位**/
  76            sbit Shart_Sig=P0^0; /**定义熄火标志位**/
  77          
  78          /**定义数据接收发送指示灯**/ 
  79            sbit FC_Rece=P2^0;
  80            sbit FC_Tran=P2^1;
  81            sbit BT_Rece=P2^2;
  82            sbit BT_Tran=P2^3;
  83          
  84          /**************************************************************************/
  85          /** 函数名称: main()                                                     **/
  86          /** 功能描述: 车载控制单元主程序,实现摩托车信号的采集和场地信号的接收; **/
  87          /**           同时将信号传输给PC机。                                     **/
  88          /** 输   入: 无                                                         **/
  89          /** 输   出: 无                                                         **/
  90          
  91          /** 作   者: Hunter                                                     **/
  92          /** 日   期: 2006年03月                                                 **/
  93          
  94          /**************************************************************************/
  95          /** 修 改 人:                                                            **/
  96          /** 日   期:                                                            **/
  97          /**************************************************************************/
  98          
  99          main()
 100          {
 101   1      
 102   1      /**串口数据接收发送指示灯初始化**/
 103   1        FC_Rece=1;
 104   1        FC_Tran=1;
 105   1        BT_Rece=1;
 106   1        BT_Tran=1;
 107   1        N=1;
 108   1      /**端口状态寄存器**/
 109   1       R_State=Right_Sig;
 110   1       L_State=Left_Sig;
 111   1       S_State=Shart_Sig;
 112   1      
 113   1      /**端口状态变化寄存器初始化**/
 114   1       RG_Flag=0;
 115   1       LF_Flag=0;
 116   1       SH_Flag=0;
 117   1      
C51 COMPILER V7.06   MDS_100_77E58                                                         03/22/2006 19:49:08 PAGE 3   

 118   1       RBT_Flag=0;
 119   1       
 120   1        Sent_Data_FC[0] = 0xFF;
 121   1        Sent_Data_FC[1] = 0x12;
 122   1        Sent_Data_FC[2] = 0x11;
 123   1        Sent_Data_FC[3] = 0x00;
 124   1        Sent_Data_FC[4] = 0x00;
 125   1        Sent_Data_FC[5] = 0x00;
 126   1        Sent_Data_FC[6] = 0x00;
 127   1        Sent_Data_FC[7] = 0x00;
 128   1        Sent_Data_FC[8] = 0x00;
 129   1      
 130   1       Main_Init();  /**串口初始化**/
 131   1      
 132   1       WDT_Init();/**看门狗初始化,启动看门狗**/
 133   1      
 134   1       while(1)
 135   1       {
 136   2       
 137   2       WDT_Clr();
 138   2      
 139   2      /**解析来自到场地的蓝牙信息,并作相应的处理**/
 140   2        if(RBT_Flag == 0xFA)   
 141   2              {
 142   3               RBT_Flag = 0x00;
 143   3      
 144   3           Sent_Data_FC[0]=0xFF;
 145   3           Sent_Data_FC[1]=0x12;
 146   3           Sent_Data_FC[2]=0x11;
 147   3           Sent_Data_FC[3]=Rece_Data_BT[3];
 148   3           Sent_Data_FC[4]=Rece_Data_BT[4];
 149   3           Sent_Data_FC[5]=Rece_Data_BT[5];
 150   3           Sent_Data_FC[6]=0x00;
 151   3           Sent_Data_FC[7]=0x00;
 152   3           Sent_Data_FC[8]=0x00;
 153   3      
 154   3           Send_UART1(Sent_Data_FC); /**接收场地信息正确,发送给桩考检测仪**/
 155   3           
 156   3            Sent_Data_BT[0]=0xFF;
 157   3            Sent_Data_BT[1]=Rece_Data_BT[2];
 158   3            Sent_Data_BT[2]=0x11;
 159   3            Sent_Data_BT[3]=0xFA;
 160   3            Sent_Data_BT[4]=0x00;
 161   3            Sent_Data_BT[5]=0x00;
 162   3            Sent_Data_BT[6]=0x00;
 163   3            Sent_Data_BT[7]=0x00;
 164   3            Sent_Data_BT[8]=0x00;
 165   3      
 166   3            Send_UART0(Sent_Data_BT);/**发送接收信号正确应答信息**/
 167   3      
 168   3           }  
 169   2      
 170   2               else if(RBT_Flag == 0xFB)
 171   2            {
 172   3                RBT_Flag = 0x00;
 173   3                
 174   3                Sent_Data_BT[0]=0xFF;
 175   3            Sent_Data_BT[1]=Rece_Data_BT[2];
 176   3            Sent_Data_BT[2]=0x11;
 177   3            Sent_Data_BT[3]=0xFB;
 178   3            Sent_Data_BT[4]=0x00;
 179   3            Sent_Data_BT[5]=0x00;
C51 COMPILER V7.06   MDS_100_77E58                                                         03/22/2006 19:49:08 PAGE 4   

 180   3            Sent_Data_BT[6]=0x00;
 181   3            Sent_Data_BT[7]=0x00;
 182   3            Sent_Data_BT[8]=0x00;
 183   3      
 184   3            Send_UART0(Sent_Data_BT); /**接收场地错误,请求重发**/
 185   3            }
 186   2      
 187   2        else
 188   2         { 
 189   3           Sent_Data_FC[0] = Sent_Data_FC[0];
 190   3           Sent_Data_FC[1] = Sent_Data_FC[1];
 191   3           Sent_Data_FC[2] = Sent_Data_FC[2];
 192   3           Sent_Data_FC[3] = Sent_Data_FC[3];
 193   3           Sent_Data_FC[4] = Sent_Data_FC[4];
 194   3           Sent_Data_FC[5] = Sent_Data_FC[5];
 195   3           Sent_Data_FC[6] = Sent_Data_FC[6];
 196   3           Sent_Data_FC[7] = Sent_Data_FC[7];
 197   3           Sent_Data_FC[8] = Sent_Data_FC[8]; }
 198   2      
 199   2      /**解析来自桩考监测仪的信息,并进行处理**/
 200   2       if(RFC_Flag==0xFA)
 201   2              {
 202   3               RFC_Flag=0x00;
 203   3               Sent_Data_FC[0] = 0xFF;
 204   3           Sent_Data_FC[1] = 0x12;
 205   3           Sent_Data_FC[2] = 0x11;
 206   3           Sent_Data_FC[3] = 0x00;

⌨️ 快捷键说明

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