📄 main.lst
字号:
C51 COMPILER V8.00 MAIN 11/17/2008 10:50:37 PAGE 1
C51 COMPILER V8.00, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.exe main.c DB OE BR
line level source
1 /*
2 ** ============================================================================
3 **
4 ** FILE
5 ** main.c
6 **
7 ** DESCRIPTION
8 ** Main file of the Si443x demo
9 **
10 ** CREATED
11 ** Silicon Laboratories Hungary Ltd
12 **
13 ** COPYRIGHT
14 ** Copyright 2008 Silicon Laboratories, Inc.
15 ** http://www.silabs.com
16 **
17 ** ============================================================================
18 */
19 /*------------------------------------------------------------------------*/
20 /* INCLUDE */
21 /*------------------------------------------------------------------------*/
22
23 #include "S8051.h"
24 #include "uart.h"
25 #include "dog_glcd.h"
26 #include "timers.h"
27 #include "IA443x_demo.h"
28
29 /*------------------------------------------------------------------------*/
30 /* GLOBAL variables */
31 /*------------------------------------------------------------------------*/
32 extern bit fUartCommandReceived;
33
34 /*------------------------------------------------------------------------*/
35 /* FUNCTION prototypes */
36 /*------------------------------------------------------------------------*/
37 void InitHw(void);
38
39
40 /* ============================================================ *
41 * MAIN PROGRAM *
42 * ============================================================ */
43 void main(void)
44 {
45 1 //initialize the HW
46 1 InitHw();
47 1 //initialize the demo
48 1 DemoInit();
49 1
50 1 //main loop
51 1 while(1)
52 1 {
53 2 DemoStateMachine();
54 2
55 2 //if uart command received, handle it
C51 COMPILER V8.00 MAIN 11/17/2008 10:50:37 PAGE 2
56 2 if(fUartCommandReceived == TRUE)
57 2 {
58 3 fUartCommandReceived = FALSE;
59 3 UartCommandInterpreter();
60 3 }
61 2 }
62 1 }
63
64
65 void InitHw(void)
66 {
67 1 U16 i;
68 1
69 1 //Disable the Watchdog Timer
70 1 PCA0MD &= ~0x40;
71 1 PCA0MD = 0x00;
72 1
73 1 //I/O PORT INIT
74 1 // P0.0 - Skipped, Open-Drain, Digital
75 1 // P0.1 - Skipped, Open-Drain, Digital
76 1 // P0.2 - Skipped, Open-Drain, Analog
77 1 // P0.3 - Skipped, Open-Drain, Analog
78 1 // P0.4 - TX0 (UART0), Push-Pull, Digital
79 1 // P0.5 - RX0 (UART0), Open-Drain, Digital
80 1 // P0.6 - Skipped, Open-Drain, Digital
81 1 // P0.7 - Skipped, Open-Drain, Digital
82 1 // P1.0 - SCK (SPI1), Push-Pull, Digital
83 1 // P1.1 - MISO (SPI1), Open-Drain, Digital
84 1 // P1.2 - MOSI (SPI1), Push-Pull, Digital
85 1 // P1.3 - Skipped, Push-Pull, Digital
86 1 // P1.4 - Skipped, Push-Pull, Digital
87 1 // P1.5 - Skipped, Push-Pull, Digital
88 1 // P1.6 - Skipped, Push-Pull, Digital
89 1 // P1.7 - Skipped, Push-Pull, Digital
90 1
91 1 // P2.0 - Skipped, Open-Drain, Digital
92 1 // P2.1 - Skipped, Open-Drain, Digital
93 1 // P2.2 - Skipped, Push-Pull, Digital
94 1 // P2.3 - Skipped, Push-Pull, Digital
95 1 // P2.4 - Skipped, Push-Pull, Digital
96 1 // P2.5 - Skipped, Push-Pull, Digital
97 1 // P2.6 - Skipped, Push-Pull, Digital
98 1 // P2.7 - Skipped, Push-Pull, Digital
99 1 P0MDIN = 0xF3;
100 1 P0MDOUT = 0x10;
101 1 P0SKIP = 0xCF;
102 1
103 1 P1MDIN = 0xFF;
104 1 P1MDOUT = 0xFD;
105 1 P1SKIP = 0xF8;
106 1
107 1 P2MDIN = 0xFF;
108 1 P2MDOUT = 0xFC;
109 1 P2SKIP = 0xFF;
110 1
111 1 SFRPAGE = CONFIG_PAGE;
112 1 P0DRV = 0x10;
113 1 P1DRV = 0xFD;
114 1 P2DRV = 0xFC;
115 1 SFRPAGE = LEGACY_PAGE;
116 1
117 1 XBR0 = 0x01;
C51 COMPILER V8.00 MAIN 11/17/2008 10:50:37 PAGE 3
118 1 XBR1 = 0x40;
119 1 XBR2 = 0x40;
120 1 //set inputs
121 1 P0 |= 0xE3; //Set P0 inputs
122 1 P1 |= 0x02; //Set P1 inputs
123 1 P2 |= 0x03; //Set P2 inputs
124 1 //default I/O port
125 1 LED1_PIN = 0;
126 1 LED2_PIN = 0;
127 1 LED3_PIN = 0;
128 1 LED4_PIN = 0;
129 1 BLED_PIN = 0;
130 1 LCD_NSEL_PIN = 1;
131 1 LCD_A0_PIN = 0;
132 1 LCD_RESET_PIN = 1;
133 1
134 1 //Oscillator init: external XTAL (16MHz), SYSCLK=XTAL/2
135 1 OSCXCN = 0x77;
136 1 //1ms delay for XTAL stablization
137 1 for(i=0;i<500;i++);
138 1 while ((OSCXCN & 0x80) == 0);
139 1 CLKSEL = 0x01;
140 1
141 1 //Initialize SPI
142 1 SetHwMasterSpi();
143 1 //Initialize Uart
144 1 UartInit();
145 1 //initialize the LCD
146 1 LcdInit();
147 1 //enable interrupts
148 1 EnableGlobalIt();
149 1 }
150
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 136 ----
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 + -