版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE物理与电气工程学院课程设计报告设计名称:简易计算器院部:物理与电气工程学院专业班级:10电信一班学生姓名:陈鹏梁伟伍洁泉吴昌刚完成时间:2012年6月9日评阅意见:评阅意见:陈鹏梁伟伍洁泉吴昌刚评阅教师日期PAGE7摘要单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心,如今,它已广泛的应用到我们生活的各个领域,电子、科技、通信、汽车、工业等。本次设计是设计一个简易计算器,能够进行多位简单的加减运算,同时它能支持2位整数运算。它主要由STC89S52单片机、A8255、数码管,键盘等模块组成。本计算器是将键盘输入信息经处理通过缓存,送入数码管显示,键盘采用行列式,数码管采用动态扫描方式,计算功能通过软件实现,用汇编语言对单片机可编程芯片进行编程,实现对计算器的设计。目录TOC\o"1-3”\h\uHYPERLINK\l_Toc22568设计要求ﻩPAGEREF_Toc225681HYPERLINK\l_Toc266121、方案ﻩHYPERLINK\l_Toc124541。1方案ﻩHYPERLINK\l_Toc243212、硬件电路设计ﻩ.HYPERLINK\l_Toc271242.1键盘电路设计ﻩHYPERLINK\l_Toc100122.2显示电路设计ﻩHYPERLINK\l_Toc64263、系统工作流程及流程图ﻩHYPERLINK\l_Toc306354、系统功能测试与整体指标ﻩHYPERLINK\l_Toc275324。1软件调试步骤ﻩHYPERLINK\l_Toc65584.2程序调试步骤ﻩHYPERLINK\l_Toc22944.3测试结果ﻩ5总结与思考及致谢HYPERLINK\l_Toc5435HYPERLINK\l_Toc28886附录一主程序ﻩ简易计算器设计要求3*4键盘输入,数码管显示.完成一位整数的加减由于键盘只有12个按键,安排如下:
+——---—-—-—---—-+
|1|2|3|4|
|5|6|7|8
|
|0|+|—|=
|
+—--—-—--------—+方案1.1方案按照设计要求,提出方案此方案首先通过键盘得到数据,通过A8255记录数据,并通过程序对数据进行处理,最后通过数码管显示出来.结构框图如图1:STC90C51STC90C51A8255数码管显示3*4行列键盘图1方案方框图2、硬件电路设计2.1键盘电路设计键盘输入采用3*4的矩阵键盘。3*4键盘12个按键分别用于控制数字“0~8”以及数学运算符号“+、—、键盘模块电路如图(2)所示。图2键盘设置图当进行扫描时,扫描信号由列引脚输入键盘。以11111101、11111011、11110111的顺序每次.扫描不同的列,然后读取列引脚的信号就可以判断是哪个键被按下。识别键盘上哪个键被压下的过程的扫描步骤:1.检测是否所有键都都松开了,若没有则反复检测.2。但所有键都松开了,再检测是否有键压下,若无键一下则反复检测。3.如有键压下,要消除键抖动,确认有键压下。4.对压下的键进行编码,将该键的行列信号转换成16进制码,由此确定哪个键被压下了.如出现多键重按的情况,只有在其它键均释放后,仅剩一个键闭合时,才把此键当作本次压下的键。5.该键释放后,再回到2。2。2显示电路设计LED显示器由七段发光二极管组成,排列成8字形状,因此也成为七段LED显示器,器排列形状如图(3)所示:图3LED数码管为了显示数字或符号,要为LED显示器提供代码,即字形代码。七段发光二极管,再加上一个小数点位,共计8段。图4LED数码管显示原理图3、系统工作流程及流程图系统在开机上电后,系统处于等待状态,没有任何动作。等待输入数字以及运算符号,一旦有相应的按键按下,系统就会执行相应的动作。LED数码管上就会显示对应的数字,符号以及运算结果等.为了实现键盘的数据输入功能和命令处理功能,每个键都有其处理子程序,为此每个键都对应一个码——键码。为了得到被按键的键码,现使用行扫描法识别按键.其程序框图如图5:开始开始初始化显示参数读取显示数据输出段码数据输出位选通信号延时位选通信号移位指向下一个显示数据完成返回否是图5数码管显示程序框图4、系统功能测试与整体指标4.1软件调试步骤1)打开软件后,在Project菜单中选择NewProject命令,打开一个新项目。保存此项目,输入工程文件名后,并保存工程文件的目录。2)为项目文件选择一个目标器件,即选择8051的类型。在Database列表框中选择“ATML89S52",确定。3)上述设置好后,创建源程序文件并输入程序代码。输入好代码后点击“文件/保存”。4)把源文件添加到项目中,用鼠标指在目标工作区的目标1,点击右键在弹出的菜单中选择添加文件到源代码组,在弹出的添加文件框中,选择需要添加到项目中的文件.5)开始编译,对项目文件进行编译.若没有错误后进行硬件调试。4。2程序调试步骤程序调试应一个模块一个模块地进行,首先单独调试各功能子程序,检查程序是否能够实现预期的功能,接口电路的控制是否正常等;最后逐步将各子程序连接起来进行总调试.故调试步骤如下:1)矩阵3*4键盘的调试键盘程序是整个程序的基础,我们必须保证其正确。调试方法:先把程序下载到单片机,让数码管显示,在有键按下时显示的是否为设定的值。2)数码管程序调试正确的显示数值是整个程序的关键。调试方法:先把程序下载到单片机,让数码管显示,是否正确的显示数值。4.3测试结果实例测试:将写入程序的单片机插入实验板插座内,程序正确的有0~8数值的显示和正常的两则运算5、\总结与思考及致谢电子设计正在当今社会发挥越来越重要的作用,其采用的软硬件结合技术也逐渐成熟,该模拟系统正是采用软硬相结合的方法实现的。STC89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FLASH存储器,可以为众多嵌入式控制应用系统提供灵活、超有效的解决方案.在键盘设计方面,主要是软件的设计,通过程序编码来完成硬件方面所无法工作的部分,例如关于在扫描键盘时,需要逐行拉低并进行判断、编码。判断时,需要不断的屏蔽字节,来获取所需要的数据,而这一点硬件是无法做到的。此次课程设计是做简易计算器,这个需要对51芯片有足够的理解,能够充分认识每个引脚的详细功能,对于汇编语言也必须掌握的比较好。正是由于此次设计让我们明白了单片机在实践中的运用。我们的题目是基于单片机设计简易计算器,对于我们这些实践中的新手来说,这是一次考验.这次课程设计我们学到很多很多的东西,学会了怎么在遇到问题时去解决问题。不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程.通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。在此次课程设计中,首先我要感谢王陈宁老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢帮助过我的同学,他们也为我解决了不少我不太明白的设计两位数字加减的难题.同时也感谢学院为我提供良好的做毕业设计的环境。最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学!主程序:ORG00HAJMPSTARTORG30HSTART:MOVP0,#0FFHMOVR6,#0LOOP:MOVP1,#0FDH//令第一行为为零MOVR6,#0JBP1。4,L1//判断1按下MOVR0,#1LCALLXSL1:JBP1。5,L2//判断2按下MOVR6,#0MOVR0,#2LCALLXSL2:JBP1.6,L3//判断3按下MOVR6,#0MOVR0,#3LCALLXSL3:JBP1.7,L4//判断4按下MOVR6,#0MOVR0,#4LCALLXSL4:MOVP1,#0FBH//令第二行为零JBP1.4,L5//判断5按下MOVR6,#0MOVR0,#5LCALLXSL5:JBP1.5,L6//判断6按下MOVR6,#0ﻩﻩﻩﻩﻩﻩﻩﻩMOVR0,#6LCALLXSL6:JBP1。6,L7//判断7按下MOVR6,#0MOVR0,#7LCALLXSL7:JBP1.7,L8//判断8按下MOVR6,#0MOVR0,#8LCALLXSL8:MOVP1,#0F7H//令第三行为零JBP1.4,L9//判断0按下MOVR6,#0MOVR0,#0LCALLXSL9:JBP1.5,L10//判断加号键按下MOVR2,#1MOVA,R0MOVR1,ASJMPLOOPL10:JBP1.6,L11//判断减号键按下MOVR2,#2MOVA,R0MOVR1,ASJMPLOOPL11:JBP1.7,L12//判断等号键按下CJNER2,#1,L13//判断加号还是减号MOVA,R1//加号ADDA,R0MOVR4,ACJNER4,#9,L18//判断两数之和释放大于9SJMPT2//等于9L18:JCT2MOVR6,#1//大于9MOVA,R4SUBBA,#10MOVR5,ALCALLXSLJMPLOOPT2://小于9MOVA,R4MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,ALJMPLOOPL13://减号MOVA,R1CLRCSUBBA,R0MOVDPTR,#TABMOVCA,@A+DPTRMOVP0,AL12:LJMPLOOPTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH//共阴数码管段码DELAY:MOVR7,#02H//延时1MSDE:MOVR6,#0FFHDJNZR6,$DJNZR7,DERETXS://显示子程序CJNER6,#1,XX//判断是否为加法后的MOVP2,#04H//大于9的显示程序MO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国水电基础局有限公司三公司项目专职安全员招聘30人笔试历年参考题库附带答案详解
- 2025中化明达(福建)地质勘测有限公司招聘7人笔试历年参考题库附带答案详解
- 安徽省芜湖市27中2025-2026年八年级下期中语文试卷(含答案)
- 2025-2026学年新疆伊犁州伊宁县南通高级中学下学期期中模拟测试高一英语试卷(含答案)
- 2026年农产品代销合同协议
- 2026六年级下《比例》知识点梳理
- 2025工程(施工设计服务)合同
- 新苏教版三年级数学下册第一单元第7课《角的测量》教案
- 引水隧洞衬砌专项施工方案
- 2026年营运车辆过户合同(1篇)
- 口腔癌的口腔护理
- 购货合同模板写
- DL-T596-2021电力设备预防性试验规程
- NB-T11092-2023水电工程深埋隧洞技术规范
- 专题1.5 整式的乘除章末拔尖卷(北师大版)(解析版)
- 钢结构吊装专项施工方案(钢结构厂房)
- 天津市各地区2022年中考化学一模试题汇编-实验题
- HGT4134-2022 工业聚乙二醇PEG
- 国开2023秋《人文英语3》第5-8单元作文练习参考答案
- 煤矿班组长培训课件
- 《唐诗三百首》导读课(二稿)
评论
0/150
提交评论