?? mds-100-77e58.lst
字號:
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 + -