專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
十年專注單片機方案開發(fā)的方案公司英銳恩,分享鍵判斷制作的可逆計數(shù)器。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。
這個程序的主要學(xué)習(xí)目的:學(xué)用鍵盤的按下與松開
思路:通過對ra1鍵盤的按下,加一,只有松開后,再按下,才能再加一,規(guī)律是0-256變化
通過對ra2鍵盤的按下,減一,只有松開后,再按下,才能再減一,規(guī)律是256-0變化
也可以直接從RA1 RA2 輸入脈沖信號,實現(xiàn)加減計數(shù)功能,輸入脈沖信號計數(shù)時要改變延時時間或者不要延時,一保證每個脈沖有效計數(shù),不被漏掉.
;說明:可逆計數(shù)器,
;***********************************
LIST P=PIC16F876A
#INCLUDE P16F876A.INC
;************************************
COUNT1 EQU 20H
COUNT2 EQU 21H
COUNT3 EQU 22H
COUNT4 EQU 23H
COUNT5 EQU 24H
;**********************************
ORG 0
START BSF STATUS,RP0
MOVLW B'11111111'
MOVWF TRISB
MOVLW B'00000000'
MOVWF TRISC
BCF OPTION_REG,7
BCF STATUS,RP0
MOVLW 0
MOVWF COUNT1
MOVWF COUNT2
MOVWF COUNT3
MOVWF PORTC
LOOP0 BTFSS PORTB,1
GOTO LOOP
BTFSS PORTB,2
GOTO LOOP1
GOTO LOOP0
LOOP CALL DELAY1
INCF COUNT1,1
MOVF COUNT1,0
MOVWF PORTC
CALL DELAY
BTFSC PORTB,1
GOTO LOOP0
GOTO $-2
;*********************************
LOOP1 CALL DELAY1
DECF COUNT1,1
MOVF COUNT1,0
MOVWF PORTC
CALL DELAY
BTFSC PORTB,2
GOTO LOOP0
GOTO $-2
DELAY MOVLW D'30'
MOVWF COUNT2
LOP2 MOVLW D'30'
MOVWF COUNT3
DECFSZ COUNT3,1
GOTO $-1
DECFSZ COUNT2,1
GOTO LOP2
RETURN
DELAY1 MOVLW D'5'
MOVWF COUNT4
LOP1 MOVLW D'5'
MOVWF COUNT5
DECFSZ COUNT5,1
GOTO $-1
DECFSZ COUNT4,1
GOTO LOP1
RETURN
;**********************************
END