📄 test.lst
字号:
C51 COMPILER V7.20 TEST 08/27/2006 10:48:13 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE TEST
OBJECT MODULE PLACED IN test.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE test.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "reg52.h"
2
3
4
5
6 void init_serial(void)
7
8 {
9 1 //定时器1的工作方式2
10 1 TMOD=0x20; //装载计数初值
11 1 TL1=0xfd;
12 1 TH1=0xfd; //采用串口工作方式1,无奇偶校验
13 1 SCON=0x50; //串口波特率不加倍
14 1 PCON=0x00; //开总中断,开串口中断
15 1 IE=0x90; //启动定时器1
16 1 TR1=1;
17 1 }
18 code unsigned char send_txt[]={"测试程序,OK!\n"};
19 void test_serial(void)
20 {
21 1 int i;
22 1 EA=0;
23 1
24 1 for(i=0;i<sizeof(send_txt);i++)
25 1 {
26 2 SBUF=send_txt[i];
27 2 while(TI==0);
28 2 TI=0;
29 2 }
30 1 EA=1;
31 1
32 1 }
33
34
35
36
37 //中断源编号为4,即串口中断
38
39 void getch(void) interrupt 4
40 {
41 1
42 1 unsigned char a;
43 1 EA=0;//清除中断标志,硬件置位,软件清零
44 1 RI=0;
45 1
46 1 a=SBUF; //接受串口缓冲区数据
47 1
48 1 if(a==0x0a)
49 1 {
50 2 test_serial();
51 2 }
52 1 //通过串口缓冲区向外发送数据
53 1 //SBUF=a;
54 1 //判断是否发送结束:TI==1为结束
55 1 //while(TI==0);
C51 COMPILER V7.20 TEST 08/27/2006 10:48:13 PAGE 2
56 1 //发送结束标志清零
57 1 //TI=0;
58 1 EA=1;
59 1
60 1 }
61
62 main()
63 {
64 1 init_serial();
65 1 test_serial();
66 1 while(1);
67 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 102 ----
CONSTANT SIZE = 16 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -