📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 07/23/2009 16:47:15 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <AT892051.h>
2 #include <intrins.h>
3 #include "LCD1602.h"
4
5 #define uchar unsigned char
6 #define uint unsigned int
7
8 #define MYADD 0x01
9 #define _ERR_ 0xff
10 #define _SUCC_ 0xfe
11
12 sbit REDE = P3^4;
13 uchar buf[10];
14
15 void delay(uint t)
16 {
17 1 for(;t>0;t--);
18 1 }
19
20 void ldelay(uint t)
21 {
22 1 uint i = 100;
23 1 for(;i>0;i--)
24 1 for(;t>0;t--);
25 1 }
26
27 uchar Rec_date(uchar *buf)
28 {
29 1 uchar len;
30 1 uchar ecc;
31 1 uchar tmp;
32 1 uchar i;
33 1 REDE = 0;
34 1 RI = 0;
35 1 while(!RI);
36 1 if(RB8 == 1)
37 1 return 0xfe;
38 1 len = SBUF;
39 1 RI = 0;
40 1 ecc = len;
41 1 for(i=0;i<len;i++)
42 1 {
43 2 while(!RI);
44 2 if(RB8 == 1)
45 2 return 0xfe;
46 2 *buf = SBUF;
47 2 RI = 0;
48 2 ecc = ecc^(*buf);
49 2 buf++;
50 2 }
51 1 *buf = '\0';
52 1 while(!RI);
53 1 if(RB8 == 1)
54 1 return 0xfe;
55 1 tmp = SBUF;
C51 COMPILER V7.06 MAIN 07/23/2009 16:47:15 PAGE 2
56 1 RI = 0;
57 1 ecc = tmp^ecc;
58 1 if(ecc != 0)
59 1 {
60 2 *(buf-len) = '\0';
61 2 REDE = 1;
62 2 TI = 0;
63 2 TB8 = 0;
64 2 SBUF = _ERR_;
65 2 while(!TI);
66 2 TI = 0;
67 2 REDE = 0;
68 2 return 0xff;
69 2 }
70 1 REDE = 1;
71 1 TI = 0;
72 1 TB8 = 0;
73 1 SBUF = _SUCC_;
74 1 while(!TI);
75 1 TI = 0;
76 1 REDE = 0;
77 1 return 0;
78 1 }
79
80 void serial_RI()interrupt 4
81 {
82 1 uchar tmp;
83 1 tmp = 0;
84 1 while(tmp != MYADD)
85 1 {
86 2 while(!RI);
87 2 tmp = SBUF;
88 2 RI = 0;
89 2 }
90 1 delay(1000); //???????????????????
91 1 REDE = 1;
92 1 TI = 0;
93 1 TB8 = 0;
94 1 SBUF = MYADD;
95 1 while(!TI);
96 1 TI = 0;
97 1 REDE = 0;
98 1 SM2 = 0;
99 1 tmp = 0xff;
100 1 while(tmp == 0xff)
101 1 {
102 2 tmp = Rec_date(buf);
103 2 }
104 1 if(tmp == 0xfe)
105 1 SM2 = 1;
106 1 wstr(buf);
107 1 }
108
109 void init()
110 {
111 1 delay(10); //延时等待复位
112 1 wcmd(0x38); //设置为8总线16*2,5*7点阵
113 1 wcmd(0x01); //清屏幕
114 1 wcmd(0x06); //光标移动,显示区不移动
115 1 wcmd(0x0f); //开显示,光标闪烁
116 1 }
117
C51 COMPILER V7.06 MAIN 07/23/2009 16:47:15 PAGE 3
118 void main()
119 {
120 1 init();
121 1 wstr("fenj1");
122 1 loc(2,1);
123 1 SCON=0xb0;
124 1 PCON = 0x80;
125 1 ES=1;
126 1 EA=1;
127 1 REDE = 0;
128 1 while(1);
129 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 647 ----
CONSTANT SIZE = 6 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 17
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -