📄 uart.lst
字号:
C51 COMPILER V9.01 UART 07/28/2012 10:12:00 PAGE 1
C51 COMPILER V9.01, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN UART.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE UART.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*-------------------------------------
2 UART1测试:使用波特率9600发送到单片机上
3 单片机将收到的程序发回PC。
4 ---------------------------------------*/
5
6 #include "STC15F2K.h"
7 #include <intrins.H>
8
9 typedef unsigned char uchar;
10 typedef unsigned int uint;
11
12
13 bit busy;
14 uchar GetC;
15
16 void InitUART(void);
17 void SendData(uchar dat);
18 void SendString(uchar *s);
19
20 /*----------------------------
21 UART1初始化
22 -----------------------------*/
23 void InitUART(void)
24 {
25 1 SCON = 0x50; //8位可变波特率
26 1 AUXR1= AUXR1 & 0x3F;
27 1 AUXR = 0x40; //定时器1为1T模式
28 1 TMOD = 0x20; //定时器1为模式2(8位自动重载)
29 1 TL1 = 0xDC; //设置波特率重装值
30 1 TH1 = 0xDC;
31 1 TR1 = 1; //定时器1开始工作
32 1 ES = 1; //使能串口中断
33 1 EA = 1;
34 1
35 1 }
36
37
38 /*----------------------------
39 UART 中断服务程序
40 -----------------------------*/
41 void Uart() interrupt 4 using 1
42 {
43 1 if (RI)
44 1 {
45 2 RI = 0; //清除RI位
46 2 GetC = SBUF; //P0显示串口数据
47 2 }
48 1 if (TI)
49 1 {
50 2 TI = 0; //清除TI位
51 2 busy = 0; //清忙标志
52 2 }
53 1 }
54
55 /*----------------------------
C51 COMPILER V9.01 UART 07/28/2012 10:12:00 PAGE 2
56 发送串口数据
57 ----------------------------*/
58 void SendData(uchar dat)
59 {
60 1 while (busy); //等待前面的数据发送完成
61 1 busy = 1;
62 1 SBUF = dat; //写数据到UART数据寄存器
63 1 }
64
65 /*----------------------------
66 发送字符串
67 ----------------------------*/
68 void SendString(uchar *s)
69 {
70 1 while (*s) //检测字符串结束标志
71 1 {
72 2 SendData(*s++); //发送当前字符
73 2 }
74 1 }
75
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 86 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 3
IDATA SIZE = ---- ----
BIT SIZE = 1 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -