programming.asm

来自「铅酸电池充电器」· 汇编 代码 · 共 122 行

ASM
122
字号

;///////////////////////////////////////////////////////////////////////////
;///
;///          name:      charger
;///          MCU:       uPD78F9202
;///          file:      programming.asm
;///          version:   V1.52
;///          date:      29/10/2006
;///
;///////////////////////////////////////////////////////////////////////////

PUBLIC _programming
extrn _bit_current;
extrn _bit_voltage;
   
   
_programming:           
           
            MOV MK0, #11111111b
            MOV FLCMD, #00H
            DI
        ModeOnLoop:
            MOV PFS,#00H
            MOV PFCMD,#0A5H               
            MOV FLPMC,#01H                
            MOV FLPMC,#0FEH              
            MOV FLPMC,#01H
            NOP
            HALT                
            BT PFS.0,$ModeOnLoop
 		FlashBlockErase:
			MOV FLCMD,#03H 
			MOV FLAPH,#0eH 
			MOV FLAPL,#00H
			MOV FLAPHC,#0eH 
			MOV FLAPLC,#00H 
			MOV PFS,#00H 
			HALT 
			MOV A,PFS
			CMP A,#00H
			BNZ $FlashBlockErase 
		FlashBlockBlankCheck:
			MOV FLCMD,#04H 
			MOV FLAPH,#0eH
			MOV FLAPL,#00H 
			MOV FLAPHC,#0eH 
			MOV FLAPLC,#0FFH 
			MOV PFS,#00H
			HALT 
			MOV A,PFS
			CMP A,#00H
			BNZ $FlashBlockBlankCheck 
		FlashWriteLowV:
			MOV FLCMD,#05H 
			MOV FLAPH,#0eH 
			MOV FLAPL,#02H 
			MOVW AX, _bit_current
			XCH  A, X
			MOV FLW, A 
			MOV PFS,#00H
			HALT 
			MOV FLAPH,#0eH 
			MOV FLAPL,#03H 
			MOVW AX, _bit_current
			MOV FLW, A 
			MOV PFS,#00H 
			HALT 
			MOV A,PFS
			CMP A,#00H
			BNZ $FlashWriteLowV 
		FlashWriteHighV:
			MOV FLCMD,#05H 
			MOV FLAPH,#0eH 
			MOV FLAPL,#04H
			MOVW AX, _bit_voltage
			XCH  A, X
			MOV FLW, A 
			MOV PFS,#00H 
			HALT 
			MOV FLAPH,#0eH 
			MOV FLAPL,#05H 
			MOVW AX, _bit_voltage
			MOV FLW, A 
			MOV PFS,#00H 
			HALT 
			MOV A,PFS
			CMP A,#00H
			BNZ $FlashWriteHighV 			
		FlashWriteFlag:
			MOV FLCMD,#05H 
			MOV FLAPH,#0eH 
			MOV FLAPL,#01H 
			MOV FLW, #11H 
			MOV PFS,#00H 
			HALT 
			MOV A,PFS
			CMP A,#00H
			BNZ $FlashWriteFlag 
		FlashVerify:
			MOV FLCMD,#01H 
			MOV FLAPH,#0eH 
			MOV FLAPL,#00H 	
			MOV FLAPHC,#0eH
			MOV FLAPLC,#0FFH 
			MOV PFS,#00H 
			HALT 
			MOV A,PFS 
			CMP A,#00H
			BNZ $FlashWriteFlag 
			MOV FLCMD, #00H
		ModeOffLoop:
			MOV PFS,#00H
			MOV PFCMD,#0A5H 
			MOV FLPMC,#00H 
			MOV FLPMC,#0FFH 
			MOV FLPMC,#00H
			BT PFS.0,$ModeOffLoop
 
RET

END

⌨️ 快捷键说明

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