📄 key__cled.asm
字号:
;****************************************************************
LIST P=16F84A,R=DEC ;
;----------------------------------------------------------------
__CONFIG B'11111111110001';_CP_OFF&_WDT_OFF&_PWRITE_ON&_XT_OSC
;没有代码保护
;看门狗关闭
;上电廷时器开启
;振荡器模式为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 ;设置数据寄存器体1
MOVLW 00011000B ;定义RA。3,RA。4为输入其它为输出
MOVWF TRISA
MOVLW 00000011B ;定义RB。0,RB。1为输入其它为输出
MOVWF TRISB
BCF STATUS,RP0 ;恢复数据寄存器体0
;---------------------------------
SET_KEY1
BTFSC PORTA,KEY1 ;是干扰退出
GOTO LOOP
MOVLW 255
MOVWF DATA1
SET_KEY1A
BTFSC PORTA,KEY1 ;去抖动
GOTO LOOP
DECFSZ DATA1,1
GOTO SET_KEY1A
MOVLW 03H
ANDWF PORTB,1 ;熄灭所有LED
MOVLW 80H
IORWF PORTB,1 ;点亮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点亮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点亮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点亮LED5
GOTO SET_KEY4B
GOTO LOOP
;---------------------------------
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -