- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
目 录
中文摘要.........................................................................................................Ⅰ
英文摘要.........................................................................................................Ⅱ
1 任务及要求 2
1.1设计任务 2
1.2 设计要求 2
2 设计思想 2
2.1 硬件设计思想 2
2.2 软件设计思想 2
3 电路原理与电路图 3
3.1 电路原理 3
3.2 电路原理图 3
4 流程图与算法描述 3
4.1 流程图 4
4.2 算法描述 5
5 仿真结果 6
5.1 仿真结果 6
6 设计总结 11
6.1 设计体会 11
参考文献 12
致谢 12
附录 13
1 任务及要求
1.1设计任务
设计一个4×4的键盘的简易计算器和LED数码管的显示电路的Proteus仿真及汇编程序设计。
1.2 设计要求
1、2、3、Proteus 7仿真工作的全过程。
4、5、4×4矩阵式键盘程序识别原理,掌握4×4矩阵式键盘按键的设计方法。
2 设计思想
2.1 硬件设计思想
用单片机的并行口P1连接4×4矩阵键盘,并以单片机的P1.0-P1.7各管脚作输入线,以单片机的P2.0-P2.7和P0.0—P0.7各管脚作输出线,在数码管上显示每个按键 “0-9”的序号。键盘中对应按键的序号排列如图(1)所示。数字0、1、2、3接X0;4、5、6、7接X1;8、9、10、11接X2;12、13、14、15接X3。即16个按钮空接,即十六个键一端低电平,另一端接高电平;当按下任意一个按钮时显示对应数字。
该系统可以实现四则运算,当分别按下2个数字,再按任意一个功能键即可实现相应的运算。
2.2 软件设计思想
整个程序可以实现十进制内的加减乘除,其中包含了延时子程序(去抖动),加法、减法、除法、乘法等子程序。
(1)按键的识别
判断键盘上有无按键闭合,先判断行线X0—X3输出低电平“0”,然后判断列线Y0—Y3的状态,若为全1,即列线全为高电平,说明键盘上没有按键闭合,若Y0—Y3不全为1,说明有键按下。
(2)消抖处理
当判断有键按下后,需要进行消除抖动,这里使用了软件方法即程序中采用时间延时0.5秒,待信号稳定后再判别键盘的状态,若有键按下,则再进行键号的计算。
(3)判别键号
先判断行线X0—X3是否有输出低电平“0”,若有键按下,则相应的列线也为低电平“0”,例如行线X1输出为低电平“0”,且列线Y2为低电平,即X1与Y2相交的键被按下,进行键号=行号*4+列号 的计算。
(4)显示结果
显示器接高电频,左边显示器接P0,右边显示接P2,当按下一个数字时右显示器显示相应的数字,按第2个数字时左边显示器显示相应数字;当进行除法运算时,除的的数据要看接口P0.7接高还是低电频,低电频则结果为几点几,为高电频则几十几。其它运算直接看数据即可。
3 电路原理与电路图
3.1 电路原理
单片机最小系统。一个AT89C51单片机做为控制电路,运用其P0、P1口来控制数码管和键盘,通过P0和P2口来显示键值(0~9)3.2 电路原理图
图3.1 电路原理图
4 流程图与算法描述
4.1 流程图
图4.1 主函数流程图
图4.2 延时子程序流程图
4.2 算法描述
1、设计一个延时子程序,延时0.5s。本程序通过两个DJNZ的语句来实现。延时程序的代码段如下:
DELAY:MOV R7,#100D
DEL1:MOV R6,#250D
DEL2:MOV R5,#10D
DJNZ R5,$
DJNZ R6,DEL2
DJNZ R7,DEL1
RET
2、仅实现十进制的加减乘除运算。CJNE是判断两个数是否相等,不想等则转移,代码段如下:
M0:CJNE R1,#10D,M1
LJMP L1
M1:CJNE R1,#11D,M2
LJMP L1
M2:CJNE R1,#12D,M3
LJMP L1
M3:CJNE R1,#13D,M4
LJMP L1
M4:CJNE R1,#14D,M5
LJMP L1
M5:CJNE R1,#15D,M6
LJMP L1
M6:RET ;返回重新按入新的键号
5仿真结果
5.1 仿真结果
1、加
您可能关注的文档
最近下载
- 《致教师》我的读书心得.pptx VIP
- 中国哲学经典著作导读(西安交大)中国大学MOOC慕课 章节测验期末考试答案.pdf VIP
- 电力市场分析软件:PLEXOS二次开发_(7).高级脚本与模型定制.docx VIP
- (2025秋新版)外研版八年级英语上册《Unit 5》教案.pdf
- 电力市场分析软件:PLEXOS二次开发_(9).案例研究与实践.docx VIP
- 《物业管理师》三级试题(含参考答案).docx VIP
- 电力系统优化与调度软件:PLEXOS二次开发all.docx VIP
- 汉语拼音gkh教学PPT课件.ppt VIP
- 电力市场交易软件:Energy Exemplar PLEXOS二次开发all.docx VIP
- PCS7-VLVL阀门块使用详解.pdf VIP
文档评论(0)