人狗畜禽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ìng)爭力

新聞中心

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

實(shí)戰(zhàn)五:鍵控LED的實(shí)驗(yàn)

更新時(shí)間: 2019-03-25
閱讀量:1225

深圳市英銳恩科技有限公司:臺(tái)灣麥肯單片機(jī)(Micon MDT單片機(jī))亞太地區(qū)A級(jí)代理商

鍵控LED的實(shí)驗(yàn)
;本實(shí)驗(yàn)的目的是讓大家熟悉IO口的輸入操作,本程序的作用是用按鍵控制LED
;按S2時(shí)只有LED8發(fā)光,按S3時(shí)只有LED7發(fā)光,按S4時(shí)只有LED6發(fā)光,按S5時(shí)只有LED5發(fā)光
;燒寫時(shí)應(yīng)注意:配置位已經(jīng)在程序中寫明,加載HEX文件時(shí)會(huì)自動(dòng)加載,燒寫時(shí)不用再手動(dòng)設(shè)置配置位。
;實(shí)驗(yàn)時(shí)請(qǐng)注意套件跳線選擇
;****************************************************************
  LIST P=16F84A,R=DEC          ;定義器件為16F84,默認(rèn)數(shù)制為十進(jìn)制
;----------------------------------------------------------------
  __CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC
                                              ;沒有代碼保護(hù)
                                              ;看門狗關(guān)閉
                                              ;上電廷時(shí)器開啟
                                              ;振蕩器模式為XT
;----------------------------------------------------------------
STATUS EQU 03H               ;寄存器單元定義
RP0 EQU 5
;----------------------
PORTA EQU 05H
PORTB EQU 06H

TRISA EQU 5H
TRISB EQU 6H
;-----------------------    ;變量單元定義
DATA1 EQU 20H
;----------------------RA
KEY1 EQU 3
KEY2 EQU 4
;----------------------RB
KEY3 EQU 0
KEY4 EQU 1
;--------------------
   ORG 0000H
MAIN
   CLRF PORTA               ;初始IO口
   CLRF PORTB

   BSF STATUS,RP0           ;設(shè)置數(shù)據(jù)寄存器體1
   MOVLW 00011000B          ;定義RA。3,RA。4為輸入其它為輸出
   MOVWF TRISA
   MOVLW 00000011B          ;定義RB。0,RB。1為輸入其它為輸出
   MOVWF TRISB
   BCF STATUS,RP0           ;恢復(fù)數(shù)據(jù)寄存器體0

LOOP
   BTFSS PORTA,KEY1         ;掃描按鍵,有按鍵被按下轉(zhuǎn)到鍵值處理
   GOTO SET_KEY1
   BTFSS PORTA,KEY2
   GOTO SET_KEY2
   BTFSS PORTB,KEY3
   GOTO SET_KEY3
   BTFSS PORTB,KEY4
   GOTO SET_KEY4
   GOTO LOOP                ;反復(fù)掃描
;---------------------------------
SET_KEY1
   BTFSC PORTA,KEY1         ;是干擾退出
   GOTO LOOP
   MOVLW 255
   MOVWF DATA1
SET_KEY1A
   BTFSC PORTA,KEY1         ;去抖動(dòng)
   GOTO LOOP
   DECFSZ DATA1,1
   GOTO SET_KEY1A
   MOVLW 03H
   ANDWF PORTB,1           ;熄滅所有LED
   MOVLW 80H
   IORWF PORTB,1           ;點(diǎn)亮LED8
SET_KEY1B
   BTFSS PORTA,KEY1        ;等待按鍵放開
   GOTO SET_KEY1B
   GOTO LOOP              
;---------------------------------
SET_KEY2
   BTFSC PORTA,KEY2
   GOTO LOOP
   MOVLW 255
   MOVWF DATA1
SET_KEY2A
   BTFSC PORTA,KEY2       
   GOTO LOOP
   DECFSZ DATA1,1
   GOTO SET_KEY2A
   MOVLW 03H
   ANDWF PORTB,1
   MOVLW 40H
   IORWF PORTB,1          ;按S3點(diǎn)亮LED7    
SET_KEY2B
   BTFSS PORTA,KEY2
   GOTO SET_KEY2B
   GOTO LOOP
;---------------------------------
SET_KEY3
   BTFSC PORTB,KEY3
   GOTO LOOP
   MOVLW 255
   MOVWF DATA1
SET_KEY3A
   BTFSC PORTB,KEY3
   GOTO LOOP
   DECFSZ DATA1,1
   GOTO SET_KEY3A
   MOVLW 03H
   ANDWF PORTB,1
   MOVLW 20H
   IORWF PORTB,1          ;按S4點(diǎn)亮LED6
SET_KEY3B
   BTFSS PORTB,KEY3    
   GOTO SET_KEY3B
   GOTO LOOP
;---------------------------------
SET_KEY4
   BTFSC PORTB,KEY4
   GOTO LOOP
   MOVLW 255
   MOVWF DATA1
SET_KEY4A
   BTFSC PORTB,KEY4
   GOTO LOOP
   DECFSZ DATA1,1
   GOTO SET_KEY4A
   MOVLW 03H
   ANDWF PORTB,1
   MOVLW 10H
   IORWF PORTB,1
SET_KEY4B
   BTFSS PORTB,KEY4        ;按S5點(diǎn)亮LED5
   GOTO SET_KEY4B
   GOTO LOOP
;---------------------------------
   END

西乌珠穆沁旗| 八宿县| 舟山市| 西盟| 无锡市| 抚松县| 湖口县| 江津市| 台山市| 奉节县| 潼南县| 巢湖市| 慈溪市| 全椒县| 泽州县| 张掖市| 定结县| 东乌| 连南| 麻城市| 巢湖市| 杂多县| 夏河县| 富源县| 灵川县| 东至县| 福泉市| 监利县| 准格尔旗| 天等县| 新邵县| 定结县| 岱山县| 浏阳市| 灵石县| 盐津县| 绥芬河市| 大同市| 万山特区| 安义县| 白河县|