📄 uart.lst
字号:
C51 COMPILER V8.08 UART 10/02/2007 07:17:25 PAGE 1
C51 COMPILER V8.08, 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
3 Uart.C (V1.00)
4
5
6 -*---------------------------------------------------------------------*/
7
8 /*
9 * Copyright (c) 2006,吴水林
10 * All rights reserved
11 *
12 * 文件名称: Uart.C
13 * 文件标识:
14 * 摘 要: 串行口
15 *
16 * 当前版本: V1.0 * 取代版本:
17 * 作 者: wsl * 修 改:
18 * 版本信息: 2006-09-14 * 修改信息:
19 */
20 //***********************************************************************
21
22 #include <string.h>
23 #include"main.H"
24 #include"Port.H"
25 #include"SCH51.H"
26 #include "MMI.h"
27 #include"Uart.h"
28 #include"LedDisp.h"
29
30
31 void uart_send_byte(const unsigned char val);
32
33
34 /*-----------------------------------------------------------------------*-
35 * 函数名称: Uart_Init()
36 * 参 数: BaudRate 波特率
37 * 返 回:
38 * 函数功能: 串行口初始化
39 *
40 * 说 明:
41 *
42 * 当前版本: V1.0 * 取代版本:
43 * 作 者: wsl * 修 改:
44 * 版本信息: 2006-09-14 * 修改信息:
45 -*-----------------------------------------------------------------------*/
46 void Uart_Init(const eBaudRate Value)
47 {
48 1 TMOD &= 0x0f;
49 1 TMOD |= 0x20;
50 1 TH1 = Value;
51 1 TL1 = Value;
52 1 PCON &= 0x7f;
53 1 SCON = 0x50;
54 1 TR1 = 1;
55 1 ES = 1;
C51 COMPILER V8.08 UART 10/02/2007 07:17:25 PAGE 2
56 1 }
57
58 /*-----------------------------------------------------------------------*-
59 * 函数名称: Uart_ISR()
60 * 参 数: xx
61 * 返 回: xx
62 * 函数功能: 串行口中服函数
63 *
64 * 说 明:
65 *
66 * 当前版本: V1.0 * 取代版本:
67 * 作 者: wsl * 修 改:
68 * 版本信息: 2006-09-14 * 修改信息:
69 -*-----------------------------------------------------------------------*/
70 void UartInterruptServer(void) interrupt 4
71 {
72 1 ES = 0;
73 1 RI = 0;
74 1
75 1 ES = 1;
76 1 }
77
78 /******************************************************************************
79 * Function Name : uart_send_byte
80 * Parameter : val
81 * Return Value : void
82 * Description : The UART send byte as raw date
83 * Created : 2005.6.1 by wangsw
84 * Modified : -
85 ******************************************************************************/
86 void uart_send_byte(const unsigned char val)
87 {
88 1 bit bES;
89 1 bES = ES;
90 1 ES = 0;
91 1 SBUF = val;
92 1 while(!TI);
93 1 TI = 0;
94 1 ES = bES;
95 1 }
96
97 /*-----------------------------------------------------------------------*-
98 * 函数名称: send_sec_msg()
99 * 参 数: xx
100 * 返 回: xx
101 * 函数功能: 向PC发送秒信息
102 *
103 * 说 明:
104 *
105 * 当前版本: V1.0 * 取代版本:
106 * 作 者: wsl * 修 改:
107 * 版本信息: 2006-09-14 * 修改信息:
108 -*-----------------------------------------------------------------------*/
109 void send_sec_msg(void)
110 {
111 1 uart_send_byte(now.sec / 10 + 0x30);
112 1 uart_send_byte(now.sec % 10 + 0x30);
113 1 uart_send_byte(0x0d);
114 1 uart_send_byte(0x0a);
115 1 }
116
117 /******************************************************************************
C51 COMPILER V8.08 UART 10/02/2007 07:17:25 PAGE 3
118 * Function Name : uart_send_string
119 * Parameter : pData, len
120 * Return Value : void
121 * Description : The UART send string,when len = 0,auto detect string len
122 * Created : 2005.6.1 by wangsw
123 * Modified : -
124 ******************************************************************************/
125 void uart_send_string(unsigned char *pData, unsigned char len)
126 {
127 1 bit bES;
128 1 unsigned char i, j;
129 1 bES = ES;
130 1 ES = 0;
131 1 if(len)
132 1 {
133 2 i = len;
134 2 while(i--)
135 2 {
136 3 SBUF = *pData++;
137 3 while(!TI);
138 3 TI = 0;
139 3 }
140 2 }
141 1 else
142 1 {
143 2 i = strlen(pData);
144 2 while(i--)
145 2 {
146 3 j = *pData++;
147 3 if(j == 0x0A)
148 3 {
149 4 SBUF = 0x0D;
150 4 while(!TI);
151 4 TI = 0;
152 4 }
153 3 SBUF = j;
154 3 while(!TI);
155 3 TI = 0;
156 3 }
157 2 }
158 1
159 1 ES = bES;
160 1 }
161
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 188 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 3
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 + -