📄 uart.lst
字号:
C51 COMPILER V8.05a UART 03/14/2009 18:41:30 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 LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <STC_NEW_8051.H>
2 #include <string.h>
3 #include "uart.h"
4 #include "myfun.h"
5
6
7
8 /*
9 ------------------------------------------------------
10 此函数用于初始化串口,66M波特率为115200BPS
11 ------------------------------------------------------
12 */
13
14 void UART_Init()
15 {
16 1 PCON|=0x80;
17 1 /*
18 1 PCON的最高位SMOD=1时波特率加倍
19 1 此语句将此位置1
20 1 */
21 1 TMOD=0x20;
22 1 /*
23 1 设置定时器1为方式2
24 1 初值自动装入
25 1 */
26 1 TH1=0xf3;
27 1 TL1=0xf3;
28 1 /*
29 1 为定时器1方式2设置初值
30 1 0xf3是:12M晶振时,波特率为4800bps
31 1 */
32 1 SCON=0x50;
33 1 /*
34 1 串口设置为方式1,REN=1,允许接收
35 1 */
36 1 TR1=1;//启动定时器1
37 1 ES=1; //打开定时器中断
38 1 EA=1; //打开所有中断
39 1 }
40
41 /*-------------------------------------------------------
42 函数名:send()
43 功能:用户函数,发送一个字节的数据
44 作者:于振南
45 ----------------------------------------------------------*/
46
47 void UART_Send_Byte(unsigned char mydata)
48 {
49 1 ES=0;
50 1 TI=0;
51 1 SBUF=mydata;
52 1 while(!TI);
53 1 TI=0;
54 1 ES=1;
55 1 }
C51 COMPILER V8.05a UART 03/14/2009 18:41:30 PAGE 2
56
57 void UART_Send_Enter()
58 {
59 1 UART_Send_Byte(0x0d);
60 1 UART_Send_Byte(0x0a);
61 1 }
62
63 /*-------------------------------------------------------
64 函数名:send_s()
65 功能:用户函数,发送一个字符串
66 作者:于振南
67 ----------------------------------------------------------*/
68
69 void UART_Send_Str(char *s)
70 {
71 1 int len=strlen(s)-1;
72 1 int i;
73 1 for(i=0;i<len;i++)
74 1 UART_Send_Byte(s[i]);
75 1 if(s[i]=='\n')
76 1 {
77 2 UART_Send_Enter();
78 2 }
79 1 else
80 1 {
81 2 UART_Send_Byte(s[i]);
82 2 }
83 1 }
84
85 void UART_Put_Num(unsigned long dat)
86 {
87 1 char temp[20];
88 1 u32tostr(dat,temp);
89 1 UART_Send_Str(temp);
90 1 }
91
92 void UART_Put_Inf(char *inf,unsigned long dat)
93 {
94 1 UART_Send_Str(inf);
95 1 UART_Put_Num(dat);
96 1 UART_Send_Str("\n");
97 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 209 ----
CONSTANT SIZE = 2 ----
XDATA SIZE = ---- 29
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -