📄 startup.lst
字号:
00BB +1 169 PT1 BIT IP.3 ; TIMER 1 PRIORITY
00BC +1 170 PS0 BIT IP.4 ; UART0 PRIORITY
00BD +1 171 PT2 BIT IP.5 ; TIMER 2 PRIORITY
00BE +1 172 PSPI0 BIT IP.6 ; SPI0 INTERRUPT PRIORITY
+1 173
+1 174 ; SMB0CN 0xC0
00C0 +1 175 SI BIT SMB0CN.0 ; SMBUS0 INTERRUPT FLAG
00C1 +1 176 ACK BIT SMB0CN.1 ; ACKNOWLEDGE FLAG
00C2 +1 177 ARBLOST BIT SMB0CN.2 ; ARBITRATION LOST INDICATOR
00C3 +1 178 ACKRQ BIT SMB0CN.3 ; ACKNOWLEDGE REQUEST
00C4 +1 179 STO BIT SMB0CN.4 ; STOP FLAG
00C5 +1 180 STA BIT SMB0CN.5 ; START FLAG
00C6 +1 181 TXMODE BIT SMB0CN.6 ; TRANSMIT MODE INDICATOR
00C7 +1 182 MASTER BIT SMB0CN.7 ; MASTER/SLAVE INDICATOR
+1 183
+1 184 ; TMR2CN 0xC8
00C8 +1 185 T2XCLK BIT TMR2CN.0 ; TIMER 2 EXTERNAL CLOCK SELECT
00CA +1 186 TR2 BIT TMR2CN.2 ; TIMER 2 ON/OFF CONTROL
00CB +1 187 T2SPLIT BIT TMR2CN.3 ; TIMER 2 SPLIT MODE ENABLE
00CD +1 188 TF2LEN BIT TMR2CN.5 ; TIMER 2 LOW BYTE INTERRUPT ENABLE
00CE +1 189 TF2L BIT TMR2CN.6 ; TIMER 2 LOW BYTE OVERFLOW FLAG
A51 MACRO ASSEMBLER STARTUP 06/13/2008 15:24:05 PAGE 4
00CF +1 190 TF2H BIT TMR2CN.7 ; TIMER 2 HIGH BYTE OVERFLOW FLAG
+1 191
+1 192 ; PSW 0xD0
00D0 +1 193 P BIT PSW.0 ; ACCUMULATOR PARITY FLAG
00D1 +1 194 F1 BIT PSW.1 ; USER FLAG 1
00D2 +1 195 OV BIT PSW.2 ; OVERFLOW FLAG
00D3 +1 196 RS0 BIT PSW.3 ; REGISTER BANK SELECT 0
00D4 +1 197 RS1 BIT PSW.4 ; REGISTER BANK SELECT 1
00D5 +1 198 F0 BIT PSW.5 ; USER FLAG 0
00D6 +1 199 AC BIT PSW.6 ; AUXILIARY CARRY FLAG
00D7 +1 200 CY BIT PSW.7 ; CARRY FLAG
+1 201
+1 202 ; PCA0CN 0xD8H
00D8 +1 203 CCF0 BIT PCA0CN.0 ; PCA0 MODULE 0 CAPTURE/COMPARE FLAG
00D9 +1 204 CCF1 BIT PCA0CN.1 ; PCA0 MODULE 1 CAPTURE/COMPARE FLAG
00DA +1 205 CCF2 BIT PCA0CN.2 ; PCA0 MODULE 2 CAPTURE/COMPARE FLAG
00DB +1 206 CCF3 BIT PCA0CN.3 ; PCA0 MODULE 3 CAPTURE/COMPARE FLAG
00DC +1 207 CCF4 BIT PCA0CN.4 ; PCA0 MODULE 4 CAPTURE/COMPARE FLAG
00DE +1 208 CR BIT PCA0CN.6 ; PCA0 COUNTER RUN CONTROL
00DF +1 209 CF BIT PCA0CN.7 ; PCA0 COUNTER OVERFLOW FLAG
+1 210
+1 211 ; ADC0CN 0xE8H
00E8 +1 212 AD0CM0 BIT ADC0CN.0 ; ADC0 CONVERSION MODE SELECT 0
00E9 +1 213 AD0CM1 BIT ADC0CN.1 ; ADC0 CONVERSION MODE SELECT 1
00EA +1 214 AD0CM2 BIT ADC0CN.2 ; ADC0 CONVERSION MODE SELECT 2
00EB +1 215 AD0WINT BIT ADC0CN.3 ; ADC0 WINDOW COMPARE INTERRUPT FLAG
00EC +1 216 AD0BUSY BIT ADC0CN.4 ; ADC0 BUSY FLAG
00ED +1 217 AD0INT BIT ADC0CN.5 ; ADC0 CONVERISION COMPLETE INTERRUPT FLAG
00EE +1 218 AD0TM BIT ADC0CN.6 ; ADC0 TRACK MODE
00EF +1 219 AD0EN BIT ADC0CN.7 ; ADC0 ENABLE
+1 220
+1 221 ; SPI0CN 0xF8H
00FF +1 222 SPIF BIT SPI0CN.7 ; SPI 0 INTERRUPT FLAG
00FE +1 223 WCOL BIT SPI0CN.6 ; SPI 0 WRITE COLLISION FLAG
00FD +1 224 MODF BIT SPI0CN.5 ; SPI 0 MODE FAULT FLAG
00FC +1 225 RXOVRN BIT SPI0CN.4 ; SPI 0 RX OVERRUN FLAG
00FB +1 226 NSSMD1 BIT SPI0CN.3 ; SPI 0 SLAVE SELECT MODE 1
00FA +1 227 NSSMD0 BIT SPI0CN.2 ; SPI 0 SLAVE SELECT MODE 0
00F9 +1 228 TXBMT BIT SPI0CN.1 ; SPI 0 TRANSMIT BUFFER EMPTY
00F8 +1 229 SPIEN BIT SPI0CN.0 ; SPI 0 SPI ENABLE
230
231
232 NAME ?C_STARTUP
233
234
235 ?C_C51STARTUP SEGMENT CODE
236
237 EXTRN CODE (?C_START)
238 PUBLIC ?C_STARTUP
239
240 ?STACK SEGMENT IDATA ; ?STACK goes into IDATA RAM.
---- 241 RSEG ?STACK ; switch to ?STACK segment.
0000 242 DS 50 ; reserve your stack space
243
---- 244 CSEG AT 0
0000 245 ?C_STARTUP:
0000 020000 F 246 LJMP STARTUP1 ;上电复位
---- 247 CSEG AT 0003H ;外部0
0003 32 248 RETI
---- 249 CSEG AT 000BH ;定时器0溢出
000B 32 250 RETI
---- 251 CSEG AT 0013H ;外部1
0013 32 252 RETI
---- 253 CSEG AT 001BH ;定时器1溢出
001B 32 254 RETI
255 ; CSEG AT 0023H ;UART0
A51 MACRO ASSEMBLER STARTUP 06/13/2008 15:24:05 PAGE 5
256 ; RETI
257 ; CSEG AT 002BH ;定时器2溢出
258 ; RETI
---- 259 CSEG AT 0033H ;SPI0
0033 32 260 RETI
---- 261 CSEG AT 003BH ;SMB0
003B 32 262 RETI
---- 263 CSEG AT 0043H ;保留
0043 32 264 RETI
---- 265 CSEG AT 004BH ;ADC0窗口比较
004B 32 266 RETI
---- 267 CSEG AT 0053H ;ADC0转换结束
0053 32 268 RETI
---- 269 CSEG AT 005BH ;PCA0
005B 32 270 RETI
---- 271 CSEG AT 0063H ;比较器0
0063 32 272 RETI
---- 273 CSEG AT 006BH ;比较器1
006B 32 274 RETI
---- 275 CSEG AT 0073H ;定时器3溢出
0073 32 276 RETI
277
278 ;************************* 上电复位运行F310配置程序 **********************
279
---- 280 RSEG ?C_C51STARTUP
281
0000 282 STARTUP1:
0000 C2AF 283 CLR EA
0002 7581A0 284 MOV SP ,#0A0H
285 ; MOV SP ,#?STACK-1
286 ; (1) PCA初始化:关闭看门狗
0005 53D9BF 287 ANL PCA0MD, #0BFH
0008 75D900 288 MOV PCA0MD, #000H
289
290 ; (2) 定时器初始化:(T0,T3未使用)
000B 758845 291 MOV TCON, #045H ;INT0/1边沿触发中断(备用)TR1(b6)=1(启
动T1运行)
292 ; T1:UART0的波特率发生器 波特率=9600
000E 758920 293 MOV TMOD, #020H
0011 758B96 294 MOV TL1, #096H
295 ; MOV TH1, #096H ;9600/15200
0014 758DB0 296 MOV TH1, #0B0H ;9600/15200
297
298 ; T2:1ms周期中断:重载值=-24500
299 ; MOV CKCON, #010H ;T2时钟=24.5Mhz,9600
300 ; MOV CKCON, #018H ;T2时钟=24.5Mhz,115200
0017 758E11 301 MOV CKCON, #011H ;T2时钟=24.5Mhz,38400
001A 75CA4C 302 MOV TMR2RLL, #LOW(-24500) ;0A04CH
001D 75CBA0 303 MOV TMR2RLH, #HIGH(-24500)
0020 75CC4C 304 MOV TMR2L, #LOW(-24500)
0023 75CDA0 305 MOV TMR2H, #HIGH(-24500)
306 ; mov TMR2CN, #004h ;TR2(b2)=1(启动T2运行)
307
308 ; (2) UART初始化:8N1,9600,允许接收。
0026 759830 309 MOV SCON0, #030H ;8N1,允许接收。
310
311 ; (4) 基准电压初始化
0029 75D108 312 MOV REF0CN, #008H
313
314 ; (5) 通用IO端口初始化
315
316 ;------------- P0端口 ----------------------------
317 ; 7 6 5 4 3 2 1 0
318 ; - - RX0 TX0 - - - -
319 ;----------------------------------------------------
002C 75A430 320 MOV P0MDOUT, #030H
A51 MACRO ASSEMBLER STARTUP 06/13/2008 15:24:05 PAGE 6
002F 7580FF 321 MOV P0, #0FFH
322
323 ;------------ P1端口 ----------------------------
324 ; 7 6 5 4 3 2 1 0
325 ; - - - - - - - -
326 ;----------------------------------------------------
0032 75A500 327 MOV P1MDOUT, #000H
0035 7590FF 328 MOV P1, #0FFH
329
330 ;------------ P2端口 ----------------------------
331 ; 7 6 5 4 3 2 1 0
332 ; - - GDO0 GDO1 CSn SO SCLK SI
333 ;----------------------------------------------------
0038 75A60B 334 MOV P2MDOUT, #00BH
003B 75A0FF 335 MOV P2, #0FFH
336
337 ;------------ P3端口 ----------------------------
338 ; 7 6 5 4 3 2 1 0
339 ; - - - 灯1 灯2 灯3 灯4 -
340 ;----------------------------------------------------
003E 75A71E 341 MOV P3MDOUT, #01EH
0041 75B0E1 342 MOV P3, #0E1H
343 ;首纸徊婵
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -