PIC16F877A控制4*4键盘汇编语言
时间: 2023-10-14 08:06:34 浏览: 41
以下是用汇编语言控制4*4键盘的代码:
```
;设置端口和变量
PORTB EQU 0x06
TRISB EQU 0x86
keypad EQU 0x20
;初始化端口
ORG 0x00
GOTO main
ORG 0x04
main:
MOVLW 0x00 ;设置PORTB为输出
MOVWF TRISB
MOVLW 0x0F ;设置keypad的最后4位为输入
MOVWF TRISC
loop:
MOVLW 0xFF ;关闭所有行
MOVWF PORTC
MOVLW 0x0F ;读取键盘
ANDWF PORTC, F ;清除列
MOVF PORTC, W ;读取列值
MOVWF keypad
MOVF keypad, W ;读取keypad的值
XORLW 0x0F ;检查是否有键按下
BTFSC STATUS, Z ;如果没有键按下,重新循环
GOTO loop
CALL delay ;延迟一会儿
MOVF keypad, W ;读取keypad值
MOVWF PORTB ;将值输出到PORTB
GOTO loop
;延迟函数
delay:
MOVLW 0xFF
MOVWF 0x01
DECFSZ 0x01, F
GOTO delay
RETURN
```
这段代码使用PIC16F877A控制4*4键盘,并将键盘的值输出到PORTB。在主循环中,它将PORTB设置为输出,并将keypad的最后4位设置为输入。然后,它循环读取键盘的值,如果没有键被按下,则重复这个过程。一旦有键被按下,它将延迟一会儿,然后将键盘的值输出到PORTB。最后,它返回主循环并重复此过程。