📄 isp_mcu.lst
字号:
303 01C4 C0 34 PUSH retH ;
304 01C6 22 RET
305 ;
306 ;;;
307 ;set Baudrate using Timer2, fosc=11.0592 MHz
308 ;BaudRate=fosc/2/(65536-RCAP2H,L)/16
309
310 init_UART_115200a: ;@11.0592MHz
311 01C7 75 36 CA MOV TH0e,#>(65536-13824) ;Tpwe=15ms/(12/11.0592us)=13824
312 01CA 75 37 00 MOV TL0e,#<(65536-13824) ;
313 01CD 75 38 FF MOV TH0p,#>(65536-46) ;Tpwp=50us/(12/11.0592us)=46
314 01D0 75 39 D2 MOV TL0p,#<(65536-46) ;
315
316 01D3 75 98 50 MOV SCON,#01010000b ;Serial port mode 1: 8-bit UART
317 01D6 75 C8 30 MOV T2CON,#00110000b ;Timer2: B.R.G. mode
318 01D9 C2 CA CLR TR2
319 01DB 75 CB FF MOV RCAP2H,#>(65536-3) ;Baudrate=115200 bps, @11.0592MHz
320 01DE 75 CA FD MOV RCAP2L,#<(65536-3) ;
321 01E1 D2 CA SETB TR2
322 01E3 22 RET
323 ;
324 init_UART_115200b: ;@18.4320MHz
325 01E4 75 36 A6 MOV TH0e,#>(65536-23040) ;Tpwe=15ms for ISP
326 01E7 75 37 00 MOV TL0e,#<(65536-23040) ;
327 01EA 75 38 FF MOV TH0p,#>(65536-77) ;Tpwp=50us for ISP
328 01ED 75 39 B3 MOV TL0p,#<(65536-77) ;
329
330 01F0 75 98 50 MOV SCON,#01010000b ;Serial port mode 1: 8-bit UART
331 01F3 75 C8 30 MOV T2CON,#00110000b ;Timer2: B.R.G. mode
332 01F6 C2 CA CLR TR2
Mon Nov 29 2004 16:01 Page 7
333 01F8 75 CB FF MOV RCAP2H,#>(65536-5) ;Baudrate=115200 bps, @18.4320MHz
334 01FB 75 CA FB MOV RCAP2L,#<(65536-5) ;
335 01FE D2 CA SETB TR2
336 0200 22 RET
337 ;
338 init_UART_115200c: ;@22.1184MHz
339 0201 75 36 94 MOV TH0e,#>(65536-27648) ;Tpwe=15ms for ISP
340 0204 75 37 00 MOV TL0e,#<(65536-27648) ;
341 0207 75 38 FF MOV TH0p,#>(65536-92) ;Tpwp=50us for ISP
342 020A 75 39 A4 MOV TL0p,#<(65536-92) ;
343
344 020D 75 98 50 MOV SCON,#01010000b ;Serial port mode 1: 8-bit UART
345 0210 75 C8 30 MOV T2CON,#00110000b ;Timer2: B.R.G. mode
346 0213 C2 CA CLR TR2
347 0215 75 CB FF MOV RCAP2H,#>(65536-6) ;Baudrate=115200 bps, @22.1184MHz
348 0218 75 CA FA MOV RCAP2L,#<(65536-6) ;
349 021B D2 CA SETB TR2
350 021D 22 RET
351 ;
352 init_UART_115200d: ;@36.8640MHz
353 021E 75 36 4C MOV TH0e,#>(65536-46080) ;Tpwe=15ms for ISP
354 0221 75 37 00 MOV TL0e,#<(65536-46080) ;
355 0224 75 38 FF MOV TH0p,#>(65536-154) ;Tpwp=50us for ISP
356 0227 75 39 66 MOV TL0p,#<(65536-154) ;
357
358 022A 75 98 50 MOV SCON,#01010000b ;Serial port mode 1: 8-bit UART
359 022D 75 C8 30 MOV T2CON,#00110000b ;Timer2: B.R.G. mode
360 0230 C2 CA CLR TR2
361 0232 75 CB FF MOV RCAP2H,#>(65536-10) ;Baudrate=115200 bps, @36.8640MHz
362 0235 75 CA F6 MOV RCAP2L,#<(65536-10) ;
363 0238 D2 CA SETB TR2
364 023A 22 RET
365 ;
366 init_UART_115200e: ;@40.5504MHz
367 023B 75 36 3A MOV TH0e,#>(65536-50688) ;Tpwe=15ms for ISP
368 023E 75 37 00 MOV TL0e,#<(65536-50688) ;
369 0241 75 38 FF MOV TH0p,#>(65536-169) ;Tpwp=50us for ISP
370 0244 75 39 57 MOV TL0p,#<(65536-169) ;
371
372 0247 75 98 50 MOV SCON,#01010000b ;Serial port mode 1: 8-bit UART
373 024A 75 C8 30 MOV T2CON,#00110000b ;Timer2: B.R.G. mode
374 024D C2 CA CLR TR2
375 024F 75 CB FF MOV RCAP2H,#>(65536-11) ;Baudrate=115200 bps, @40.5504MHz
376 0252 75 CA F5 MOV RCAP2L,#<(65536-11) ;
377 0255 D2 CA SETB TR2
378 0257 22 RET
379 ;
380 ;;;
381 0258 enable_idle_chk:
382 0258 75 89 21 MOV TMOD,#00100001b ;Timer1: mode2, 8-bit auto-reload
383 ;Timer0: mode1, 16-bit timer
384 025B 75 8C 00 MOV TH0,#0 ;65536*12/11.0592us=71.5ms/intrpt.
385 025E 75 8A 00 MOV TL0,#0 ;
386 0261 D2 8C SETB TR0 ;
387 0263 D2 A9 SETB ET0 ;enable TF0 interrupt
388 0265 D2 AF SETB EA ;
389 0267 22 RET
Mon Nov 29 2004 16:01 Page 8
390 ;
391 0268 disable_idle_chk:
392 0268 C2 A9 CLR ET0 ;disable TF0 interrupt
393 026A C2 AF CLR EA ;
394 026C C2 8C CLR TR0 ;turn off Timer0
395 026E 22 RET
396 ;------------------------------------------------------------------------------
397 026F send_data_to_PC:
398 026F 12 02 A4 CALL wait_RTS_from_PC ;wait, until PC is ready to receive data
399 0272 85 30 99 MOV SBUF,data ;send data to PC
400 0275 30 99 FD JNB TI,$
401 0278 C2 99 CLR TI
402 027A 22 RET
403 ;
404 027B send_data_to_PC2:
405 027B 85 30 99 MOV SBUF,data ;send data to PC
406 027E 30 99 FD JNB TI,$
407 0281 C2 99 CLR TI
408 0283 22 RET
409 ;------------------------------------------------------------------------------
410 0284 receive_data_from_PC:
411 0284 12 02 AF CALL send_DSR_to_PC ;tell PC: 8051 is ready to receive data
412 0287 30 98 FD JNB RI,$ ;receive data from PC
413 028A C2 98 CLR RI
414 028C 85 99 30 MOV data,SBUF
415 028F 22 RET
416 ;
417 0290 receive_data_from_PC2:
418 0290 30 98 FD JNB RI,$ ;receive data from PC
419 0293 C2 98 CLR RI
420 0295 85 99 30 MOV data,SBUF
421 0298 22 RET
422 ;------------------------------------------------------------------------------
423 0299 wait_DTR_from_PC:
424 0299 30 98 FD JNB RI,$
425 029C C2 98 CLR RI
426 029E E5 99 MOV A,SBUF
427 02A0 B4 AA F6 CJNE A,#DTR,wait_DTR_from_PC
428 02A3 22 RET
429 ;------------------------------------------------------------------------------
430 02A4 wait_RTS_from_PC:
431 02A4 30 98 FD JNB RI,$
432 02A7 C2 98 CLR RI
433 02A9 E5 99 MOV A,SBUF
434 02AB B4 CC F6 CJNE A,#RTS,wait_RTS_from_PC
435 02AE 22 RET
436 ;------------------------------------------------------------------------------
437 02AF send_DSR_to_PC:
438 02AF 75 99 BB MOV SBUF,#DSR
439 02B2 30 99 FD JNB TI,$
440 02B5 C2 99 CLR TI
441 02B7 22 RET
442 ;------------------------------------------------------------------------------
443 02B8 send_CTS_to_PC:
444 02B8 75 99 DD MOV SBUF,#CTS
445 02BB 30 99 FD JNB TI,$
446 02BE C2 99 CLR TI
Mon Nov 29 2004 16:01 Page 9
447 02C0 22 RET
448 ;******************************************************************************
449 ;
450 02C1 END
Lines Assembled : 450 Assembly Errors : 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -