📄 rxd8951.lst
字号:
C51 COMPILER V8.15 RXD8951 10/20/2008 22:32:27 PAGE 1
C51 COMPILER V8.15, COMPILATION OF MODULE RXD8951
OBJECT MODULE PLACED IN rxd8951.OBJ
COMPILER INVOKED BY: D:\4-Keil C51 v8.15\C51\BIN\C51.EXE rxd8951.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************************
2 *
3 * 文件名称:rxd8951.c
4 *
5 * 功能描述:串口接收数据,并显示相应数据。
6 * 接收到呼叫号后,发送应答号
7 通信建立,开始数据传输
8 *
9 * 开发环境:IDE为Keil uVision3 v8.09a。MCU为AT89S52,晶振频率12M。
10 *
11 * 文件版本 v1.0
12 *
13 * 创建时间:2008/10/20
14 *
15 * 修改记录:无
16 *
17 ******************************************************************************/
18 #include <reg51.h>
19
20 void delay(unsigned int i) /*用来短暂延时。延时时间为每循环一次为14us,总循环时间再加上14us为延时时间*/
21 {
22 1 while(i--);
23 1 }
24 /*******************************************************************************
25 *
26 * 描述: 串口通信初始化,设置串口工作在模式1下,接收使能,使用Timer1工作在模式2下,
27 * 波特率2400
28 *
29 * 参数: 无
30 *
31 * 返回: 无
32 *
33 ******************************************************************************/
34 void init_serialcom()
35 { SCON=0x50;
36 1 TMOD=0x20;
37 1 TH1=0xF3;
38 1 TL1=0xF3;
39 1 TR1=1;
40 1 }
41 /*******************************************************************************
42 *
43 * 描述: 向串口发送一个字符或一个字节。
44 *
45 * 参数: ch 待发送字符或字节
46 *
47 * 返回: 无
48 *
49 ******************************************************************************/
50 void send_char_com(unsigned char ch)
51 { SBUF=ch;
52 1 while(TI==0);
53 1 TI=0;
54 1 }
55 /*******************************************************************************
C51 COMPILER V8.15 RXD8951 10/20/2008 22:32:27 PAGE 2
56 *
57 * 描述: 向串口发送一个字符串或多个字节。
58 *
59 * 参数: str 待发送字符串或多字节首地址
60 * strlen 待发送字符串或多字节长度
61 *
62 * 返回: 无
63 *
64 ******************************************************************************/
65 void send_string_com(unsigned char *str,unsigned int strlen)
66 { unsigned int k=0;
67 1 do
68 1 {
69 2 send_char_com(*(str+k));
70 2 k++;
71 2 }while(k<strlen);
72 1 }
73
74
75 main()
76 { unsigned char response=0; //判断通信是否建立用
77 1 unsigned char num;
78 1 init_serialcom();
79 1
80 1 do
81 1 {
82 2 while(!RI); //判断是否接收完毕,完毕(RI=1)开始发送应答
83 2 RI=0;
84 2 response=SBUF;
85 2 }while(response!=0x99);
86 1 num=0x01; //呼叫号01H
87 1 send_char_com(num); //发送呼叫号01H
88 1
89 1 while(1)
90 1 { while(!RI); //等待数据接收
91 2 RI=0;
92 2 P0=SBUF; //显示接收到的数据
93 2 delay(200);
94 2
95 2 }
96 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 116 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 5
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 + -