📄 rt1.lst
字号:
C51 COMPILER V7.09 RT1 01/02/2008 19:03:02 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE RT1
OBJECT MODULE PLACED IN rt1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE rt1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 //#include<regx51.h>
3 #include<String.h>
4 #define INBUF_LEN 5
5 unsigned char inbuf[INBUF_LEN];
6 unsigned char count4 = 0;
7 bit flag_read = 0;
8 sbit P2_0 = P2^0;
9 sbit P2_1 = P2^1;
10 sbit P2_2 = P2^2;
11 sbit P2_3 = P2^3;
12 sbit P2_4 = P2^4;
13 /*
14 #define m0 0xC0
15 #define m1 0xC
16 #define m2
17 #define m3
18 #define m4
19 #define m5
20 #define m6
21 #define m7
22 #define m8
23 #define m9
24 */
25 /********************************************************************
26 函数名:init_serialcomn(void)
27 功 能:初始化中断
28 说 明:
29 入口参数:无
30 返回值:无
31 ***********************************************************************/
32 void init_serialcomn(void)
33 {
34 1 SCON = 0x50;
35 1 TMOD |= 0x20;
36 1 PCON |= 0x80;
37 1 TH1 = 0xFA; //晶振11。0592 波特率9600
38 1 IE |=0x90;
39 1 TR1 = 1;
40 1 }
41
42 /**********************************************************************
43 函数名:void serial () interrupt 4 using 2
44 功 能:串口接收中断函数
45 说 明:
46 入口参数:无
47 返回值:无
48 ***********************************************************************/
49 serial () interrupt 4 using 2
50 {
51 1 if (RI)
52 1 {
53 2 unsigned char ch;
54 2 RI = 0;
55 2 ch = SBUF;
C51 COMPILER V7.09 RT1 01/02/2008 19:03:02 PAGE 2
56 2 //count4 = 0;
57 2 inbuf[count4] = ch;
58 2 count4++;
59 2 if (count4 ==4)
60 2 {
61 3 count4 = 0;
62 3 flag_read =1;
63 3 }
64 2 /*for(i = 0;i++;i<=4)
65 2 {
66 2 return inbuf[i];
67 2 }*/
68 2 }
69 1
70 1 }
71
72 /**********************************************************************
73 函数名:delay()
74 功 能: 延时函数
75 说 明:
76 入口参数:无
77 返回值:无
78 ***********************************************************************/
79 delay()
80 {
81 1 int i,j;
82 1 for(i=0;i++;i<100)
83 1 for(j=0;j++;j<100);
84 1
85 1 }
86
87 /**********************************************************************
88 函数名:display()
89 功 能: 显示函数
90 说 明:
91 入口参数:无
92 返回值:无
93 ***********************************************************************/
94 display()
95 {
96 1 //int i;
97 1 //for(i = 0;i++;i <= 4)
98 1 unsigned char a = inbuf[0];
99 1 unsigned char check(unsigned char );
100 1 P0 = check(a);
101 1 P2_0 = 0;
102 1 delay();
103 1 P2_0 = 1;
104 1
105 1 a = inbuf[1];
106 1 P0 = check(a);
107 1 // P0 = inbuf[1];
108 1 P2_1 = 0;
109 1 delay();
110 1 P2_1 = 1;
111 1
112 1 a = inbuf[2];
113 1 //unsigned char check(unsigned char );
114 1 P0 = check(a);
115 1 // P0 = inbuf[2];
116 1 P2_2 = 0;
117 1 delay();
C51 COMPILER V7.09 RT1 01/02/2008 19:03:02 PAGE 3
118 1 P2_2 = 1;
119 1 a = inbuf[3];
120 1 // unsigned char check(unsigned char );
121 1 P0 = check(a);
122 1 P0 = inbuf[3];
123 1 P2_3 = 0;
124 1 delay();
125 1 P2_3 = 1;
126 1
127 1 a = inbuf[4];
128 1 //unsigned char check(unsigned char );
129 1 P0 = check(a);
130 1 P0 = inbuf[4];
131 1 P2_4 = 0;
132 1 delay();
133 1 P2_4 = 1;
134 1
135 1
136 1
137 1 /*P2_1 = 0;
138 1 P2_2 = 0;
139 1 P2_3 = 0;
140 1 P2_4 = 0;*/
141 1 delay();
142 1 //P2_i = 1;
143 1 }
144
145 /**********************************************************************
146 函数名:check(unsigned char s)
147 功 能:查表 根据传来的数查找相对应的驱动数码管的十六进制数
148 说 明:
149 入口参数:a 由GPRS传来的数字
150 返回值: 与十进制数相对应的驱动数码管的十六进制数
151 ***********************************************************************/
152 unsigned char check(unsigned char s) {
153 1 //unsigned char b;
154 1 unsigned char serial[10] = {0xC0/*'11000000'*/,0xCF/*'11001111'*/,0xA4/*10100100*/,0xB0,0x99,0x92,0x82,0x
-D8,0x80,0x90};
155 1 unsigned char b=serial[s];
156 1 return b;
157 1 }
158
159 /*
160 unsigned char check(unsigned char m)
161 {
162
163
164 # asm
165
166 EXTRN DATA(m)
167 MOV DPTR,#TAB
168 MOV A,m
169 MOV A,@A+DPTR
170 TAB:
171 DB C0H,CFH,A4H,B0H //0,1,2,3
172 DB 99H,92H,82H,D8H //4,5,6,7
173 DB 80H,90H //8,9
174
175 #endasm
176
177 extern unsigned char A
178
C51 COMPILER V7.09 RT1 01/02/2008 19:03:02 PAGE 4
179 }
180 */
181
182 /**********************************************************************
183 函数名:void main()
184 功 能: 主函数
185 说 明:
186 入口参数:无
187 返回值:无
188 ***********************************************************************/
189 void main()
190 {
191 1 init_serialcomn();
192 1 // RI = 1;测试
193 1 while(1)
194 1 {
195 2 if (flag_read)
196 2 {
197 3 display(/*unsigned char inbuf[5]*/);
198 3 }
199 2 }
200 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 207 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 12
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 + -