📄 testpromain.lst
字号:
C51 COMPILER V7.20 TESTPROMAIN 08/23/2006 23:05:42 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE TESTPROMAIN
OBJECT MODULE PLACED IN testpromain.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE testpromain.c ROM(COMPACT) BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "reg52.h"
2 #include <intrins.h>
3
4 //typedef bit BOOL ;
5 #define uchar unsigned char
6
7
8 sbit D1=P2^0;
9 sbit D2=P2^1;
10 sbit D3=P2^2;
11 sbit D4=P2^3;
12 sbit CE573=P2^5;
13 sbit BEEP=P2^4;
14 sbit KEY1=P3^3;
15 sbit KEY2=P3^2;
16 sbit KEY3=P3^4;
17 sbit KEY4=P3^5;
18 sbit KEY5=P3^7;
19
20
21 #define SEL_D1 D1=0;
22 #define SEL_D2 D2=0;
23 #define SEL_D3 D3=0;
24 #define SEL_D4 D4=0;
25
26 #define REL_D1 D1=1;
27 #define REL_D2 D2=1;
28 #define REL_D3 D3=1;
29 #define REL_D4 D4=1;
30
31
32 sbit rs = P2^6 ;
33 sbit rw = P3^6 ;
34 sbit ep = P2^7 ;
35
36
37
38 void _delay(uchar) ;
39 void lcd_wcmd(uchar) ;
40 //BOOL lcd_bz() ;
41 void lcd_pos(uchar) ;
42 void lcd_wdat(uchar) ;
43 void display(uchar,uchar *) ;
44
45
46
47 //串口、中断、初始化设置子函数
48 //11.0592MH晶振下,波特率9600,无奇偶校验
49
50 void initmpu(void)
51
52 {
53 1 //定时器1的工作方式2
54 1 TMOD=0x20;
55 1 //装载计数初值
C51 COMPILER V7.20 TESTPROMAIN 08/23/2006 23:05:42 PAGE 2
56 1 TL1=0xfd;
57 1 TH1=0xfd;
58 1 //采用串口工作方式1,无奇偶校验
59 1 SCON=0x50;
60 1 //串口波特率不加倍
61 1 PCON=0x00;
62 1 //开总中断,开串口中断
63 1 TR1=1;
64 1 IE=0x95;
65 1
66 1 }
67
68 void Delay(int m)
69 {
70 1 while(--m);
71 1 }
72
73
74 void test_led(void)
75 {
76 1 int i;
77 1
78 1 P1=0x7F;
79 1 Delay(40000);
80 1 for(i=0;i<7;i++)
81 1 {
82 2 P1=P1>>1;
83 2 Delay(40000);
84 2 }
85 1 P1=0xFF;
86 1 return;
87 1
88 1 }
89 code unsigned char digseg[]={
90 0xC0, // 0
91 0xF9, // 1
92 0xA4, // 2
93 0xB0, // 3
94 0x99, // 4
95 0x92, // 5
96 0x82, // 6
97 0xF8, // 7
98 0x80, // 8
99 0x90, // 9
100 0x88, // A
101 0x83, // b
102 0xC6, // C
103 0xA1, // d
104 0x86, // E
105 0x8E, // F
106 };
107 void test_digseg(void)
108 {
109 1 char i;
110 1
111 1 CE573=1; //0
112 1 SEL_D1;
113 1 SEL_D2;
114 1 SEL_D3;
115 1 SEL_D4;
116 1 for(i=0;i<16;i++)
117 1 {
C51 COMPILER V7.20 TESTPROMAIN 08/23/2006 23:05:42 PAGE 3
118 2 P0=digseg[i];
119 2 Delay(40000);
120 2 }
121 1 P0=0xFF;
122 1 Delay(50000);
123 1 P0=0x00;
124 1 Delay(50000);
125 1 P0=0xFF;
126 1 Delay(50000);
127 1 P0=0x00;
128 1 Delay(50000);
129 1 P0=0xFF;
130 1
131 1 /*
132 1 P0=0x00;
133 1 SEL_D1;
134 1 Delay(60000);
135 1 REL_D1;
136 1 SEL_D2;
137 1 Delay(60000);
138 1 REL_D2;
139 1 SEL_D3;
140 1 Delay(60000);
141 1 REL_D3;
142 1 SEL_D4;
143 1 Delay(60000);
144 1 REL_D4;
145 1 */
146 1
147 1 }
148 void test_beep(void)
149 {
150 1 BEEP=0;
151 1 Delay(60000);
152 1 BEEP=1;
153 1 Delay(50000);
154 1 BEEP=0;
155 1 Delay(60000);
156 1 BEEP=1;
157 1
158 1 }
159
160 char check_K3(void)
161 {
162 1 if(KEY3==0)
163 1 {
164 2 Delay(2000);
165 2 {
166 3 if(KEY3==0)
167 3 {
168 4 return 1;
169 4 }
170 3 }
171 2 }
172 1 return 0;
173 1 }
174 char check_K4(void)
175 {
176 1 if(KEY4==0)
177 1 {
178 2 Delay(2000);
179 2 {
C51 COMPILER V7.20 TESTPROMAIN 08/23/2006 23:05:42 PAGE 4
180 3 if(KEY4==0)
181 3 {
182 4 return 1;
183 4 }
184 3 }
185 2 }
186 1 return 0;
187 1 }
188 char check_K5(void)
189 {
190 1 if(KEY5==0)
191 1 {
192 2 Delay(2000);
193 2 {
194 3 if(KEY5==0)
195 3 {
196 4 return 1;
197 4 }
198 3 }
199 2 }
200 1 return 0;
201 1 }
202
203 code uchar dis1[] = {" www.52eda.com "} ;
204 code uchar dis2[] = {"WELCOME TO 52EDA\n"} ;
205
206 code uchar send_txt[]={"测试程序到此结束,OK!\n需要帮助请登陆:\nwww.52eda.com\n"};
207 void test_serial()
208 {
209 1 int i;
210 1 EA=0;
211 1 for(i=0;i<sizeof(send_txt);i++)
212 1 {
213 2 SBUF=send_txt[i];
214 2 while(TI==0);
215 2 TI=0;
216 2 }
217 1 EA=1;
218 1
219 1 }
220
221 char key1_flag=0;
222 char key2_flag=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -