📄 uart.lst
字号:
C51 COMPILER V7.20 UART 05/15/2007 15:32:40 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN UART.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe UART.c DB OE
line level source
1 #include "MEMSIC.h"
2
3
4
5 /****************************************************************************
6 ** 函数名称: UART0_Init()
7 ** 功能描述: 串口0初始化.
8 ** 入口参数: 无
9 ** 出口参数: 无
10 ** 说明: 设置工作模式,定义波特率发生器等.
11 ****************************************************************************/
12 void UART0_Init(void)
13 {
14 1 SCON0 = 0x10;
15 1 }
16
17
18
19 /****************************************************************************
20 ** 函数名称: UART0_SetBaudRate()
21 ** 功能描述: 串口0波特率设置.
22 ** 入口参数: uiBaudRate,波特率,如9600等.
23 ** 出口参数: 无
24 ** 全局变量: 使用定时器T4.
25 ** 调用模块: 无
26 ****************************************************************************/
27 void UART0_SetBaudRate(uint8 uiBaudRate)
28 {
29 1 switch(uiBaudRate)
30 1 {
31 2 case 3: //Baudrate 4800bps
32 2 TH1 = 0x98;
33 2 TL1 = 0x98;
34 2 break;
35 2 case 2: //Baudrate 9600bps
36 2 TH1 = 0xcc;
37 2 TL1 = 0xcc;
38 2 break;
39 2 case 1: //Baudrate 19200bps
40 2 TH1 = 0xe6;
41 2 TL1 = 0xe6;
42 2 break;
43 2 default: break;
44 2 }
45 1 }
46
47
48
49 /****************************************************************************
50 ** 函数名称: UART0_SendByte()
51 ** 功能描述: 串口0发送1个字节.
52 ** 入口参数: ucDATA(要发送的数据)
53 ** 出口参数: 无
54 ** 说明:
55 ****************************************************************************/
C51 COMPILER V7.20 UART 05/15/2007 15:32:40 PAGE 2
56 bit UART0_SendByte(uint8 ucDATA)
57 {
58 1 uint16 data TimOutCnt;
59 1 TimOutCnt = 0;
60 1
61 1 TI0 = 0;
62 1 SBUF0 = ucDATA;
63 1 while( TI0 != 1 )
64 1 {
65 2 TimOutCnt++;
66 2 if(TimOutCnt > 50000) //
67 2 return 1; // Time OUT!
68 2 }
69 1
70 1 return 0;
71 1 }
72
73
74
75 /****************************************************************************
76 ** 函数名称: UART0_RecvByte()
77 ** 功能描述: 串口0接收1个字节.
78 ** 入口参数: 无
79 ** 出口参数: 接收到的数据,否则返回0xaa.
80 ** 说明:
81 ****************************************************************************/
82 uint16 UART0_RecvByte(void)
83 {
84 1 uint16 data TimOutCnt;
85 1 uint8 data ucTMP;
86 1 TimOutCnt = 0;
87 1
88 1 RI0 = 0;
89 1 while( RI0 != 1 ) // Wait for
90 1 {
91 2 TimOutCnt++;
92 2 if(TimOutCnt > 50000)
93 2 return 0x8000; // Time OUT!
94 2 }
95 1
96 1 ucTMP = SBUF0; // Receive DATA
97 1 return ucTMP;
98 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 106 ----
CONSTANT SIZE = ---- ----
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 + -