亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? isp_mcu.asm

?? Isp_w78e516_MCU.zip:-----W78E516B單片機(jī)的ISP在線下載的MCU端源程序(2500.A.D公司的X51.EXE)
?? ASM
字號(hào):
;******************************************************************************
;                         W78E516B單片機(jī)的ISP在線下載的MCU端源程序(ASM51)
;******************************************************************************
;設(shè)計(jì)人:田伯運(yùn)
;e-mail:tianboyun@163.com
;版本號(hào): V1.0
;編譯軟件:2500.A.D公司的X51.EXE
;******************************************************************************

         .chip 8052
         .ramchk OFF

;------------------------------------------------------------------------------
;definition for connecting to PC

DTR             EQU  AAh
DSR             EQU  BBh
RTS             EQU  CCh
CTS             EQU  DDh
OK              EQU  EEh
FAIL            EQU  FFh
ESC             EQU  27
;
;------------------------------------------------------------------------------

CHPENR          REG  F6h
SFRAL           REG  C4h
SFRAH           REG  C5h
SFRFD           REG  C6h
SFRCN           REG  C7h
CHPCON          REG  BFh

data            REG  30h
file_end_addrH  REG  31h
file_end_addrL  REG  32h
retL            REG  33h
retH            REG  34h
idle_time       REG  35h
TH0e            REG  36h
TL0e            REG  37h
TH0p            REG  38h
TL0p            REG  39h

chk_PC_flag     REG  20h.0

;?#############################################################################
         ORG    0000h
         JMP    start
         ORG    000Bh
         JMP    TF0_isr
start:
         MOV    SP,#7Fh
         CALL   connect_to_PC
start2:
         CALL   receive_data_from_PC2     ;make sure to enter ISP mode
         MOV    A,data                    ;
         CJNE   A,#5Ah,not_ISP            ;
         CALL   receive_data_from_PC2     ;
         MOV    A,data                    ;
         CJNE   A,#A5h,not_ISP            ;
         CALL   receive_data_from_PC2     ;
         MOV    A,data                    ;
         CJNE   A,#55h,not_ISP            ;
         CALL   receive_data_from_PC2     ;
         MOV    A,data                    ;
         CJNE   A,#AAh,not_ISP            ;
         JMP    ISP_mode
not_ISP:
         JMP    start
;
ISP_mode:
         MOV    CHPENR,#87h          ;enable CHPCON write attribute
         MOV    CHPENR,#59h          ;

         CALL   receive_data_from_PC2
         MOV    A,data
         CJNE   A,#'1',select_LDROM
 select_APROM:
         MOV    A,CHPCON
         JNB    A.7,illegal_select   ;CHPCON.7 should be 1, boot from 4K LDROM
         MOV    CHPCON,#03h          ;enable ISP, 64K APROM is re-programmed
         JMP    ISP_start
 select_LDROM:
         MOV    A,CHPCON
         JB     A.7,illegal_select   ;CHPCON.7 should be 0, boot from 64K APROM
         MOV    CHPCON,#01h          ;enable ISP, 4K LDROM is re-programmed
         JMP    ISP_start

illegal_select:
         MOV    data,#FAIL
         CALL   send_data_to_PC2
         JMP    start
;
ISP_start:
         MOV    data,#OK
         CALL   send_data_to_PC2

         CALL   receive_data_from_PC2
         MOV    file_end_addrL,data  ;file_end_addrL
         CALL   receive_data_from_PC2
         MOV    file_end_addrH,data  ;file_end_addrH

         MOV    IE,#10000010b        ;enable TF0 interrupt
         MOV    TMOD,#00100001b      ;Timer0: mode1, 16-bit timer for ISP
                                     ;Timer1: mode2, 8-bit auto-reload UART
;
;------------------------------------------------------------------------------
; Erase
;------------------------------------------------------------------------------
         MOV    A,CHPCON
         JB     A.1,erase_APROM
erase_LDROM:
         MOV    SFRCN,#62h           ;Erase 4K LDROM
         JMP    do_erase
erase_APROM:
         MOV    SFRCN,#22h           ;Erase 64K APROM
   do_erase:
;
erase:
         MOV    TH0,TH0e             ;Tpwe=15ms/(12/11.0592us)=13824
         MOV    TL0,TL0e             ;
         SETB   TR0                  ;
         MOV    PCON,#01h            ;enter idle mode
erase_ok:
;
;------------------------------------------------------------------------------
; Program
;------------------------------------------------------------------------------
         MOV    A,CHPCON
         JB     A.1,program_APROM
program_LDROM:
         MOV    SFRCN,#61h           ;Program 4K LDROM
         JMP    do_program
program_APROM:
         MOV    SFRCN,#21h           ;Program 64K APROM
   do_program:
;
         MOV    DPTR,#0000h
program:
         MOV    data,#OK
         CALL   send_data_to_PC2
         CALL   receive_data_from_PC2

         MOV    SFRAH,DPH            ;
         MOV    SFRAL,DPL            ;
         MOV    SFRFD,data           ;

         MOV    TH0,TH0p             ;Tpwp=50us/(12/11.0592us)=46
         MOV    TL0,TL0p             ;
         SETB   TR0                  ;
         MOV    PCON,#01h            ;enter idle mode

         MOV    A,DPH
         CJNE   A,file_end_addrH,inc_addrP
         MOV    A,DPL
         CJNE   A,file_end_addrL,inc_addrP
         JMP    program_ok
inc_addrP:
         INC    DPL
         MOV    A,DPL
         CJNE   A,#00h,program
         INC    DPH
         JMP    program
program_ok:
         MOV    data,#5Ah            ;tell PC: program complete!
         CALL   send_data_to_PC2     ;
;
;------------------------------------------------------------------------------
; Verify
;------------------------------------------------------------------------------
         MOV    A,CHPCON
         JB     A.1,verify_APROM
verify_LDROM:
         MOV    SFRCN,#40h           ;Verify 4K LDROM
         JMP    do_verify
verify_APROM:
         MOV    SFRCN,#00h           ;Verify 64K APROM
   do_verify:
;
         MOV    DPTR,#0000h
verify:
         CALL   receive_data_from_PC2

         MOV    SFRAH,DPH            ;
         MOV    SFRAL,DPL            ;

         MOV    TH0,#>(65536-46)     ;Tpwr=50us/(12/11.0592us)=46
         MOV    TL0,#<(65536-46)     ;
         SETB   TR0                  ;
         MOV    PCON,#01h            ;enter idle mode

         MOV    A,SFRFD
         CJNE   A,data,verify_err

         MOV    data,#OK
         CALL   send_data_to_PC2

         MOV    A,DPH
         CJNE   A,file_end_addrH,inc_addrV
         MOV    A,DPL
         CJNE   A,file_end_addrL,inc_addrV
         JMP    verify_ok
inc_addrV:
         INC    DPL
         MOV    A,DPL
         CJNE   A,#00h,verify
         INC    DPH
         JMP    verify
verify_ok:
         MOV    data,#A5h            ;tell PC: Verify complete!
         CALL   send_data_to_PC2     ;
         JMP    $
verify_err:
         MOV    data,#FAIL
         CALL   send_data_to_PC2
         JMP    start
;
;------------------------------------------------------------------------------
TF0_isr:
         JB     chk_PC_flag,TF0_isr_2
         CLR    TR0
         RETI
;
TF0_isr_2:
         DEC    idle_time
         MOV    A,idle_time
         JZ     time_out
         RETI
 time_out:
         MOV    SP,#7Fh
         CALL   disable_idle_chk
         MOV    A,#<exit             ;where to go if time out
         PUSH   A                    ;
         MOV    A,#>exit             ;
         PUSH   A                    ;
         RETI
;------------------------------------------------------------------------------
;
;******************************************************************************
; To connect to PC
;******************************************************************************
connect_to_PC:
         SETB   chk_PC_flag
 ;
 chk_11_0592MHz:
         CALL   init_UART_115200a
         MOV    idle_time,#14        ;wait 1sec to check if connect to PC?
       ; MOV    retL,#<chk_18_4320MHz
       ; MOV    retH,#>chk_18_4320MHz
         MOV    retL,#<chk_22_1184MHz
         MOV    retH,#>chk_22_1184MHz
         JMP    chk_connect_to_PC
 ;
 chk_18_4320MHz:
         CALL   init_UART_115200b
         MOV    idle_time,#23        ;wait 1sec to check if connect to PC?
         MOV    retL,#<chk_22_1184MHz
         MOV    retH,#>chk_22_1184MHz
         JMP    chk_connect_to_PC
 ;
 chk_22_1184MHz:
         CALL   init_UART_115200c
         MOV    idle_time,#28        ;wait 1sec to check if connect to PC?
       ; MOV    retL,#<chk_36_8640MHz
       ; MOV    retH,#>chk_36_8640MHz
         MOV    retL,#<chk_11_0592MHz
         MOV    retH,#>chk_11_0592MHz
         JMP    chk_connect_to_PC
 ;
 chk_36_8640MHz:
         CALL   init_UART_115200d
         MOV    idle_time,#47        ;wait 1sec to check if connect to PC?
         MOV    retL,#<chk_40_5504MHz
         MOV    retH,#>chk_40_5504MHz
         JMP    chk_connect_to_PC
 ;
 chk_40_5504MHz:
         CALL   init_UART_115200e
         MOV    idle_time,#52        ;wait 1sec to check if connect to PC?
         MOV    retL,#<chk_11_0592MHz
         MOV    retH,#>chk_11_0592MHz
         JMP    chk_connect_to_PC
;
chk_connect_to_PC:
         CALL   enable_idle_chk      ;
 wait_5A_from_PC:
         CALL   send_DSR_to_PC
         JBC    RI,data_rcvd
         JMP    wait_5A_from_PC
 data_rcvd:
         MOV    A,SBUF
         CJNE   A,#5Ah,wait_5A_from_PC

         MOV    data,#A5h
         CALL   send_data_to_PC

         CALL   disable_idle_chk     ;
         CLR    chk_PC_flag          ;
         JMP    start2
 exit:
         CLR    REN                  ;disable reception
         PUSH   retL                 ;where to go if time out
         PUSH   retH                 ;
         RET
;
;;;
;set Baudrate using Timer2, fosc=11.0592 MHz
;BaudRate=fosc/2/(65536-RCAP2H,L)/16

init_UART_115200a: ;@11.0592MHz
         MOV    TH0e,#>(65536-13824) ;Tpwe=15ms/(12/11.0592us)=13824
         MOV    TL0e,#<(65536-13824) ;
         MOV    TH0p,#>(65536-46)    ;Tpwp=50us/(12/11.0592us)=46
         MOV    TL0p,#<(65536-46)    ;

         MOV    SCON,#01010000b      ;Serial port mode 1: 8-bit UART
         MOV    T2CON,#00110000b     ;Timer2: B.R.G. mode
         CLR    TR2
         MOV    RCAP2H,#>(65536-3)   ;Baudrate=115200 bps, @11.0592MHz
         MOV    RCAP2L,#<(65536-3)   ;
         SETB   TR2
         RET
;
init_UART_115200b: ;@18.4320MHz
         MOV    TH0e,#>(65536-23040) ;Tpwe=15ms for ISP
         MOV    TL0e,#<(65536-23040) ;
         MOV    TH0p,#>(65536-77)    ;Tpwp=50us for ISP
         MOV    TL0p,#<(65536-77)    ;

         MOV    SCON,#01010000b      ;Serial port mode 1: 8-bit UART
         MOV    T2CON,#00110000b     ;Timer2: B.R.G. mode
         CLR    TR2
         MOV    RCAP2H,#>(65536-5)   ;Baudrate=115200 bps, @18.4320MHz
         MOV    RCAP2L,#<(65536-5)   ;
         SETB   TR2
         RET
;
init_UART_115200c: ;@22.1184MHz
         MOV    TH0e,#>(65536-27648) ;Tpwe=15ms for ISP
         MOV    TL0e,#<(65536-27648) ;
         MOV    TH0p,#>(65536-92)    ;Tpwp=50us for ISP
         MOV    TL0p,#<(65536-92)    ;

         MOV    SCON,#01010000b      ;Serial port mode 1: 8-bit UART
         MOV    T2CON,#00110000b     ;Timer2: B.R.G. mode
         CLR    TR2
         MOV    RCAP2H,#>(65536-6)   ;Baudrate=115200 bps, @22.1184MHz
         MOV    RCAP2L,#<(65536-6)   ;
         SETB   TR2
         RET
;
init_UART_115200d: ;@36.8640MHz
         MOV    TH0e,#>(65536-46080) ;Tpwe=15ms for ISP
         MOV    TL0e,#<(65536-46080) ;
         MOV    TH0p,#>(65536-154)   ;Tpwp=50us for ISP
         MOV    TL0p,#<(65536-154)   ;

         MOV    SCON,#01010000b      ;Serial port mode 1: 8-bit UART
         MOV    T2CON,#00110000b     ;Timer2: B.R.G. mode
         CLR    TR2
         MOV    RCAP2H,#>(65536-10)  ;Baudrate=115200 bps, @36.8640MHz
         MOV    RCAP2L,#<(65536-10)  ;
         SETB   TR2
         RET
;
init_UART_115200e: ;@40.5504MHz
         MOV    TH0e,#>(65536-50688) ;Tpwe=15ms for ISP
         MOV    TL0e,#<(65536-50688) ;
         MOV    TH0p,#>(65536-169)   ;Tpwp=50us for ISP
         MOV    TL0p,#<(65536-169)   ;

         MOV    SCON,#01010000b      ;Serial port mode 1: 8-bit UART
         MOV    T2CON,#00110000b     ;Timer2: B.R.G. mode
         CLR    TR2
         MOV    RCAP2H,#>(65536-11)  ;Baudrate=115200 bps, @40.5504MHz
         MOV    RCAP2L,#<(65536-11)  ;
         SETB   TR2
         RET
;
;;;
enable_idle_chk:
         MOV    TMOD,#00100001b      ;Timer1: mode2, 8-bit auto-reload
                                     ;Timer0: mode1, 16-bit timer
         MOV    TH0,#0               ;65536*12/11.0592us=71.5ms/intrpt.
         MOV    TL0,#0               ;
         SETB   TR0                  ;
         SETB   ET0                  ;enable TF0 interrupt
         SETB   EA                   ;
         RET
;
disable_idle_chk:
         CLR    ET0                  ;disable TF0 interrupt
         CLR    EA                   ;
         CLR    TR0                  ;turn off Timer0
         RET
;------------------------------------------------------------------------------
send_data_to_PC:
         CALL   wait_RTS_from_PC     ;wait, until PC is ready to receive data
         MOV    SBUF,data            ;send data to PC
         JNB    TI,$
         CLR    TI
         RET
;
send_data_to_PC2:
         MOV    SBUF,data            ;send data to PC
         JNB    TI,$
         CLR    TI
         RET
;------------------------------------------------------------------------------
receive_data_from_PC:
         CALL   send_DSR_to_PC       ;tell PC: 8051 is ready to receive data
         JNB    RI,$                 ;receive data from PC
         CLR    RI
         MOV    data,SBUF
         RET
;
receive_data_from_PC2:
         JNB    RI,$                 ;receive data from PC
         CLR    RI
         MOV    data,SBUF
         RET
;------------------------------------------------------------------------------
wait_DTR_from_PC:
         JNB    RI,$
         CLR    RI
         MOV    A,SBUF
         CJNE   A,#DTR,wait_DTR_from_PC
         RET
;------------------------------------------------------------------------------
wait_RTS_from_PC:
         JNB    RI,$
         CLR    RI
         MOV    A,SBUF
         CJNE   A,#RTS,wait_RTS_from_PC
         RET
;------------------------------------------------------------------------------
send_DSR_to_PC:
         MOV    SBUF,#DSR
         JNB    TI,$
         CLR    TI
         RET
;------------------------------------------------------------------------------
send_CTS_to_PC:
         MOV    SBUF,#CTS
         JNB    TI,$
         CLR    TI
         RET
;******************************************************************************
;
         END

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产剧情在线观看一区二区| k8久久久一区二区三区| 国产精品色呦呦| 911国产精品| 不卡的av中国片| 国产综合色精品一区二区三区| 一卡二卡三卡日韩欧美| 国产欧美一区二区三区在线老狼| 欧美日韩色综合| 色综合一区二区| 国产99久久久久| 极品美女销魂一区二区三区| 亚洲成人av资源| 亚洲精品视频自拍| 国产精品蜜臀av| 国产偷国产偷精品高清尤物| 91精品国产综合久久国产大片| 色婷婷久久久综合中文字幕 | 欧美精品一区二区三| 在线亚洲高清视频| 99视频精品全部免费在线| 国产一区二区三区最好精华液| 五月天网站亚洲| 亚洲精品视频在线观看网站| 国产精品久久精品日日| 国产亚洲欧美一级| wwwwww.欧美系列| 日韩欧美另类在线| 日韩丝袜情趣美女图片| 欧美日韩一区中文字幕| 欧美亚洲国产怡红院影院| 97aⅴ精品视频一二三区| 国产**成人网毛片九色| 国产成人午夜高潮毛片| 国产黄色91视频| 国产电影精品久久禁18| 国产呦精品一区二区三区网站| 免费xxxx性欧美18vr| 日韩电影在线观看电影| 日韩中文字幕亚洲一区二区va在线| 亚洲影院免费观看| 亚洲线精品一区二区三区 | 日本一区二区动态图| 中文在线资源观看网站视频免费不卡 | 国产真实乱偷精品视频免| 免费欧美日韩国产三级电影| 免费精品99久久国产综合精品| 日本不卡一二三| 狠狠色狠狠色综合日日91app| 久久9热精品视频| 国产精品99久久不卡二区| 国产传媒日韩欧美成人| fc2成人免费人成在线观看播放| 成人av网址在线| 在线视频一区二区三区| 777a∨成人精品桃花网| 精品国产一区二区三区不卡| 久久午夜老司机| 最好看的中文字幕久久| 亚洲高清免费在线| 久久精品国产精品亚洲综合| 国产一区二区三区黄视频| voyeur盗摄精品| 欧美精品在线一区二区三区| 精品久久久久一区| 国产精品视频九色porn| 夜夜揉揉日日人人青青一国产精品| 日韩和欧美一区二区三区| 狠狠久久亚洲欧美| 99久久亚洲一区二区三区青草| 在线精品亚洲一区二区不卡| 欧美一级片免费看| 亚洲国产精品传媒在线观看| 一区二区成人在线观看| 精品中文av资源站在线观看| 成人福利视频在线| 欧美日韩国产天堂| 国产日韩欧美激情| 亚洲一区二区视频在线| 狠狠色综合播放一区二区| 色香蕉成人二区免费| 日韩欧美在线网站| ●精品国产综合乱码久久久久| 日韩成人免费看| 91亚洲永久精品| 精品区一区二区| 亚洲精品综合在线| 国产在线精品不卡| 欧美三级视频在线| 国产丝袜美腿一区二区三区| 亚洲第一主播视频| 成人黄色a**站在线观看| 在线综合+亚洲+欧美中文字幕| 日本一区二区三区dvd视频在线| 亚洲成av人片观看| 北条麻妃国产九九精品视频| 日韩一区二区三区免费看 | 亚洲午夜电影网| 成人在线综合网| 日韩一区二区影院| 一区二区不卡在线播放| 丁香激情综合国产| 日韩精品一区二区三区在线播放| 亚洲男人的天堂一区二区| 国产精品一区二区三区乱码| 51精品久久久久久久蜜臀| 亚洲同性gay激情无套| 国产精品66部| 日韩欧美亚洲一区二区| 午夜精品久久久久久久| 色综合中文字幕国产| 久久网站热最新地址| 三级精品在线观看| 欧美亚洲图片小说| 亚洲欧美另类久久久精品 | 国产在线精品一区二区不卡了| 欧美日韩五月天| 亚洲激情图片小说视频| 成人av一区二区三区| 亚洲精品一区二区在线观看| 日本不卡1234视频| 欧美一区永久视频免费观看| 亚洲久草在线视频| 91麻豆高清视频| 国产精品美女www爽爽爽| 国产成人综合精品三级| 久久久久久亚洲综合影院红桃| 久久91精品国产91久久小草 | 884aa四虎影成人精品一区| 亚洲在线视频免费观看| 欧洲国产伦久久久久久久| 亚洲三级免费电影| 色先锋久久av资源部| 亚洲乱码国产乱码精品精可以看 | 欧美午夜影院一区| 亚洲午夜视频在线观看| 欧美日韩在线电影| 日本人妖一区二区| 日韩视频免费观看高清完整版| 日本不卡一二三| 日韩精品在线看片z| 紧缚捆绑精品一区二区| 久久免费午夜影院| 成人av高清在线| 亚洲另类春色国产| 欧美少妇xxx| 日本亚洲免费观看| 精品国产一区久久| 国产成人av自拍| 亚洲欧美日韩久久| 欧美三级韩国三级日本三斤 | 国产日韩精品一区二区浪潮av| 国产夫妻精品视频| 国产精品亲子乱子伦xxxx裸| 99精品偷自拍| 亚欧色一区w666天堂| 日韩欧美色电影| 国产成人综合亚洲网站| 18欧美亚洲精品| 欧美二区三区91| 国产一区二区主播在线| 一区精品在线播放| 欧美日韩在线不卡| 国产在线国偷精品产拍免费yy| 中文一区二区完整视频在线观看 | 6080午夜不卡| 国产一区二区看久久| 亚洲欧洲一区二区在线播放| 欧美亚洲精品一区| 精品一区二区三区在线观看国产 | 精品不卡在线视频| 不卡的av在线播放| 午夜精品一区二区三区电影天堂 | 成人免费毛片嘿嘿连载视频| 亚洲卡通欧美制服中文| 欧美一区午夜视频在线观看| 高清shemale亚洲人妖| 亚洲成av人片一区二区| 国产人久久人人人人爽| 欧美日韩在线综合| 国产高清久久久| 亚洲成人av一区| 欧美极品少妇xxxxⅹ高跟鞋| 欧美中文字幕久久| 国产精品亚洲第一区在线暖暖韩国 | 高清国产一区二区三区| 亚洲第一成人在线| 中文字幕永久在线不卡| 91精品国产综合久久久久久久久久| 成人一区在线看| 日本aⅴ亚洲精品中文乱码| 亚洲人成伊人成综合网小说| 日韩一区二区三区观看| 91麻豆精品在线观看| 国产一区二区在线看| 午夜激情综合网| 亚洲欧美日韩在线| 欧美国产禁国产网站cc| 欧美电视剧在线观看完整版| 色老汉av一区二区三区|