📄 main.lst
字号:
C51 COMPILER V7.07 MAIN 04/25/2008 16:25:36 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg51.h>
2 void delay(unsigned int i);
3 void send(unsigned char n );
4 void serial_init(void);
5 void sendstr(unsigned char *str);
6
7 main()
8 {
9 1 unsigned char k,a[]="hello world!\n";
10 1 serial_init();
11 1 delay(500);
12 1 sendstr(a);
13 1 sendstr("hello hello world!\n");
14 1 while(1)
15 1 {
16 2 P1=0xff;P2=0xff;P3=0xff;P0=0xff;
17 2 k=P1&P2&P3&P0;
18 2
19 2
20 2 while(k!=0xff)
21 2 {
22 3 switch(k)
23 3 {
24 4
25 4 case 0xfe: if(P2!=0xff)sendstr("01");if(P3!=0xff)send(0x41);if(P1!=0xff)send(0x41);if(P0!=0xff)send(0x
-41); break;
26 4 case 0xfd: if(P2!=0xff)sendstr("02");if(P3!=0xff)send(0x42);if(P1!=0xff)send(0x41);if(P0!=0xff)send(0x
-41); break;
27 4 case 0xfb: if(P2!=0xff)sendstr("03");if(P3!=0xff)send(0x43);if(P1!=0xff)send(0x41);if(P0!=0xff)send(0x
-41); break;
28 4 case 0xf7: if(P2!=0xff)send(0x34);if(P3!=0xff)send(0x44);if(P1!=0xff)send(0x41);if(P0!=0xff)send(0x41)
-; break;
29 4 case 0xef: if(P2!=0xff)send(0x35);if(P3!=0xff)send(0x45);if(P1!=0xff)send(0x41);if(P0!=0xff)send(0x
-41); break;
30 4 case 0xdf: if(P2!=0xff)send(0x36);if(P3!=0xff)send(0x46);if(P1!=0xff)send(0x41);if(P0!=0xff)send(0x41)
-; break;
31 4 case 0xbf: if(P2!=0xff)send(0x37);if(P3!=0xff)send(0x47);if(P1!=0xff)send(0x41);if(P0!=0xff)send(0x41)
-; break;
32 4 case 0x7f: if(P2!=0xff)send(0x38);if(P3!=0xff)send(0x48);if(P1!=0xff)send(0x41);if(P0!=0xff)send(0x
-41); break;
33 4
34 4 default: break;
35 4
36 4 }
37 3
38 3
39 3 while(k==P1||k==P2||k==P3||k==P0);
40 3 break;
41 3
42 3 }
43 2 }
44 1 }
45 void send(unsigned char n )
46 {
47 1 SBUF=n;
C51 COMPILER V7.07 MAIN 04/25/2008 16:25:36 PAGE 2
48 1 while(!TI);
49 1 TI=0;
50 1 }
51 void sendstr(unsigned char *str)
52 {
53 1 while(1)
54 1 {
55 2
56 2 if(*str=='\0')
57 2 {send('\r');
58 3 send('\n');
59 3 break;
60 3 }
61 2 send(*str++);delay(10000);
62 2
63 2
64 2 }
65 1 }
66
67 void delay(unsigned int i )
68 {
69 1 while(i--);
70 1 }
71 void serial_init(void)
72 {
73 1 TMOD = 0x20; //MOV 89H,#20H ;timer 1 mode 2: 8-Bit reload(定时器T1 模式2: 8位自动初值重装)
74 1 TH1 = 0xfa; //MOV 8DH,#0E8H
75 1 TL1 = 0xfa; //MOV 8BH,#0E8H ;1200bps, 11.059
76 1 TR1 = 1; //SETB 8EH ;启动定时器1
77 1 SCON = 0x58; // mode 1: 10-bit UART, enable receiver(模式1: 10位异步发送/接收, 使能接收允许位)
78 1 PCON=0x80; /*串口波特率设置*/
79 1 }
80
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 575 ----
CONSTANT SIZE = 43 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 18
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -