




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
;本程序用于键盘的识别,通过编程,使按下K1键时第一个数码管显示1,按下K2键时第一
;个数码管上显示2,按下K3键时第一个数码管上显示3,按下K4键时第一个数码管上显示4,
;对键盘的扫描采用查询方式
LIST P=18F458INCLUDE "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 ;DARKRETURN
;***************初始化子程序*****************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
;返回
;**************显示子程序*****************
DIS Y
AGAIN
CLRF PORTA
MOVWF SSPBUF
BTFSS PIR1,SSPIF
GOTO AGAINNOP
BCF PIR1,SSPIF
BSF PORTA,5 ;详细的程序语句请参考3.1.3节
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
;**********键盘去抖子程序(约8ms的延时)*****************KEYDELAY
MOVLW 0X0A
MOVWF DEYH
AGAIN2MOVLW 0XFF
MOVWF DEYLAGAIN1DECFSZ DEYL,1
GOTO AGAIN1
DECFSZ DEYH,1
GOTO AGAIN2RETURN
;***************键服务子程序****************
;确定键值的子程序KEYSERVE
JIANZHI
BCF
PORTB,1
BCF
PORTA,3
MOVLW
0X03
MOVWFNOPNOP
BTFSS
PORTE
PORTB,4
;K1,K2置低电平,K3,K4置高电平
;使引脚电平稳定
GOTO
K1K2
;RB4为0,表示按键为K1,K2中的一个
GOTO
K3K4
;RB4为1,表示按键为K3,K4中的一个
K1K2
BCF
PORTB,1
BSF
PORTA,3
;K1置低电平,K2置高电平
NOP
NOP
;使引脚电平稳定
BTFSS
PORTB,4
GOTO
K1
;RB4为0,表示按键为K1
GOTO
K2
;RB4为1,表示按键为K2
K3K4
BCF
PORTE,0
BSFNOPNOP
BTFSS
PORTE,1
PORTB,4
;K3置低电平,K4置高电平
;使引脚电平稳定
GOTO
K3
;RB4为0,表示按键为K3
GOTO
K4
;RB4为1,表示按键为K4
K1
MOVLW
0X03
MOVWF
JIANR
GOTO
JIANW
K2
MOVLW
0X05
MOVWF
JIANR
BCF
PORTA,3
GOTO
JIANW
K3
MOVLW
0X07
MOVWF
JIANR
GOTO
JIANW
K4
MOVLW
0X09
MOVWF
JIANR
;以上根据按下的键把相应的值送给JIANR
BCF
PORTE,1
JIANW
BTFSS
PORTB,4
GOTO
RETURN
JIANW
;为了防止一次按键多次识别,等键松开才返回
;****************************************MAIN NOP
CALL INITIAL ;调用初始化子程序
LOOP
CALL KEYSCAN ;查键
BTFSC FLAG,F0
CALL KEYDELAY ;若检测到有键按下,则调用软件延时子程序去抖动
BTFSCCALL
FLAG,F0
KEYSCAN
;若第一次扫描到有键按下,则经过前面的延时去抖后
;再次进行键扫描
BTFSC
FLAG,F0
CALL
KEYSERVE
;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 能源安全战略研究报告
- 中国广告行业发展现状
- 企业员工培训制度
- 股份制改革相关文书指南
- 智能家居生产设备
- 制造业品质管理手册
- 安丘市垃圾焚烧发电项目
- 电子商务行业市场渗透率报告表
- 护理规培结业练习卷含答案
- 企业人力资源管理师(三级)理论复习试题含答案
- 校长在2025年春季学期第一次班主任工作会议讲话:“偷偷告诉你顶尖班主任都在用这个班级管理秘籍!”
- 2025年度美容院顾客权益及服务项目转让协议书
- 化学-浙江省首考2025年1月普通高等学校招生全国统一考试试题和答案
- 【地理】俄罗斯课件-2024-2025学年人教版(2024)地理七年级下册
- 药品使用风险监测与预警制度
- 《软件实施方法论》课件
- 民宿整体规划
- 2024年广西区公务员录用考试《行测》真题卷及答案解析
- 电工(初级)考试试卷及答案
- 《建设工程施工合同(示范文本)》(GF-2017-0201)
- 国家电网公司招聘高校毕业生应聘登记表
评论
0/150
提交评论