📄 uart.lst
字号:
C51 COMPILER V8.02 UART 03/14/2009 16:22:21 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 <C8051F020.H>
2 #include"intrins.h"
3 #include"UART.h"
4
5 /*************************************************************************
6 使用一部外设时一定要设置交叉开关和通用口,将外设映射到通用口,如UART
7 *************************************************************************/
8 void delay_us(unsigned int us)
9 {
10 1 while(us--)
11 1 {
12 2 _nop_();
13 2 _nop_();
14 2 _nop_();
15 2 _nop_();
16 2 }
17 1 }
18
19 void delay(uint8 ms)
20 {
21 1 uint8 i;
22 1 unsigned int j;
23 1 for(i=0;i<ms;i++)
24 1 for(j=0;j<12250;j++);
25 1 }
26
27 void PORT_Init(void)
28 {
29 1 XBR0|=0X14; //TX0,RX0连到P0.0和P0.1 CEX0、CEX1连接到P0.2和P0.3
30 1 P0MDOUT|=0X0D;
31 1 XBR2=0X40;
32 1 }
33
34
35 void ClkInit() //选外部晶振作为时钟
36 {
37 1 //OSCXCN|=0X77; //系统时钟晶振二分频
38 1 OSCXCN|=0X67; //系统时钟晶振不分频
39 1 delay_us(500);
40 1 while(!XTLVLD);
41 1 OSCICN=0X08;
42 1 }
43
44 void UartInit()
45 {
46 1 TMOD=0X20; //选择定时器1,8位自动重装方式
47 1 SM00=0; //UART0选择方式1
48 1 SM10=1;
49 1 TCLK0=0; //选择定时器1作为时钟源
50 1 RCLK0=0;
51 1 CKCON|=0X10; //T1M=1,定时器1不12分频
52 1 PCON|=0x80; //SMOD0=1,禁止 UART0 的波特率/2 功能,PCON控制字属于电源管理
53 1
54 1 TH1=0XFA;
55 1 TL1=0XFA;
C51 COMPILER V8.02 UART 03/14/2009 16:22:21 PAGE 2
56 1
57 1 TI0=0;
58 1 TR1=1;
59 1
60 1 }
61
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 99 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
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 + -