📄 uart.lst
字号:
C51 COMPILER V8.08 UART 06/18/2008 02:25:33 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE UART
OBJECT MODULE PLACED IN .\4.Obj\UART.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 3.Source\UART.c BROWSE INCDIR(.\2.Inc) DEBUG OBJECTEXTEND PRINT(.\5.List\UA
-RT.lst) OBJECT(.\4.Obj\UART.obj)
line level source
1 #include<reg52.h>
2 #include<stdio.h>
3
4 unsigned char COMBUF[10]; /* 定义接收缓冲区
- */
5 unsigned char COMCNT = 0;
6 /*********************************************************************************************************
-*******************
7 **函数名称:InitCOM
- **
8 **函数功能:串口初始化函数
- **
9 **入口参数:BpsLvl : 波特率等级。1=600bps,2=1200bps....5=9600bps,6=19200bps...8=57600bps
- **
10 **出口参数:无
- **
11 **具体资源:无
- **
12 **调用程序:无
- **
13 **备 注:在系统时钟为晶振为22.1184M 方式1 波特率600-57600
- **
14 **********************************************************************************************************
-******************/
15 void InitCOM(void) //串口初始化函数
16 {
17 1 TMOD = 0X21; //设置T1为模式2,8位自动重装,T0为模式1。
18 1 SCON = 0X50; //设置串口为模式1,SM2=0,REN=1。
19 1 PCON = 0X80; //设置波特率为 9600B/S。
20 1 TH0 = 0X01;
21 1 TL0 = 0X01;
22 1 TH1 = -22118400L/12/32/4800;
23 1 TL1 = -22118400L/12/32/4800;
24 1 ET0 = 1;
25 1 ES = 1; //开串口中断,以便接收主机数据。
26 1 TR0 = 1;
27 1 TR1 = 1;
28 1 EA = 1;
29 1 }
30
31 /*********************************************************************************************************
-*******************
32 **函数名称:UartSendUart
- **
33 **函数功能:通过串口发送
- **
34 **入口参数:要发送的一字节数据
- **
35 **出口参数:无
- **
36 **具体资源:无
- **
37 **调用程序:无
- **
C51 COMPILER V8.08 UART 06/18/2008 02:25:33 PAGE 2
38 **备 注:
- **
39 **********************************************************************************************************
-******************/
40 void UartSendByte(unsigned char dat)//串口发送函数
41 {
42 1 SBUF = dat;
43 1 while (TI != 1) {
44 2 };
45 1 }
46
47
48 /*********************************************************************************************************
-*******************
49 **函数名称:UartSendStr
- **
50 **函数功能:通过串口发送一串字符
- **
51 **入口参数:要发送的字符串
- **
52 **出口参数:无
- **
53 **具体资源:无
- **
54 **调用程序:无
- **
55 **备 注:
- **
56 **********************************************************************************************************
-******************/
57 void UartSendStr(unsigned char *pStr)//串口发送函数
58 {
59 1 while ((*pStr) != '\0') {
60 2 UartSendByte(*pStr);
61 2 pStr++;
62 2 }
63 1 }
64
65
66 /*********************************************************************************************************
-*******************
67 **函数名称:COM_IRQ
- **
68 **函数功能:串口接收中断处理函数
- **
69 **入口参数:显示位置
- **
70 **出口参数:无
- **
71 **具体资源:无
- **
72 **调用程序:无
- **
73 **备 注:
- **
74 **********************************************************************************************************
-******************/
75 COM_IRQ(void) interrupt 4
76 {
77 1 if (RI == 1) { /* 处理接收中断
- */
78 2 RI=0; /* 清除中断标志位
C51 COMPILER V8.08 UART 06/18/2008 02:25:33 PAGE 3
- */
79 2 if (SBUF != 0x0d) {
80 3 UartSendByte(SBUF);
81 3 COMBUF[COMCNT] = SBUF;
82 3 COMCNT++;
83 3 }else {
84 3 UartSendByte(0x0d);
85 3 UartSendByte(0x0a);
86 3 COMCNT = 0;
87 3 }
88 2 }else if (TI == 1) {
89 2 TI=0;
90 2 }
91 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 124 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 ----
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 + -