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

📄 4094.asm

📁 cd4094驱动程序
💻 ASM
字号:


	list p=12c508a
	#include <p12c508a.inc>

TEMP1		equ	0x14			;Temp variables
TEMP2		equ	0x15
TEMP3		equ	TEMP2+1
scrtch0 	equ 	TEMP3+1
scrtch1 	equ 	scrtch0+1

;DEFINE PORTS
;************
gp0 equ 0
gp1 equ 1
gp2 equ 2
gp3 equ 3
gp4 equ 4
gp5 equ 5
;DISPLAY PORT
;************
disp_data 	equ gp0
disp_clk 	equ gp1
disp_strobe 	equ gp2



#define data_hi bsf GPIO, disp_data
#define data_lo bcf GPIO, disp_data
#define clk_hi bsf GPIO, disp_clk
#define clk_lo bcf GPIO, disp_clk
#define strobe_hi bsf GPIO, disp_strobe
#define strobe_lo bcf GPIO, disp_strobe


init		org		0x00			;Effective Reset Vector
 		movlw	 0
		movwf	TEMP3
		movlw 0x00 ;all lo
		movwf GPIO
		movlw b'00011000' ;port g0-g2,g5 o/p & gp3,gp4 i/p
		tris GPIO
		clrf TMR0 ;clr tmr0 & prescaler
		movlw b'11000011' ;tmr0 enable with 1:16 prescaler
		option
		
main		movlw	TABLE
		addwf	TEMP3,w
		call	get_seg
		movwf 	scrtch1
		movlw 	0x08 ;no of bit to tx
		movwf 	scrtch0

yiwei 		rlf scrtch1, f ;check msb
		btfsc STATUS, C ;data hi if cy=1 else lo
		goto push_data
		data_lo
		goto push_nop
push_data 	data_hi
push_nop 	nop ;delay
		nop
		clk_hi ;toggle clk to push data
		nop
		nop
		clk_lo
		nop
		nop
		decfsz scrtch0, f ;next bit
		goto yiwei
		strobe_hi ;strobe data nop
		nop
		strobe_lo
		data_lo ;leave data lo
		incf	TEMP3,f
DELAY	nop
		nop
		movlw	0xff
		nop
		nop
		movwf	TEMP1
DELAY1	movlw	0xff			;TEMP1 = 26
		nop
		nop
		movwf	TEMP2			;TEMP2 = 255
DELAY2	decfsz  TEMP2, f
		goto    DELAY2			
		decfsz  TEMP1, f
		goto    DELAY1			
		MOVLW		.10    	;
		xorwf  	TEMP3,W
       	btfss		STATUS,Z               ;
    		goto		main
		goto  	init
			
get_seg 	movwf	2
TABLE		retlw b'11111100' ;0
		retlw b'01100000' ;1
		retlw b'11011010' ;2
		retlw b'11110010' ;3
		retlw b'01100110' ;4
		retlw b'10110110' ;5
		retlw b'10111110' ;6
		retlw b'11100000' ;7
		retlw b'11111110' ;8
		retlw b'11110110' ;9
		
		end


				

⌨️ 快捷键说明

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