📄 main.lst
字号:
C51 COMPILER V7.05 MAIN 12/20/2004 15:31:04 PAGE 1
C51 COMPILER V7.05, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE MAIN.C DEBUG OBJECTEXTEND
stmt level source
1 #include "REG51F.H"
2 #include "absacc.h"
3 #include "string.h"
4 #include "stdio.h"
5 #include "intrins.h"
6 #include "flash.h"
7 #include<rc500.h>
8 //#include "7219.H"
9 #include "comm.h"
10 #include "595.H"
11 #include <rc500.h>
12 #include "ds1307.H"
13 #include "intrins.h"
14
15 #define CAR 14
16 #define BAN 13
17 #define ESC 10
18 #define ENTER 12
19 #define SERCH 11
20
21
22 bit rc500_ok;
23 sbit dog=P1^7;
24 sbit row0=P1^0;
25 sbit row1=P1^1;
26 sbit row2=P1^2;
27 sbit r485_en=P4^3;
28
29
30 //sbit in1=P2^4;
31 //sbit in2=P2^6;
32 //sbit in3=P2^5;
33
34 sbit spk=P3^2;
35
36 bit num_suss,sta=0,time_set=0;
37 void beep(unsigned char times);
38 #define watch_dog() WTDC=WTDC|0X20;//dog=!dog
39 static unsigned char xdata RemainRec[100];//RemainRec[10][11] _at_ 0x000;//Page1,2,3,4,5,6,7
40 extern unsigned char idata outbyte;
41 extern bit tflag;
42 unsigned char data ADDR;
43 bit Keyinput_ok=0,link=0;
44 bit ban=0;
45 unsigned char idata input_pc[5],mainstate=0,ledtem[10],ms[16],psnr[4],keyin=0;
46 unsigned int idata lage_car=0,small_car=0;
47 bit in_outFlg;
48 //************************程序用的变量********************
49
50
51 //********************************************************************
52 union charint{
53 unsigned char chrX[2];
54 unsigned int intX;
55 };
C51 COMPILER V7.05 MAIN 12/20/2004 15:31:04 PAGE 2
56
57 struct _time
58 {
59 unsigned long l;
60 unsigned int i;
61 unsigned char sec;
62 };
63 union __time
64 {
65 struct _time tt;
66 unsigned char a[7];
67 };
68 static union __time data time ;
69 /****************************************************************************/
70
71
72 void Delay100ms(unsigned char x)
73 {
74 1 unsigned char i,j;
75 1
76 1 while(x-- != 0)
77 1 {watch_dog();
78 2 if (Cmdok) //通讯
79 2 {
80 3 Cmdok = FALSE;
81 3 RecvReady = FALSE;
82 3 SendReady = FALSE;
83 3
84 3 cmd_execution();
85 3 SendReady = TRUE ; //发起始字
86 3 TI = 1;
87 3
88 3 }
89 2 for (j = 0;j < 114; j++)for (i = 0;i < 88; i++){_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;
90 3 _nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_(
-) ;
91 3 _nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_(
-) ;
92 3 _nop_() ;_nop_() ;_nop_() ;};
93 2 }
94 1 }
95 /****************************************************************************/
96
97
98 void Delay1ms(unsigned char x)
99 {
100 1 unsigned char i;
101 1
102 1 while(x-- != 0)
103 1 { if (Cmdok) //通讯
104 2 {
105 3 Cmdok = FALSE;
106 3 RecvReady = FALSE;
107 3 SendReady = FALSE;
108 3
109 3 cmd_execution();
110 3 SendReady = TRUE ; //发起始字
111 3 TI = 1;
112 3
113 3 }
114 2 for (i = 0;i < 89; i++){_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;
115 3 _nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_(
C51 COMPILER V7.05 MAIN 12/20/2004 15:31:04 PAGE 3
-) ;
116 3 _nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_() ;_nop_(
-) ;
117 3 _nop_() ;_nop_() ;_nop_() ;};
118 2 }
119 1 }
120 //************************************************************************
121
122 //**********************************************************************
123 unsigned int Get_key(void)
124 {
125 1 unsigned char data x;
126 1 //inttem.intX=0xffff;
127 1 //unsigned int y;
128 1
129 1 row0=0;
130 1 row1=1;
131 1 row2=1;
132 1 P2=0XfF;
133 1
134 1 x=P2;
135 1 x=x&0x1f;
136 1
137 1 if(x!=0x1f)
138 1 {
139 2 // beep(1);
140 2 Delay1ms(120);
141 2 if(x==0x17)
142 2 return 7;
143 2 if(x==0x1b)
144 2 return 8;
145 2 if(x==0x1d)
146 2 return 9;
147 2 if(x==0x1e)
148 2 return 10;
149 2 if(x==0x0f)
150 2 return 12;
151 2
152 2 }
153 1
154 1 row0=1;
155 1 row1=0;
156 1 row2=1;
157 1 P2=0X1F;
158 1 x=P2;
159 1 x=x&0x1f;
160 1
161 1 if(x!=0x1f)
162 1 {
163 2 // beep(1);
164 2 Delay1ms(150);
165 2 if(x==0x17)
166 2 return 4;
167 2 if(x==0x1b)
168 2 return 5;
169 2 if(x==0x1d)
170 2 return 6;
171 2 if(x==0x1e)
172 2 return 11; //菜单
173 2 if(x==0x0f)
174 2 return 13; //小车
175 2
C51 COMPILER V7.05 MAIN 12/20/2004 15:31:04 PAGE 4
176 2 }
177 1 row0=1;
178 1 row1=1;
179 1 row2=0;
180 1 P2=0X1F;
181 1 x=P2;
182 1 x=x&0x1f;
183 1
184 1 if(x!=0x1f)
185 1 {
186 2 // beep(1);
187 2 Delay1ms(150);
188 2 if(x==0x17)
189 2 return 1;
190 2 if(x==0x1b)
191 2 return 2;
192 2 if(x==0x1d)
193 2 return 3;
194 2 if(x==0x1e)
195 2 return 0;
196 2 if(x==0x0f)
197 2 return 14; //大车
198 2
199 2 }
200 1
201 1 return( 0xff);// y;
202 1
203 1
204 1 }
205 /****************************************************************************
206 * *
207 * Function: init_com *
208 * *
209 * Input: - *
210 * Output: - *
211 * *
212 * Description: *
213 ****************************************************************************/
214 void init_com(void)
215 {
216 1 PCON = 0x80; // SMOD = 1; bps = Time1/16
217 1 SCON = 0x50; // Mode 1, 1 star bit, 8 data bit, 1,stop bit UART, enable receive
218 1 TMOD = 0x21; // Timer 1, mode 2, 8-bit auto reload,
219 1 // Timer 0, mode 1, 16-bit counter
220 1 TH1 = BAUD_9600; //BAUD_115200;
221 1 TL1 = TH1;
222 1 TR1 = 1; // Timer 1 run
223 1 /*
224 1 TCLK = 1;
225 1 RCLK = 1;
226 1 RCAP2H = 0xff ;//65536L - ( 22118400L / 32 / 57600L);
227 1 RCAP2L = 0xf4 ;// 0xF4--57600 , 0xFA--115200
228 1 TR2 = 1; // Timer 2 run
229 1 */
230 1 ES = 1; // Enable serail interrupts
231 1 ET0 = 1; // Enable t0 interrupts
232 1
233 1 RecvState = RECV_STX;
234 1 RecvReady = TRUE;
235 1 SendReady = FALSE;
236 1 SendOk = FALSE;
237 1 Cmdok = FALSE;
C51 COMPILER V7.05 MAIN 12/20/2004 15:31:04 PAGE 5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -