📄 uart.lst
字号:
C51 COMPILER V8.05a UART 06/15/2011 17:21:07 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN uart.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE uart.c BROWSE DEBUG OBJECTEXTEND TABS(5)
line level source
1 #include "STC12C5A60S2.h"
2 #include <string.h>
3 #include "uart.h"
4
5 /*--------------------------------------
6 串口初始化
7 --------------------------------------*/
8
9 void init(void)
10 {
11 1
12 1 TMOD = 0x20; //定时器1产生波特率
13 1
14 1 SCON = 0x50; //方式2,8位数据,波特率可变
15 1
16 1 PCON = 0x00; //不倍增波特率
17 1
18 1 AUXR = 0x00; //1T工作方式,不使用波特率发生器
19 1
20 1 IP = 0x00; //优先级默认
21 1
22 1 TH1 = TL1 = 0xfd; //波特率 9600
23 1
24 1 TR1 = 1; //启动定时器产生波特率
25 1
26 1 EA=1;
27 1
28 1 }
29
30
31 /*--------------------------------------
32 发送一个字符
33 --------------------------------------*/
34
35 void txd_1c(unsigned char x)
36 {
37 1 TI=0;
38 1
39 1 SBUF=x;
40 1
41 1 while(!TI);
42 1
43 1 TI=0;
44 1 }
45
46 /*--------------------------------------
47 回车换行
48 --------------------------------------*/
49
50 void txd_end()
51 {
52 1 txd_1c(0x0d);
53 1 txd_1c(0x0a);
54 1 }
55 /*--------------------------------------
C51 COMPILER V8.05a UART 06/15/2011 17:21:07 PAGE 2
56 发送一个字符串
57 --------------------------------------*/
58 void txd_s(char *p)
59 {
60 1 int i;
61 1
62 1 for(i=0;i<(strlen(p)-1);i++)
63 1
64 1 txd_1c(p[i]);
65 1
66 1 if(p[i]=='\n')
67 1
68 1 txd_end();
69 1
70 1 else txd_1c(p[i]);
71 1 }
72
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 144 ----
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 + -