人狗畜禽COMPANY LIMITED|全是肉的高H文〈男男〉|全篇肉高H秘书被C办公室四爱|全黄H全肉共妻|全黄H全肉短篇禁乱NP慕浅浅|全黄H全肉短篇N男男

技術(shù)熱線: 4007-888-234
設(shè)計(jì)開發(fā)

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

開發(fā)工具

提供開發(fā)工具、應(yīng)用測(cè)試 完善的開發(fā)代碼案例庫分享

技術(shù)支持

從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力

新聞中心

提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)

PIC16C71單片機(jī)按鍵換醒CPU源程序

更新時(shí)間: 2019-03-21
閱讀量:395

; p=pic16c71,xt=40000hz

LIST P=16c71

;

Z            EQU    2

RBPU         EQU    7

TEMP         EQU    10H

OPTIONREG    EQU    1H

F            EQU    1

PORT_B       EQU    06H

;

             INCLUDE 

             LIST

;

             ORG     0                  ;復(fù)位地址

             GOTO    START

;

             ORG     4                  ;中斷向量

             GOTO    SERVICEINTERRUPT

;

START

             CALL    INITPORT_B         ;初始化B口

LOOP

             SLEEP                      ;省電睡眠,等待被喚醒

             NOP

             GOTO    LOOP

;

SERVICEINTERRUPT

             BTFSC   INTCON,RBIF

             GOTO    SERVICEWAKUP

             CLRF    INTCON

             BSF     INTCON,RBIE

             RETFIE

;

;檢查是哪個(gè)鍵被按下,并點(diǎn)亮相應(yīng)的LED直到按鍵釋放,再返回睡眠狀態(tài)

;

SERVICEWAKUP

             BCF     INTCON,RBIE

             COMF    PORT_B,W

             BCF     INTCON,RBIF

             CALL    DELAY16

             COMF    PORT_B,W

             ANDLW   B'11110000'

             MOVWF   TEMP

             SWAPF   TEMP,W

             MOVWF   PORT_B

             CALL    KEYRELEASE

             RETFIE

;

;等待所有的按鍵都被釋放程序

;

KEYRELEASE

             CALL    DELAY16

             COMF    PORT_B,W

             BCF     INTCON,RBIF

               BCF     INTCON,RBIE

             ANDLW   B'11110000'

             BTFSC   STATUS,Z

             RETURN

             GOTO    KEYRELEASE

;

;初始化    B口子程序

;

INITPORT_B

             BSF     STATUS,RP0

             MOVLW   B'11110000'

             MOVWF   TRISB

             BCF     OPTIONREG,RBPU

             BCF     STATUS,RP0

             CLRF    PORT_B

             BCF     INTCON,RBIE

             MOVF    PORT_B,W

             BCF     INTCON,RBIF

             BSF     INTCON,RBIE

             BSF     INTCON,GIE

             RETURN

;

;延時(shí)去抖動(dòng)子程序

DELAY16

             BSF     STATUS,RP0

             MOVLW   B'00000111'

             MOVWF   OPTIONREG

             BCF     STATUS,RP0

             CLRF    TMR0

             BCF     INTCON,T0IF

CHECKAGAIN

             BTFSS   INTCON,T0IF

             GOTO    CHECKAGAIN

             BCF     INTCON,T0IF

             RETURN

             END


广宗县| 龙口市| 图木舒克市| 广西| 沈丘县| 晋中市| 宁波市| 旬阳县| 辽宁省| 凯里市| 基隆市| 文成县| 万州区| 康平县| 友谊县| 樟树市| 景宁| 松阳县| 岳池县| 梁河县| 乌苏市| 怀远县| 乌兰浩特市| 若尔盖县| 桃园县| 聂荣县| 松滋市| 通许县| 瑞昌市| 芦溪县| 清苑县| 南木林县| 凤翔县| 含山县| 敦煌市| 法库县| 柳州市| 富锦市| 鄂伦春自治旗| 泾川县| 淅川县|