?? uart_040.lst
字號:
C51 COMPILER V7.50 UART_040 12/06/2006 11:05:33 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE UART_040
OBJECT MODULE PLACED IN uart_040.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe uart_040.c DB OE
line level source
1 #include "c8051F040.h"
2 #define uchar unsigned char
3 #define uint unsigned int
4
5 void port_init();
6 void os_init();
7 void uart_init();
8 void time_init();
9 /*************************************************************************
10 *
11 *主函數
12 **************************************************************************/
13 void main()
14 {
15 1 uchar g;
16 1 WDTCN = 0xDE; // 關閉看門狗
17 1 WDTCN = 0xAD;
18 1 os_init(); //晶振初始化
19 1 port_init(); //端口初始化
20 1 uart_init();
21 1 time_init();
22 1 SFRPAGE = CONFIG_PAGE;
23 1 IE = 0x90; //開中斷
24 1
25 1
26 1 while(1)
27 1 {
28 2 SFRPAGE = UART0_PAGE;
29 2
30 2
31 2 g=SBUF0;
32 2 SFRPAGE = UART0_PAGE;
33 2 while(RI0==0); RI0=0;
34 2
35 2 {
36 3 SFRPAGE = UART0_PAGE;
37 3 SBUF0=g;
38 3
39 3 while(TI0==0);
40 3 SFRPAGE = UART0_PAGE;
41 3 TI0=0;
42 3
43 3 }
44 2 }
45 1
46 1
47 1 }
48 /*************************************************************************
49 *
50 *端口初始化函數
51 **************************************************************************/
52 void port_init()
53 {
54 1 SFRPAGE = CONFIG_PAGE;
55 1
C51 COMPILER V7.50 UART_040 12/06/2006 11:05:33 PAGE 2
56 1 XBR0 = 0x04;
57 1 XBR2 = 0x40;
58 1
59 1 P0MDOUT = 0X10;
60 1
61 1 }
62 /*************************************************************************
63 *
64 *系統時鐘初始化,選擇外部晶體振蕩器
65 **************************************************************************/
66 void os_init()
67 {
68 1 int i = 0;
69 1 SFRPAGE = CONFIG_PAGE;
70 1 OSCXCN = 0x67; //外部22.1184M晶振
71 1 for (i = 0; i < 3000; i++); //等待外部晶振穩定
72 1 while ((OSCXCN & 0x80) == 0);
73 1 CLKSEL = 0x01; //系統時鐘不分頻
74 1
75 1 }
76 /*************************************************************************
77 *
78 *串口初始化,選擇UART1
79 **************************************************************************/
80 void uart_init()
81 {
82 1 SFRPAGE = UART0_PAGE;
83 1 SCON0 = 0x50; //允許uart1
84 1
85 1 }
86 /*************************************************************************
87 *
88 *定時器初始化,作為UART0的波特率發生器
89 *************************************************************************/
90 void time_init()
91 {
92 1 SFRPAGE = TIMER01_PAGE;
93 1 TCON = 0X40;
94 1 TMOD = 0x20;
95 1 CKCON = 0X10;
96 1 TH1 = 0xb8;
97 1 TR1=1;
98 1
99 1
100 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 118 ----
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 + -