📄 config.lst
字号:
C51 COMPILER V8.08 CONFIG 03/02/2009 10:42:34 PAGE 1
C51 COMPILER V8.08, COMPILATION OF MODULE CONFIG
OBJECT MODULE PLACED IN .\Output-files\config.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Config\config.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\List-files\config.l
-st) OBJECT(.\Output-files\config.obj)
line level source
1 #include "..\ucos-ii\includes.h"
2
3 #define SYSCLK 22118400
4
5
6
7
8
9 extern void SYSCLK_Init(void);
10 extern void Port_Init(void);
11 extern void Time2_Init(void);
12 extern void UART0_Init(void);
13
14 void config(void)
15 {
16 1 WDTCN = 0xde;
17 1 WDTCN = 0xad;
18 1
19 1 SYSCLK_Init();
20 1 Port_Init ();
21 1 Time2_Init();
22 1 UART0_Init();
23 1
24 1 }
25
26
27
28 void Time2_Init (void)
29 {
30 1 char SFRPAGE_SAVE;
31 1
32 1 SFRPAGE_SAVE = SFRPAGE; // Preserve SFRPAGE
33 1
34 1 SFRPAGE = TMR2_PAGE;
35 1
36 1 TMR2CN = 0x00; // Timer in 16-bit auto-reload up timer
37 1 // mode
38 1 TMR2CF = 0x08; // SYSCLK is time base; no output;
39 1 // up count only
40 1 RCAP2 = - ((long) SYSCLK/1000);
41 1 //次数为SYSTEMCLOCK/1000 系统每次时间为1/SYSTEMCLOCK 所以就得出进行一次益处计数为1/1000秒
42 1 TMR2 = RCAP2;
43 1 TR2= 1;
44 1 ET2 = 1; // Timer2 interrupt enabled
45 1 }
46
47 void SYSCLK_Init (void)
48 {
49 1 char old_SFRPAGE = SFRPAGE;
50 1
51 1 unsigned int i;
52 1
53 1 SFRPAGE = CONFIG_PAGE; // Switch to Configuration Page
54 1
C51 COMPILER V8.08 CONFIG 03/02/2009 10:42:34 PAGE 2
55 1 OSCXCN = 0x67; // start external oscillator with
56 1 // 22.1184MHz crystal on TB
57 1
58 1 for (i=0; i <5000; i++) ; // XTLVLD blanking interval (>1ms)
59 1
60 1 while (!(OSCXCN & 0x80)) ; // Wait for crystal osc. to settle
61 1
62 1 //RSTSRC = 0x04; // enable missing clock detector reset
63 1
64 1 CLKSEL = 0x01; // change to external crystal
65 1
66 1 OSCICN = 0x83; // Enable internal oscillator
67 1
68 1 SFRPAGE = old_SFRPAGE; // restore SFRPAGE
69 1 }
70
71
72 void PORT_Init (void)
73 {
74 1 char SFRPAGE_SAVE = SFRPAGE; // Save Current SFR page
75 1
76 1 SFRPAGE = CONFIG_PAGE;
77 1 P2MDOUT = 0x03;
78 1 P0MDOUT = 0x01;
79 1 XBR0 = 0x05;
80 1 XBR2 = 0x40;
81 1 SFRPAGE = SFRPAGE_SAVE; // Restore SFR page
82 1
83 1 }
84
85
86
87 //-----------------------------------------------------------------------------
88 // UART0_Init
89 //-----------------------------------------------------------------------------
90 //
91 // Return Value : None
92 // Parameters : None
93 //
94 // Configure the UART1 using Timer1, for <baudrate> and 8-N-1.
95 //
96 //-----------------------------------------------------------------------------
97 void UART0_Init (void)
98 {
99 1 char old_SFRPAGE = SFRPAGE;
100 1
101 1 SFRPAGE = UART0_PAGE; // Switch to UART0 page
102 1
103 1 SCON0 = 0x50; // SCON: mode 1, 8-bit UART, enable RX
104 1 SSTA0 = 0x10; // Timer 1 generates UART0 baud rate and
105 1 // UART0 baud rate divide by two disabled
106 1
107 1 SFRPAGE = TIMER01_PAGE; // Switch to Timer 0/1 page
108 1
109 1 TMOD = 0x20; // TMOD: timer 1, mode 2, 8-bit reload
110 1 TH1 = -(SYSCLK/BAUDRATE/16); // set Timer1 reload value for baudrate
111 1 //此公式在数据文档240页
112 1 TR1 = 1; // start Timer1
113 1 CKCON |= 0x10; // Timer1 uses SYSCLK as time base
114 1 PCON |= 0x80; // SMOD = 1
115 1
116 1 SFRPAGE = UART0_PAGE; // Switch to UART0 page
C51 COMPILER V8.08 CONFIG 03/02/2009 10:42:34 PAGE 3
117 1
118 1 TI0 = 1; // Indicate TX ready
119 1
120 1 SFRPAGE = old_SFRPAGE; // restore SFRPAGE
121 1
122 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 139 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 1
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 + -