📄 uart.lst
字号:
C51 COMPILER V8.02 UART 03/31/2008 17:24:46 PAGE 1
C51 COMPILER V8.02, 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 #include "hardware.h"
2 #include "uart.h"
3 uchar Sending;
4 /********************************************************************
5 函数功能:串口初始化。
6 入口参数:无。
7 返 回:无。
8 备 注:无。
9 ********************************************************************/
10 void InitUART(void)
11 {
12 1 EA=0;
13 1 TMOD=0x20; //定时器1工作在模式2
14 1 SCON=0x50; //串口工作在模式1
15 1 TCON=0x05;
16 1 TH1=0xFA;//256-Fclk/(BitRate*12*16);
17 1 TL1=0xFA;//256-Fclk/(BitRate*12*16);
18 1 PCON=0x80; //串口波特率加倍
19 1 ES=1; //串行中断允许
20 1 TR1=1; //启动定时器1
21 1 REN=1; //允许接收
22 1 EA=1; //允许中断
23 1 }
24 ////////////////////////End of function//////////////////////////////
25
26
27 /********************************************************************
28 函数功能:串口中断处理。
29 入口参数:无。
30 返 回:无。
31 备 注:无。
32 ********************************************************************/
33 void UartISR(void) interrupt 4
34 {
35 1 if(TI)
36 1 {
37 2 TI=0;
38 2 Sending=0; //清正在发送标志
39 2 }
40 1 }
41 ////////////////////////End of function//////////////////////////////
42
43 /********************************************************************
44 函数功能:往串口发送一字节数据。
45 入口参数:d: 要发送的字节数据。
46 返 回:无。
47 备 注:无。
48 ********************************************************************/
49 void UartPutChar(uchar d)
50 {
51 1 Sending=1;
52 1 SBUF=d;
53 1 while(Sending);
54 1 }
55 ////////////////////////End of function//////////////////////////////
C51 COMPILER V8.02 UART 03/31/2008 17:24:46 PAGE 2
56 /********************************************************************
57 函数功能:发送一个byte的数据。
58 入口参数:待发送的数据。
59 返 回:无。
60 备 注:无。
61 ********************************************************************/
62 void Printc(uchar x)
63 {
64 1 Sending=1;
65 1 SBUF=x;
66 1 while(Sending);
67 1 }
68 /********************************************************************
69 函数功能:发送一个字符串。
70 入口参数:pd:要发送的字符串指针。
71 返 回:无。
72 备 注:无。
73 ********************************************************************/
74 void Prints(uchar * pd)
75 {
76 1 while((*pd)!='\0')
77 1 {
78 2 UartPutChar(*pd);
79 2 pd++;
80 2 }
81 1 }
82 ////////////////////////End of function//////////////////////////////
83
84 void PrintResult(ulong Result)
85 {
86 1 uchar i;
87 1 uchar SendBuffer[10];
88 1
89 1 SendBuffer[0] =( Result % 1000000 / 100000) + 0x30 ; //MSB
90 1 SendBuffer[1] =( Result % 100000 / 10000 ) + 0x30 ;
91 1 SendBuffer[2] =( Result % 10000 / 1000 ) + 0x30 ;
92 1 SendBuffer[3] =( Result % 1000 / 100 ) + 0x30 ;
93 1 SendBuffer[4] =( Result % 100 / 10 ) + 0x30 ;
94 1 SendBuffer[5] =( Result % 10 ) + 0x30 ; //LSB
95 1
96 1 for(i=0;i<6;i++)
97 1 {
98 2 Sending=1;
99 2 SBUF=SendBuffer[i];
100 2 while(Sending);
101 2 }
102 1 }
103
104
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 325 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 14
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 + -