📄 main.lst
字号:
C51 COMPILER V6.12 MAIN 01/23/2007 22:25:02 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN F:\新建文件夹10\9601\FENX96\MAIN.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE F:\新建文件夹10\9601\FENX96\MAIN.C DB SB OE
stmt level source
1 /***************************************************************************************
2 *文件名称:Main.c
3 *作 者:
4 *版 本: 1.00
5 *项目名称: LIC-9601
6 *说 明: 主控芯片为AT89C52
7 *创建日期:2006.12.13
8 *修改记录:
9 ****************************************************************************************/
10 //#pragma OT(8,SPEED) BR NOIP FF(0) DB OE CD
11 #include <reg52.h>
12 #include <absacc.h>
13 #include <ADEF.h>
14 #include <INTRINS.h>
15 /****************************************************************************************
16 *函数名称:beep()
17 *函数功能:蜂鸣器报警函数
18 *入口参数:无
19 *出口参数:无
20 *作 者:
21 *日 期:
22 *****************************************************************************************/
23 void beep (void){
24 1 unsigned char data j;
25 1 unsigned int data i;
26 1 FNC=1;
27 1 for(j=5;j>0;j--){
28 2 for(i=15000;i>0;i--){ //22M
29 3 }
30 2 }
31 1 FNC=0;
32 1 }
33 /****************************************************************************************
34 *函数名称:init()
35 *函数功能:系统初始化模块
36 *入口参数:无
37 *出口参数:无
38 *作 者:
39 *日 期:
40 *****************************************************************************************/
41 void init(void){
42 1 PSW =0;
43 1 IP =1;
44 1 IE =0; //开 IT1,IT0
45 1 TCON =0;
46 1 TMOD =0x16; //t1 16 inter time, t0 exter 8reload
47 1 SCON =0xE0;
48 1 PCON =0x80;
49 1 P10 = 0;
50 1 FNC = 0;
51 1 //XQG = UP;
52 1 FQG =1;
53 1 TCON =0;
54 1 flashbit = 0;
55 1 serbit =0;
C51 COMPILER V6.12 MAIN 01/23/2007 22:25:02 PAGE 2
56 1 errbit =0;
57 1 onbat =0;
58 1 t1_500ms = 0;
59 1 sec5 = 0;
60 1 onqg = 0;
61 1 qg_state =0;
62 1 jiguangbit =0;
63 1 qg = 0;
64 1 LDW = ld_off; //LED hang
65 1 LEDW = led_off; // 540 lie
66 1 GDW = gd_off;
67 1 abc = 0; //abc为档位号
68 1 }
69 /****************************************************************************************
70 *函数名称:initserial()
71 *函数功能:串口初始化模块
72 *入口参数:无
73 *出口参数:无
74 *作 者:
75 *日 期:
76 *****************************************************************************************/
77 void initserial(void){
78 1 SCON = 0xe0; /* SCON: mode 1, 8-bit UART, enable rcvr */
79 1 T2CON = 0x30; /* TMOD: timer 2, mode 3, 16-bit reload */
80 1 RCAP2H = _th2; //57600 FA 115200 Fd 24M F2
81 1 RCAP2L = _tl2;
82 1 TH2 = _th2; //t2: bps=fosc/32 / (65536-x) RCAP2L=0xfa
83 1 TR2 = 1; /* TR1: timer 1 run */
84 1 REN = 1;
85 1 TI = 0; /* TI: set TI to send first char of UART */
86 1 ES = 1;
87 1 // EA = 1; //?
88 1 addres = TXADR;
89 1 addres &=0x0f;
90 1 addres |=0xc0;
91 1 }
92 /****************************************************************************************
93 *函数名称:sendchar(c)
94 *函数功能:发送字节
95 *入口参数:c
96 *出口参数:无
97 *作 者:
98 *日 期:
99 *****************************************************************************************/
100 void sendchar (unsigned char c) {
101 1 TI = 0;
102 1 SBUF = c;
103 1 while (!TI);
104 1 TI = 0;
105 1 }
106 /****************************************************************************************
107 *函数名称:delay_char(mstime)
108 *函数功能:延迟函数
109 *入口参数:mstime
110 *出口参数:无
111 *作 者:
112 *日 期:
113 *****************************************************************************************/
114 void delay_char(unsigned char data mstime)
*** WARNING C258 IN LINE 114 OF F:\新建文件夹10\9601\FENX96\MAIN.C: 'mstime': mspace on parameter ignored
115 {
116 1 unsigned char data i;
C51 COMPILER V6.12 MAIN 01/23/2007 22:25:02 PAGE 3
117 1 i=mstime;
118 1 while(--i){}
119 1 }
120 /****************************************************************************************
121 *函数名称: sendstring(lenth)
122 *函数功能: 字符串发送
123 *入口参数: lenth
124 *出口参数: 无
125 *作 者:
126 *日 期:
127 *****************************************************************************************/
128 void sendstring(unsigned char *p,unsigned char data lenth) // idata *p
*** WARNING C258 IN LINE 128 OF F:\新建文件夹10\9601\FENX96\MAIN.C: 'lenth': mspace on parameter ignored
129 {
130 1 unsigned char *ip;
131 1 unsigned char data i;
132 1 ip=p;
133 1 for(i=0;i<lenth;i++){
134 2 sendchar(*ip);
135 2 ip++;
136 2 }
137 1 }
138 /****************************************************************************************
139 *函数名称: getchar()
140 *函数功能: 串口接受字节模块
141 *入口参数: 无
142 *出口参数: c
143 *作 者:
144 *日 期:
145 *****************************************************************************************/
146 unsigned char getchar () {
147 1 unsigned int data c=1000;
148 1 while(!RI) {} // serbit=1
149 1 c = SBUF;
150 1 RI = 0;
151 1 return (c);
152 1 }
153 /****************************************************************************************
154 *函数名称: getstring()
155 *函数功能: 串口接受字符串函数
156 *入口参数: lenth
157 *出口参数: *p
158 *作 者:
159 *日 期:
160 *****************************************************************************************/
161 void getstring(unsigned char idata *p,unsigned char data lenth)
*** WARNING C258 IN LINE 161 OF F:\新建文件夹10\9601\FENX96\MAIN.C: 'lenth': mspace on parameter ignored
162 {
163 1 unsigned char idata *ip;
164 1 unsigned char data i;
165 1 ip=p;
166 1 for(i=0;i<lenth;i++){
167 2 *ip=getchar();
168 2 ip++;
169 2 if(serbit) break;
170 2 }
171 1 }
172 /****************************************************************************************
173 *函数名称: PSserialInt()
174 *函数功能: 串口中断
175 *入口参数: 无
176 *出口参数: 无
C51 COMPILER V6.12 MAIN 01/23/2007 22:25:02 PAGE 4
177 *作 者:
178 *日 期:
179 *****************************************************************************************/
180 void PSerialInt(void) interrupt 4
181 {
182 1 unsigned char c[2],i;
183 1 if(_testbit_(RI)&&_testbit_(RB8)){
184 2
185 2 c[0]=SBUF;
186 2 if(c[0]==addres){
187 3 P10 =1;
188 3 TB8 = 1;
189 3 sendchar(addres+1);
190 3 SM2 = 0;
191 3 TB8 = 0;
192 3 c[1]=getchar();
193 3 switch(c[1]){
194 4 case 0xf0: getstring(&GET[0],6);
195 4 if(GET[4]==0) onbat =1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -