hc164_2.asm

来自「.ifnz I2C_SUPPORT ********************」· 汇编 代码 · 共 67 行

ASM
67
字号
.ifnz HC164_2
fProcessVfdWrite:       
        lda     IOP_DATA2_L
        sta     rOutBuffer_164
        jsr     f164SentOneByte                
        lda     IOP_DATA2_H
        sta     rOutBuffer_164
        jsr     f164SentOneByte             
        rts

fProcessVfdRead:
		lda		#%11111110
		sta		rRegister164			
		ldx		#1
sentnextbyte:       
		lda		rRegister164
		sta		rOutBuffer_164
		jsr		f164SentOneByte
		bbs		VFD_STB_bit,VFD_PORT,checknextbit		
		stx		VfdResponse1
		bra		keyscanend
checknextbit:
        sec       
		rol		rRegister164
		inx
		cpx		#9
		bne		sentnextbyte
		lda     #0
		sta     VfdResponse1	
keyscanend:	             
        jsr    clear_mem  
        jsr    fProcessVfdWrite         
		rts   
clear_mem:
        lda     #$ff
        sta     rOutBuffer_164
        jsr     f164SentOneByte                          
        lda     #$ff
        sta     rOutBuffer_164
        jsr     f164SentOneByte                 
		rts   

f164SentOneByte:
        smb		VFD_DATA_bit,VFD_DATA_PORT
		ldy		#8			
rSendOneBit:         
        ;;clk=0
		rmb		VFD_CLK_bit,VFD_PORT		
		ror		rOutBuffer_164
		bcs		rDataHigh 
rDataLow: 
		rmb		VFD_DATA_bit,VFD_DATA_PORT
		bra		rDataSetup
rDataHigh:
		smb		VFD_DATA_bit,VFD_DATA_PORT
rDataSetup:
		jsr		fDelay1
		nop
        ;;clk=1     
		smb		VFD_CLK_bit,VFD_PORT 	
		jsr		fDelay1
		nop
		dey   
		bne		rSendOneBit   
		smb		VFD_DATA_bit,VFD_DATA_PORT                  
		rts   
.endif

⌨️ 快捷键说明

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