📄 main.lst
字号:
C166 COMPILER V6.04, MAIN 08/30/2007 18:29:21 PAGE 1
C166 COMPILER V6.04, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN MAIN.OBJ
COMPILER INVOKED BY: C:\Keil C166\C166\BIN\C166.EXE MAIN.C MODV2 BROWSE MODV2 DEBUG
stmt lvl source
1 //****************************************************************************
2 // @Module Project Settings
3 // @Filename MAIN.C
4 // @Project GPIO.dav
5 //----------------------------------------------------------------------------
6 // @Controller Infineon XC164CS-16F20
7 //
8 // @Compiler Keil
9 //
10 // @Codegenerator 2.8
11 //
12 // @Description This file contains the project initialization function.
13 //
14 //----------------------------------------------------------------------------
15 // @Date 2007-7-13 15:36:21
16 //
17 //****************************************************************************
18
19 // USER CODE BEGIN (MAIN_General,1)
20 /********************************************************************\
21 ** 程序功能: 实现端口P1L外接的8个LED循环采用三种不同的方式移动点亮 **
22 ** 版 本: v1.0 **
23 ** 作 者: lezm 北京乾勤科技 **
24 ** 日 期: 2007年7月13日 **
25 \********************************************************************/
26 // USER CODE END
27
28
29
30 //****************************************************************************
31 // @Project Includes
32 //****************************************************************************
33
34 #include "MAIN.H"
35
36 // USER CODE BEGIN (MAIN_General,2)
37
38 // USER CODE END
39
40
41 //****************************************************************************
42 // @Macros
43 //****************************************************************************
44
45 // USER CODE BEGIN (MAIN_General,3)
46
47 // USER CODE END
48
49
50 //****************************************************************************
51 // @Defines
52 //****************************************************************************
53
54 // USER CODE BEGIN (MAIN_General,4)
55 #define FLASH_LED P1L //连接LED端口定义
C166 COMPILER V6.04, MAIN 08/30/2007 18:29:21 PAGE 2
56
57 // USER CODE END
58
59
60 //****************************************************************************
61 // @Typedefs
62 //****************************************************************************
63
64 // USER CODE BEGIN (MAIN_General,5)
65
66 // USER CODE END
67
68
69 //****************************************************************************
70 // @Imported Global Variables
71 //****************************************************************************
72
73 // USER CODE BEGIN (MAIN_General,6)
74 ubyte FlashLed[]={0x18,0x24,0x42,0x81,0x00}; //控制从LED中间向两边移的数组
75
76 // USER CODE END
77
78
79 //****************************************************************************
80 // @Global Variables
81 //****************************************************************************
82
83 // USER CODE BEGIN (MAIN_General,7)
84
85 // USER CODE END
86
87
88 //****************************************************************************
89 // @External Prototypes
90 //****************************************************************************
91
92 // USER CODE BEGIN (MAIN_General,8)
93
94 // USER CODE END
95
96
97 //****************************************************************************
98 // @Prototypes Of Local Functions
99 //****************************************************************************
100
101 // USER CODE BEGIN (MAIN_General,9)
102 //*********** 延时函数 ********
103 void delay(uword x)
104 {
105 1 uword i;
106 1 while(x--)
107 1 for(i=0;i<10000;i++)
108 1 continue;
109 1 }
110
111 //********* LED点亮后单个右移 *********
112 void RightMovLed(void)
113 {
114 1 uword temp;
115 1 temp=0x40;
116 1 while(temp)
117 1 {
C166 COMPILER V6.04, MAIN 08/30/2007 18:29:21 PAGE 3
118 2 temp=temp>>1&0x7f;
119 2 FLASH_LED=temp;
120 2 delay(3);
121 2 }
122 1 }
123
124 //********* LED点亮后单个左移 *********
125 void LeftMovLed(void)
126 {
127 1 uword temp;
128 1 temp=0x01;
129 1 while(temp)
130 1 {
131 2 temp=temp<<1&0xfe;
132 2 FLASH_LED=temp;
133 2 delay(3);
134 2 }
135 1 }
136
137 //********* 实现两个LED从中间跑两边 *********
138 void LedFlash(void)
139 {
140 1 ubyte i=0;
141 1 while(FlashLed[i])
142 1 {
143 2 FLASH_LED=FlashLed[i];
144 2 i++;
145 2 delay(3);
146 2 }
147 1 }
148
149 //********* 交叉闪烁 *********
150 void crossFlash(void)
151 {
152 1 ubyte i,temp;
153 1 temp=0x55;
154 1 for(i=0;i<10;i++)
155 1 {
156 2 FLASH_LED=temp;
157 2 temp=~temp;
158 2 delay(3);
159 2 }
160 1 }
161 // USER CODE END
162
163
164 //****************************************************************************
165 // @Function void MAIN_vInit(void)
166 //
167 //----------------------------------------------------------------------------
168 // @Description This function initializes the microcontroller.
169 //
170 //----------------------------------------------------------------------------
171 // @Returnvalue None
172 //
173 //----------------------------------------------------------------------------
174 // @Parameters None
175 //
176 //----------------------------------------------------------------------------
177 // @Date 2007-7-13
178 //
179 //****************************************************************************
C166 COMPILER V6.04, MAIN 08/30/2007 18:29:21 PAGE 4
180
181 // USER CODE BEGIN (Init,1)
182
183 // USER CODE END
184
185 void MAIN_vInit(void)
186 {
187 1 // USER CODE BEGIN (Init,2)
188 1
189 1 // USER CODE END
190 1
191 1 /// -----------------------------------------------------------------------
192 1 /// Configuration of the System Clock:
193 1 /// -----------------------------------------------------------------------
194 1 /// - VCO clock used, input clock is connected
195 1 /// - input frequency is 8 MHz
196 1 /// - VCO output frequency 100 .. 150 MHz
197 1 /// - system clock is 20 MHz
198 1
199 1 MAIN_vUnlockProtecReg(); // unlock write security
200 1 PLLCON = 0x7814; // load PLL control register
201 1
202 1
203 1 //// -----------------------------------------------------------------------
204 1 //// Begin of Important Settings for the Start-Up File
205 1 //// -----------------------------------------------------------------------
206 1 /// All following settings must be set in the start-up file. You can use
207 1 /// DAvE's project file (*.dpt) to include this register values into your
208 1 /// compiler EDE.
209 1
210 1 /// ---------------------------------------------------------------------
211 1 /// Initialization of the CPUCON1 Register:
212 1 /// ---------------------------------------------------------------------
213 1 /// - space between two vectors is 2 words
214 1 /// - DISWDT executable until End of Init
215 1 /// - segmentation is enabled
216 1 /// - switch context is interruptible
217 1 /// - branch prediction is enabled
218 1 /// - zero cycle jump function is enabled
219 1
220 1 //// this register must be set in the start-up file
221 1 //// CPUCON1 = 0x0007
222 1
223 1 /// ---------------------------------------------------------------------
224 1 /// Initialization of the VECSEG Register:
225 1 /// ---------------------------------------------------------------------
226 1 /// - start from external memory
227 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -