📄 chuankouceshi.lst
字号:
C51 COMPILER V8.02 CHUANKOUCESHI 05/22/2009 17:29:13 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE CHUANKOUCESHI
OBJECT MODULE PLACED IN chuankouceshi.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE chuankouceshi.c DEBUG OBJECTEXTEND
line level source
1 //#pragma src
2 /*******
3 串口测试,如果在串口写入4,则发送数据1;如果串口写入其他,发送数据0
4 *******/
5
6 #include<reg52.h>
7 #define uchar unsigned char
8 uchar i;
9 bit flag_data=0; //一次接收后发送一次的标志,不然主程序里会不停的发送
10 bit flag_send=0; //允许发送
11
12 void usart(void) interrupt 4
13 {
14 1 if(RI)
15 1 {
16 2 RI=0;
17 2 i=SBUF; //令SBUF=0x04,此步后i没有被SBUF赋值
18 2 flag_send=1;
19 2 if(i==4)flag_data=1;
20 2 else flag_data=0;
21 2 }
22 1 }
23
24 void usart_init() //初始化
25 {
26 1 TMOD=0x20;
27 1 TH1=0xfd;
28 1 TL1=TH1; //11.0592Mhz下9600波特率
29 1 PCON=0x00;
30 1 SCON=0x50;
31 1 TR1=1;
32 1 ET1=0;
33 1 ES=1;
34 1 RI=0;
35 1 TI=0;
36 1 EA=1; //开中断
37 1 }
38
39 void main()
40 {
41 1 usart_init();
42 1
43 1 while(1)
44 1 {
45 2 if(flag_send)
46 2 {
47 3 if(flag_data)SBUF=1; //这里可以发送任何数据,比如测试温度、红外、电压等等数据
48 3 else SBUF=0; //这里可以发送任何数据,比如测试温度、红外、电压等等数据,或者不发送
49 3 while(!TI); //这里原来有";"
50 3 TI=0;
51 3 flag_send=0;
52 3 }
53 2 }
54 1
55 1 }
C51 COMPILER V8.02 CHUANKOUCESHI 05/22/2009 17:29:13 PAGE 2
56
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 84 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -