📄 uart.lst
字号:
C51 COMPILER V7.06 UART 10/24/2006 15:35:21 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN Uart.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Uart.C BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*******************************************************************************
2 Uart.C
3 串行口收发程序
4 *******************************************************************************/
5
6
7 #include <Uart.h>
8
9
10 //定义发送中断辅助标志(仅用于发送)
11 bit _TI_;
12
13 //定义接收缓冲区和标志
14 unsigned char UartRecBuf;
15 bit UartRecFlag = 0;
16
17
18 //串行口初始化
19 void UartInit()
20 {
21 1 EA = 0;
22 1 TR1 = 0;
23 1 RXD = 1;
24 1 TXD = 1;
25 1 _TI_ = 1;
26 1 SCON = 0x50; //串口方式1,允许接收
27 1 PCON |= 0x80; //波特率加倍
28 1 TMOD &= 0x0F;
29 1 TMOD |= 0x20;
30 1 TH1 = 256 - ( MCLK / 12 ) / ( 16 * BAUD_RATE );
31 1 TL1 = TH1; //设置波特率
32 1 TR1 = 1;
33 1 ES = 1; //允许串行口中断
34 1 EA = 1; //允许中断
35 1 }
36
37
38 //串行口中断服务程序
39 void UartINTSVC() interrupt 4
40 {
41 1 char c;
42 1 if ( RI ) //接收中断
43 1 {
44 2 c = SBUF;
45 2 RI = 0;
46 2 UartRecBuf = c;
47 2 UartRecFlag = 1;
48 2 }
49 1 if ( TI ) //发送中断
50 1 {
51 2 TI = 0;
52 2 _TI_ = 1;
53 2 }
54 1 }
55
C51 COMPILER V7.06 UART 10/24/2006 15:35:21 PAGE 2
56
57 /*******************************************************************************
58 函数:UartPutc()
59 功能:通过串行口发送单个字节
60 参数:c-被发送的字节数据,取值0x00~0xFF
61 *******************************************************************************/
62 void UartPutc(char c)
63 {
64 1 while ( !_TI_ );
65 1 _TI_ = 0;
66 1 SBUF = c;
67 1 }
68
69
70 /*******************************************************************************
71 函数:UartPuts()
72 功能:通过串行口发送字符串
73 参数:*s-被发送的字符串:字符串应当以'\0'结尾,而'\0'本身不会被发送出去
74 *******************************************************************************/
75 void UartPuts(char *s)
76 {
77 1 char c;
78 1 for (;;)
79 1 {
80 2 c = *s;
81 2 if ( c == '\0' ) break;
82 2 s++;
83 2 UartPutc(c);
84 2 }
85 1 }
86
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 94 ----
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 + -