新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > PIC单片机键盘扫描汇编程序

PIC单片机键盘扫描汇编程序

作者:时间:2012-12-11来源:网络收藏

;本程序用于外接键盘的识别,通过,使按下K1键时第一个数码管显示1,按下K2键时第一
;个数码管上显示2,按下K3键时第一个数码管上显示3,按下K4键时第一个数码管上显示4,
;对键盘的扫描采用查询方式

LIST P=18F458
INCLUDE "P18F458.INC"

;所用的寄存器
JIANR EQU 0X20
FLAG EQU JIANR+1 ;标志寄存器
DEYH EQU JIANR+2
DEYL EQU JIANR+3
F0 EQU 0 ;FLAG的第0位定义为F0
ORG 0X00
GOTO MAIN
ORG 0X30
;*************以下为键盘码值转换表******************
CONVERT ADDWF PCL,1
RETLW 0XC0 ;0,显示段码与具体的硬件连接有关
RETLW 0XF9 ;1
RETLW 0XA4 ;2
RETLW 0XB0 ;3
RETLW 0X99 ;4
RETLW 0X92 ;5
RETLW 0X82 ;6
RETLW 0XD8 ;7
RETLW 0X80 ;8
RETLW 0X90 ;9
RETLW 0X88 ;A
RETLW 0X83 ;B
RETLW 0XC6 ;C
RETLW 0XA1 ;D
RETLW 0X86 ;E
RETLW 0X8E ;F
RETLW 0X7F ;"."
RETLW 0XBF ;"-"
RETLW 0X89 ;H
RETLW 0XFF ;DARK
RETURN
;***************初始化子程序*****************
INITIAL
BCF TRISA,5 ;置RA5为输出方式,以输出锁存信号
BCF TRISB,1
BCF TRISA,3
BCF TRISE,0
BCF TRISE,1
BSF TRISB,4 ;设置与键盘有关的各口的输入输出方式
BCF TRISC,5
BCF TRISC,3 ;设置SCK与SDO为输出方式
BCF INTCON,GIE ;关闭所有中断
MOVLW 0XC0
MOVWF SSPSTAT ;设置SSPSTAT寄存器
MOVLW 0X30
MOVWF SSPCON1 ;设置SPI的控制方式,允许SSP方式,并且时钟下降
;沿发送数据,与"74HC595当其SCLK从低到高电平
;跳变时,串行输入数据(DI)移入寄存器"的特点相对应
MOVLW 0X01
MOVWF JIANR ;显示值寄存器(复用为键值寄存器)赋初值
CLRF FLAG ;清除标志寄存器
RETURN ;返回
;**************显示子程序*****************
DISPLAY
CLRF PORTA
MOVWF SSPBUF
AGAIN
BTFSS PIR1,SSPIF
GOTO AGAIN
NOP
BCF PIR1,SSPIF
BSF PORTA,5 ;详细的程序语句请参考http://www.51hei.com pic单片机教程语句部分,可在首页搜索。
RETURN
;**************查键子程序*****************
KEYSCAN
BCF PORTB,1
BCF PORTA,3
BCF PORTE,0
BCF PORTE,1 ;K1,K2,K3,K4四条列线置0
NOP
NOP ;延时,使引脚的电平稳定
BTFSC PORTB,4
BCF FLAG,F0 ;RB4为1,表示没键按下,清除标志F0
NOP
BTFSS PORTB,4
BSF FLAG,F0 ;RB4为0,表示有键按下,建立标志F0
RETURN

单片机相关文章:单片机教程


单片机相关文章:单片机视频教程


单片机相关文章:单片机工作原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭