基于单片机的按键模拟
更新时间:2024-05-29 11:01:01 阅读量: 综合文库 文档下载
- 单片机模拟触摸按键推荐度:
- 相关推荐
目录
1.引言 .................................................. 1
1.1作品简介 ............................................................................................................................ 1
1.2作品设计思路及方案 ........................................................................................................ 1
1.2.1总述 .......................................................................................................................... 1 1.2.2主程序流程图 .......................................................................................................... 2 1.2.3中断子程序流程图 .................................................................................................. 3 1.3知识点应用 ........................................................................................................................ 3
2.硬件应用 .............................................. 4
2.1AT89C51单片机 ................................................................................................................ 4 2.2独立式键盘 ........................................................................................................................ 5 2.3数码管 ................................................................................................................................ 6 2.4串口通信 ............................................................................................................................ 6 2.5外部中断 ............................................................................................................................ 7
3.软件应用 .............................................. 7
3.1程序初始化 ........................................................................................................................ 7 3.2主程序及其说明 ................................................................................................................ 8 3.3中断程序及子程序 .......................................................................................................... 10
4.调试 ..................................................11
4.1问题1 ............................................................................................................................... 11
4.2问题2 ............................................................................................................................... 11
5.结语 ..................................................11 6.参考文献 ..............................................12 7.附录程序 ..............................................13
1.引言
1.1作品简介
电视、空调等现代的电器产品都需要一个小小的遥控器来控制,而许多如手机的电子产品都能进行改装而达到控制其他电器的目的,可见,遥控器已经在我们的生活中占了很重要的地位。由此我产生了基于51单片机的基础上设计一个按键显示输出装置的想法。该作品具有按下一个键后,在数码管上显示相应数字并发送数字到pc机上的功能。如果能够继续加深单片机的其他应用,该作品会更完美,有效。
1.2作品设计思路及方案
1.2.1总述
本作品的大致思路是:按下按键,数码管显示数字,同时pc机输出相应数字,并还有一个中断功能,如图1.2.1所示。
1
1.2.2主程序流程图
本作品主程序:判断按键是否按下,如果按下,执行相应的程序,之后返回。如果没按下,则判断下一个按键是否按下,如此反复。如图1.2.2
图1.2.2
2
1.2.3中断子程序流程图
本作品使用了外部中断0,当中断按下时,当前数码管上显示入栈保护,数码管上全部显示“A”,按键弹起后,数码管恢复原来状态。如图1.2.3
1.3知识点应用
本作品运用了51单片机的独立式键盘(I/o口)、数码管显示、串口同信、外部中断四个知识点。
3
2.硬件应用
本作品使用了单片机上的一些硬件:独立式键盘、数码管、中断0开关、串口助手等。
2.1AT89C51单片机
本作品是基于51单片机基础上扩展的应用,选用AT89C51芯片,如图2.1.1所示:
图2.1.1
4
2.2独立式键盘
在P1口上接按钮,作为独立式键盘,如图2.2.1所示:
图2.2.1
由于只用到了四个键,所以只安装了四个开关,从上往下依次为S1、S2、S3、S4
5
2.3数码管
数码管作为显示输出,装有两片74HC573芯片作为P3.6与P3.7开关来控制段码与位码的输入,如图2.3.1
图2.3.1
2.4串口通信
串口通信应用串口中断,在PC机上输出信号,这里只放出仿真用的端口,如图2.4.1
图2.4.1
6
2.5外部中断
外部中断使用的是外部中断0,按钮为P2.7,如图2.5.1所示:
图2.5.1
另外,本作品使用的是实验室中的试验箱,在此不再给出实物图。
3.软件应用
本作品功能简单,按键按下,数码管上显示相应数字并输出到PC机上,可同时按下多个按键并同时显示,但只输出到PC上一次,外部中断时有保留当前数字的功能并使得数码管全部显示“A”,当外部中断结束,数字会恢复原来的样子。
3.1程序初始化
设置外部中断,串口通信等初始参数。 ORG
0000H
7
LJMP ORG LJMP
MAIN
0003H ;外部中断0入口 EINT0
ORG 0030H
SCON,#50H ;设置串口工作方式
MAIN: MOV
MOV MOV MOV MOV SETB SETB SETB
PCON,#80H ;波特率加倍 TMOD,#20H ;设置计数器工作方式 TH1,#0FAH ;设置波特率 TL1,#0FAH
EX0 ;打开中断0 EA ;中断总开关打开 TR1 ;计数器工作
TI
;TI清零
CLR
CLR
IT0 ;中断0为跳沿触发方式
3.2主程序及其说明
主程序运行时查验是否有按键按下,如果按下,则接通相应子程序向数码管发送数据并向PC机发送数值。
LP:
JB P1.0,L2 ;如果按键1没有按下,则跳转到L2
LCALL DM ;载入子程序DM
MOV P0,#06H ;送段码 LCALL WM ;载入子程序WM MOV P0,#0FEH ;送位码 LCALL DELAY ;延时 MOV MOV JNB CLR
A,#31H ;送31H到A SBUF,A ;发送数据 TI,$ TI
8
L2: JB P1.1,L3 LCALL DM
MOV P0,#5BH
LCALL WM MOV P0,#0FDH LCALL DELAY MOV A,#32H MOV SBUF,A JNB TI,$ CLR
TI
L3: JB P1.2,L4 LCALL DM MOV P0,#4FH
LCALL WM
MOV P0,#0FBH LCALL DELAY MOV A,#33H MOV SBUF,A JNB TI,$ CLR
TI
L4:
JB P1.3,LP
LCALL DM MOV P0,#66H LCALL WM MOV P0,#0F7H LCALL DELAY MOV A,#34H MOV SBUF,A
JNB
TI,$
9
CLR LJMP RET
TI LP
3.3中断程序及子程序
外部中断0开启时,保护当前数码管数值入栈,并使数码管全部显示“A”,之后外部中断0断开,数值出栈,数码管恢复原先数值。
EINT0: PUSH 80H ;入栈保护
LCALL DM ;调用DM MOV
P0,#77H ;送段码
LCALL WM ;调用WM MOV
P0,#00H ;送位码
LCALL DELAY ;延时 POP RETI
80H ;出栈
DM: SETB P3.6 ;P3.6开
CLR P3.7 ;P3.7关 RET
WM: SETB P3.7 ;P3.7开 CLR P3.6 ;P3.6关
RET
DELAY: MOV R7,#10 ;延时40ms DE1: MOV R6,#100 DE2: MOV R5,#20 DJNZ R5,$ DJNZ R6,DE2 DJNZ R7,DE1 RET
10
4.调试
本作品经过仿真和实物调试,发现一些问题。
4.1问题1
仿真与实物有一些差距,延时过大的话,当按键超过两个一直按下时,实物与仿真上的数码管显示数值时都是轮流闪动,无法达到同时亮起的效果,而当延时过小时,实物显示无问题,但仿真显示都是乱码或者无法显示。
4.2问题2
实物运用时,按下一个键经常显示几个相同数字,并且显示的数字个数并不相同,毫无规律。
5.结语
经过了一番努力,在老师和同学的帮助下,我顺利结束了此次的作品设计,在这个过程中,我了解了许多,感悟了许多。
实践是检验真理的唯一标准,经过这次作品设计,我深深理解了这句话,在经过了仿真与实物的运用后,单片机各个部分的功能显得明确而具体。这在作品设计之前只知道概念的我看来简直不可思议,所以说,只有将理论与实际结合起来,才能让人映像深刻并真正理解。
通过这次设计,我深刻理解到要做好一件事情,必须有系统的思维方式和方法,要有耐心和恒心去钻研努力,要善于运用资源丰富充实自己,要有整体的目光来看待事物,再从局部到整体慢慢实现,这样才会有效率。
11
6.参考文献
【1】张毅刚、彭喜元、彭宇. 单片机原理及应用【M】.第二版. 北京:高等教育出版社,2010.5,119-133
【2】bzxy_lyz.基于AT89C51的串口通信程序设计【ol】.
http://wenku.http://www.wodefanwen.com//view/45d19623482fb4daa58d4b8e.html, 010.5.23
【3】G.Edward Suh, Charles W.O’Donnell, Srinivas Devadas, Aegis:a single-chip
secure processor, IEEE Design and Test of Computers.2008,24(6)570-580. 【4】彭为.《单片机典型系统设计实例精讲》,北京:电子工业出版社,2006 【5】潘永雄.《新编单片机原理与应用》,西安:西安电子科技大学出版社,2003
12
7.附录程序
ORG 0000H LJMP MAIN ORG 0003H LJMP
EINT0
ORG 0030H
MAIN: MOV
SCON,#50H
MOV PCON,#80H MOV TMOD,#20H MOV TH1,#0FAH MOV TL1,#0FAH SETB EX0 SETB ES SETB EA
SETB TR1 CLR
TI
CLR IT0
CLR PS
SETB
PX0
LP: JB P1.0,L2 LCALL DM MOV P0,#06H LCALL WM MOV P0,#0FEH LCALL DELAY MOV A,#31H MOV SBUF,A
JNB
TI,$
13
CLR TI
L2: JB P1.1,L3 LCALL DM
MOV P0,#5BH
LCALL WM MOV P0,#0FDH LCALL DELAY MOV A,#32H MOV SBUF,A JNB TI,$
CLR
TI
L3: JB P1.2,L4 LCALL DM MOV P0,#4FH
LCALL WM
MOV P0,#0FBH LCALL DELAY MOV A,#33H MOV SBUF,A JNB TI,$
CLR
TI
L4: JB P1.3,LP LCALL DM MOV P0,#66H LCALL WM MOV P0,#0F7H LCALL DELAY MOV A,#34H
MOV
SBUF,A
14
JNB CLR LJMP RET
TI,$ TI LP
EINT0: PUSH 80H LCALL MOV
LCALL MOV
LCALL POP RETI
DM: SETB P3.6 CLR P3.7
RET
WM: SETB P3.7 CLR P3.6
RET
DELAY:MOV R7,#10 DE1:MOV R6,#100 DE2:MOV R5,#10 DJNZ R5,$ DJNZ R6,DE2 DJNZ R7,DE1 RET
END
DM P0,#77H
WM P0,#00H
DELAY 80H
15
JNB CLR LJMP RET
TI,$ TI LP
EINT0: PUSH 80H LCALL MOV
LCALL MOV
LCALL POP RETI
DM: SETB P3.6 CLR P3.7
RET
WM: SETB P3.7 CLR P3.6
RET
DELAY:MOV R7,#10 DE1:MOV R6,#100 DE2:MOV R5,#10 DJNZ R5,$ DJNZ R6,DE2 DJNZ R7,DE1 RET
END
DM P0,#77H
WM P0,#00H
DELAY 80H
15
正在阅读:
基于单片机的按键模拟05-29
2014河北政法干警考试行测:从语法角度解答逻辑判断下05-19
通信设备工程安装施工规范03-14
《质量守恒定律》说课稿02-12
员工表彰大会通知和议程08-29
xilinx时序约束04-24
高考地理一轮复习 第18讲 人口迁移与人口流动教学案 鲁教版04-28
阅读狼09-08
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 单片机
- 按键
- 基于
- 模拟
- 电路电子技术复习题
- 少数民族现状
- 苏教版小学科学二年级下册:3.神奇的新材料(实验单)WORD(2)
- 投掷及游戏
- 六合高中07-08学年度高二数学(上)期末调研测试卷
- 江苏省农村剩余劳动力转移实证分析
- 建筑工程管理专业毕业实习报告范文
- 财务管理习题集
- 《幼儿园音乐教育活动指导》教案
- 北疆定子吊装作业指导书
- 专利申请说明书(计算机软件模板)
- 2018年福建省普通高中毕业班质量检测文综历史试题
- 第五单元(人口与地理环境)检测
- 上市公司财务舞弊行为的识别与治理研究-毕业论文
- 高考物理知识直线运动复习教案
- 关于做好全校教职工信息采集工作的通知红头文件
- 烘焙工工作总结与计划范文
- 人防基本知识
- 度米文库精品文档高考作文必备关于我的读书素材
- 江苏省苏锡常镇四市2018届高三教学情况调研(二)化学试题Word版含