專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
十年專注單片機(jī)方案開(kāi)發(fā)的方案公司英銳恩,分享鍵判斷制作的可逆計(jì)數(shù)器。英銳恩現(xiàn)提供服務(wù)產(chǎn)品涉及主控芯片:8位單片機(jī)、16位單片機(jī)、32位單片機(jī)及各類運(yùn)算放大器等。
這個(gè)程序的主要學(xué)習(xí)目的:學(xué)用鍵盤的按下與松開(kāi)
思路:通過(guò)對(duì)ra1鍵盤的按下,加一,只有松開(kāi)后,再按下,才能再加一,規(guī)律是0-256變化
通過(guò)對(duì)ra2鍵盤的按下,減一,只有松開(kāi)后,再按下,才能再減一,規(guī)律是256-0變化
也可以直接從RA1 RA2 輸入脈沖信號(hào),實(shí)現(xiàn)加減計(jì)數(shù)功能,輸入脈沖信號(hào)計(jì)數(shù)時(shí)要改變延時(shí)時(shí)間或者不要延時(shí),一保證每個(gè)脈沖有效計(jì)數(shù),不被漏掉.
;說(shuō)明:可逆計(jì)數(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