⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isp_mcu.lst

📁 Isp_w78e516_MCU.zip:-----W78E516B单片机的ISP在线下载的MCU端源程序(2500.A.D公司的X51.EXE)
💻 LST
📖 第 1 页 / 共 3 页
字号:
  147                          	
  148   00B9   85 38 8C        	         MOV    TH0,TH0p             ;Tpwp=50us/(12/11.0592us)=46
  149   00BC   85 39 8A        	         MOV    TL0,TL0p             ;
  150   00BF   D2 8C           	         SETB   TR0                  ;
  151   00C1   75 87 01        	         MOV    PCON,#01h            ;enter idle mode
  152                          	
  153   00C4   E5 83           	         MOV    A,DPH
  154   00C6   B5 31 08        	         CJNE   A,file_end_addrH,inc_addrP
  155   00C9   E5 82           	         MOV    A,DPL
  156   00CB   B5 32 03        	         CJNE   A,file_end_addrL,inc_addrP
  157   00CE   02 00 DC        	         JMP    program_ok
  158   00D1                   	inc_addrP:
  159   00D1   05 82           	         INC    DPL
  160   00D3   E5 82           	         MOV    A,DPL
  161   00D5   B4 00 CF        	         CJNE   A,#00h,program
  Mon Nov 29 2004 16:01                                                                                                  Page    4




  162   00D8   05 83           	         INC    DPH
  163   00DA   01 A7           	         JMP    program
  164   00DC                   	program_ok:
  165   00DC   75 30 5A        	         MOV    data,#5Ah            ;tell PC: program complete!
  166   00DF   12 02 7B        	         CALL   send_data_to_PC2     ;
  167                          	;
  168                          	;------------------------------------------------------------------------------
  169                          	; Verify
  170                          	;------------------------------------------------------------------------------
  171   00E2   E5 BF           	         MOV    A,CHPCON
  172   00E4   20 E1 06        	         JB     A.1,verify_APROM
  173   00E7                   	verify_LDROM:
  174   00E7   75 C7 40        	         MOV    SFRCN,#40h           ;Verify 4K LDROM
  175   00EA   02 00 F0        	         JMP    do_verify
  176   00ED                   	verify_APROM:
  177   00ED   75 C7 00        	         MOV    SFRCN,#00h           ;Verify 64K APROM
  178   00F0                   	   do_verify:
  179                          	;
  180   00F0   90 00 00        	         MOV    DPTR,#0000h
  181   00F3                   	verify:
  182   00F3   12 02 90        	         CALL   receive_data_from_PC2
  183                          	
  184   00F6   85 83 C5        	         MOV    SFRAH,DPH            ;
  185   00F9   85 82 C4        	         MOV    SFRAL,DPL            ;
  186                          	
  187   00FC   75 8C FF        	         MOV    TH0,#>(65536-46)     ;Tpwr=50us/(12/11.0592us)=46
  188   00FF   75 8A D2        	         MOV    TL0,#<(65536-46)     ;
  189   0102   D2 8C           	         SETB   TR0                  ;
  190   0104   75 87 01        	         MOV    PCON,#01h            ;enter idle mode
  191                          	
  192   0107   E5 C6           	         MOV    A,SFRFD
  193   0109   B5 30 26        	         CJNE   A,data,verify_err
  194                          	
  195   010C   75 30 EE        	         MOV    data,#OK
  196   010F   12 02 7B        	         CALL   send_data_to_PC2
  197                          	
  198   0112   E5 83           	         MOV    A,DPH
  199   0114   B5 31 08        	         CJNE   A,file_end_addrH,inc_addrV
  200   0117   E5 82           	         MOV    A,DPL
  201   0119   B5 32 03        	         CJNE   A,file_end_addrL,inc_addrV
  202   011C   02 01 2A        	         JMP    verify_ok
  203   011F                   	inc_addrV:
  204   011F   05 82           	         INC    DPL
  205   0121   E5 82           	         MOV    A,DPL
  206   0123   B4 00 CD        	         CJNE   A,#00h,verify
  207   0126   05 83           	         INC    DPH
  208   0128   01 F3           	         JMP    verify
  209   012A                   	verify_ok:
  210   012A   75 30 A5        	         MOV    data,#A5h            ;tell PC: Verify complete!
  211   012D   12 02 7B        	         CALL   send_data_to_PC2     ;
  212   0130   21 30           	         JMP    $
  213   0132                   	verify_err:
  214   0132   75 30 FF        	         MOV    data,#FAIL
  215   0135   12 02 7B        	         CALL   send_data_to_PC2
  216   0138   01 0E           	         JMP    start
  217                          	;
  218                          	;------------------------------------------------------------------------------
  Mon Nov 29 2004 16:01                                                                                                  Page    5




  219   013A                   	TF0_isr:
  220   013A   20 00 03        	         JB     chk_PC_flag,TF0_isr_2
  221   013D   C2 8C           	         CLR    TR0
  222   013F   32              	         RETI
  223                          	;
  224   0140                   	TF0_isr_2:
  225   0140   15 35           	         DEC    idle_time
  226   0142   E5 35           	         MOV    A,idle_time
  227   0144   60 01           	         JZ     time_out
  228   0146   32              	         RETI
  229   0147                   	 time_out:
  230   0147   75 81 7F        	         MOV    SP,#7Fh
  231   014A   12 02 68        	         CALL   disable_idle_chk
  232   014D   74 C0           	         MOV    A,#<exit             ;where to go if time out
  233   014F   C0 E0           	         PUSH   A                    ;
  234   0151   74 01           	         MOV    A,#>exit             ;
  235   0153   C0 E0           	         PUSH   A                    ;
  236   0155   32              	         RETI
  237                          	;------------------------------------------------------------------------------
  238                          	;
  239                          	;******************************************************************************
  240                          	; To connect to PC
  241                          	;******************************************************************************
  242   0156                   	connect_to_PC:
  243   0156   D2 00           	         SETB   chk_PC_flag
  244                          	 ;
  245   0158                   	 chk_11_0592MHz:
  246   0158   12 01 C7        	         CALL   init_UART_115200a
  247   015B   75 35 0E        	         MOV    idle_time,#14        ;wait 1sec to check if connect to PC?
  248                          	       ; MOV    retL,#<chk_18_4320MHz
  249                          	       ; MOV    retH,#>chk_18_4320MHz
  250   015E   75 33 76        	         MOV    retL,#<chk_22_1184MHz
  251   0161   75 34 01        	         MOV    retH,#>chk_22_1184MHz
  252   0164   02 01 A3        	         JMP    chk_connect_to_PC
  253                          	 ;
  254   0167                   	 chk_18_4320MHz:
  255   0167   12 01 E4        	         CALL   init_UART_115200b
  256   016A   75 35 17        	         MOV    idle_time,#23        ;wait 1sec to check if connect to PC?
  257   016D   75 33 76        	         MOV    retL,#<chk_22_1184MHz
  258   0170   75 34 01        	         MOV    retH,#>chk_22_1184MHz
  259   0173   02 01 A3        	         JMP    chk_connect_to_PC
  260                          	 ;
  261   0176                   	 chk_22_1184MHz:
  262   0176   12 02 01        	         CALL   init_UART_115200c
  263   0179   75 35 1C        	         MOV    idle_time,#28        ;wait 1sec to check if connect to PC?
  264                          	       ; MOV    retL,#<chk_36_8640MHz
  265                          	       ; MOV    retH,#>chk_36_8640MHz
  266   017C   75 33 58        	         MOV    retL,#<chk_11_0592MHz
  267   017F   75 34 01        	         MOV    retH,#>chk_11_0592MHz
  268   0182   02 01 A3        	         JMP    chk_connect_to_PC
  269                          	 ;
  270   0185                   	 chk_36_8640MHz:
  271   0185   12 02 1E        	         CALL   init_UART_115200d
  272   0188   75 35 2F        	         MOV    idle_time,#47        ;wait 1sec to check if connect to PC?
  273   018B   75 33 94        	         MOV    retL,#<chk_40_5504MHz
  274   018E   75 34 01        	         MOV    retH,#>chk_40_5504MHz
  275   0191   02 01 A3        	         JMP    chk_connect_to_PC
  Mon Nov 29 2004 16:01                                                                                                  Page    6




  276                          	 ;
  277   0194                   	 chk_40_5504MHz:
  278   0194   12 02 3B        	         CALL   init_UART_115200e
  279   0197   75 35 34        	         MOV    idle_time,#52        ;wait 1sec to check if connect to PC?
  280   019A   75 33 58        	         MOV    retL,#<chk_11_0592MHz
  281   019D   75 34 01        	         MOV    retH,#>chk_11_0592MHz
  282   01A0   02 01 A3        	         JMP    chk_connect_to_PC
  283                          	;
  284   01A3                   	chk_connect_to_PC:
  285   01A3   12 02 58        	         CALL   enable_idle_chk      ;
  286   01A6                   	 wait_5A_from_PC:
  287   01A6   12 02 AF        	         CALL   send_DSR_to_PC
  288   01A9   10 98 02        	         JBC    RI,data_rcvd
  289   01AC   21 A6           	         JMP    wait_5A_from_PC
  290   01AE                   	 data_rcvd:
  291   01AE   E5 99           	         MOV    A,SBUF
  292   01B0   B4 5A F3        	         CJNE   A,#5Ah,wait_5A_from_PC
  293                          	
  294   01B3   75 30 A5        	         MOV    data,#A5h
  295   01B6   12 02 6F        	         CALL   send_data_to_PC
  296                          	
  297   01B9   12 02 68        	         CALL   disable_idle_chk     ;
  298   01BC   C2 00           	         CLR    chk_PC_flag          ;
  299   01BE   01 14           	         JMP    start2
  300   01C0                   	 exit:
  301   01C0   C2 9C           	         CLR    REN                  ;disable reception
  302   01C2   C0 33           	         PUSH   retL                 ;where to go if time out

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -