键盘接口与编程
[10-10 20:42:03] 来源:http://www.88dzw.com 电路学习 阅读:8152次
文章摘要:KEYPROC:MOV A,B ;从B寄存器中获取键值JB ACC.2,KeyStart ;分析键的代码,某位被按下,则该位为1(因为在键盘程序中已取反)JB ACC.3,KeyOverJB ACC.4,KeyUpJB ACC.5,KeyDownAJMP KEY_RETKeyStart:SETB StartEnd ;第一个键按下后的处理AJMP KEY_RETKeyOver:CLR StartEnd ;第二个键按下后的处理AJMP KEY_RETKeyUp: SETB UpDown ;第三个键按下后的处理AJMP KEY_RETKeyDown:CLR UpDown ;第四个键按下后的处理KEY
键盘接口与编程,标签:学习园地,http://www.88dzw.comKEYPROC:
MOV A,B ;从B寄存器中获取键值
JB ACC.2,KeyStart ;分析键的代码,某位被按下,则该位为1(因为在键盘程序中已取反)
JB ACC.3,KeyOver
JB ACC.4,KeyUp
JB ACC.5,KeyDown
AJMP KEY_RET
KeyStart:
SETB StartEnd ;第一个键按下后的处理
AJMP KEY_RET
KeyOver:
CLR StartEnd ;第二个键按下后的处理
AJMP KEY_RET
KeyUp: SETB UpDown ;第三个键按下后的处理
AJMP KEY_RET
KeyDown:
CLR UpDown ;第四个键按下后的处理
KEY_RET:RET
KEY:
CLR F0 ;清F0,表示无键按下。
ORL P3,#00111100B ;将P3口的接有键的四位置1
MOV A,P3 ;取P3的值
ORL A,#11000011B ;将其余4位置1
CPL A ;取反
JZ K_RET ;如果为0则一定无键按下
ACALL DELAY ;否则延时去键抖
ORL P3,#00111100B
MOV A,P3
ORL A,#11000011B
CPL A
JZ K_RET
MOV B,A ;确实有键按下,将键值存入B中
SETB F0 ;设置有键按下的标志
K_RET:
ORL P3,#00111100B ;此处循环等待键的释放
MOV A,P3
ORL A,#11000011B
CPL A
JZ K_RET1 ;直到读取的数据取反后为0说明键释放了,才从键盘处理程序中返回
AJMP K_RET
K_RET1:
RET
;-----------------------------------
D500MS: ;流水灯的延迟时间
PUSH PSW
SETB RS0
MOV R7,#200
D51: MOV R6,#250
D52: NOP
NOP
NOP
NOP
DJNZ R6,D52
DJNZ R7,D51
POP PSW
RET
;-----------------------------------
LAMP:
JB StartEnd,LampStart ;如果StartEnd=1,则启动
MOV P1,#0FFH
AJMP LAMPRET ;否则关闭所有显示,返回
LampStart:
JB UpDown,LAMPUP ;如果UpDown=1,则向上流动
MOV A,LAMPCODE
RL A ;实际就是左移位而已
MOV LAMPCODE,A
MOV P1,A
LCALL D500MS
AJMP LAMPRET
LAMPUP:
MOV A,LAMPCODE
RR A ;向下流动实际就是右移
MOV LAMPCODE,A
MOV P1,A
LCALL D500MS
LAMPRET:
RET
END
以上程序功能很简单,但它演示了一个键盘处理程序的基本思路,程序本身很简单,也不很实用,实际工作中还会有好多要考虑的因素,比如主循环每次都调用灯的循环程序,会造成按键反应“迟钝”,而如果一直按着键不放,则灯不会再流动,一直要到松开手为止,等等,大家可以仔细考虑一下这些问题,再想想有什么好的解决办法。
2、采用中断方式:如图4所示。各个按键都接到一个与非上,当有任何一个按键按下时,都会使与门输出为低电平,从而引起单片机的中断,它的好处是不用在主程序中不断地循环查询,如果有键按下,单片机再去做相应的处理。
Tag:电路学习,学习园地,维修教程知识 - 电路学习
- 上一篇:笔记本电脑TFT液晶屏的结构
《键盘接口与编程》相关文章
- › 键盘接口损坏如何修复
- › 键盘接口与编程
- › 小巧的键盘练习器-PS/2键盘接口电路应用实例
- › 如何修复损坏的键盘接口
- › 键盘无法插入键盘接口
- 在百度中搜索相关文章:键盘接口与编程
- 在谷歌中搜索相关文章:键盘接口与编程
- 在soso中搜索相关文章:键盘接口与编程
- 在搜狗中搜索相关文章:键盘接口与编程
编辑推荐
- · 空调除湿功能的原理
- · 传声器的主要技术指标
- · 超低压差稳压电路
- · EMS
- · 直流电机的均压线、作用,怎样设置均压线
- · 杜比定向逻辑环绕声系统
最新更新
热门排行
- · 空调除湿功能的原理
- · 传声器的主要技术指标
- · 超低压差稳压电路
- · EMS
- · 直流电机的均压线、作用,怎样设置均压线
- · 杜比定向逻辑环绕声系统
- · 给移动硬盘添加“动力”
- · VOD卡拉OK歌厅系统简介及特点
- · 单相电度表是如何接线的
- · 三招小秘笈测验你的音箱 试音小诀窍