4位数加法计算器_第1页
4位数加法计算器_第2页
4位数加法计算器_第3页
4位数加法计算器_第4页
4位数加法计算器_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、安庆师范大学2014级单片机原理与应用课程设计报告课题名称4位数加法计算器的设计吴昊天、伍浩然、王鹏、万吉070814018 070814008 070814005 070814001院、系、部计算机学院物联网工程物联网工程汪文明指导教师2016 年6月6日 21 一、设计任务及要求: 设计任务:12显示34、通过4*4矩阵键盘输入数字及运算符;、可以进行4位十进制数以内的加法预算。如果计算结果超出四位数,则全部 “E;、可以进行加减乘除所有运算;、添加其他功能。要求:首先进行预设计,根据设计的任务要求,先确定设计的硬件电路方案,然后进行 硬件电路的初步设计,在计算机上画出硬件电路图,在老师的

2、指导下进行修正硬件电 路图,并对所涉及的参数进行计算。在确定硬件的基础上,要进行软件的总体设计,包括软件主流程的设计以及各子 程序的设计,同时,要写出详细的操作说明,如时间的调整方法,显示窗口的时间切 换等,以配合软件的设计。然后进入硬件的调试及编程工作,设计组内的同学可根据任务分工,有调试硬件 各功能模块的,如键盘子程序、显示子程序等,有进行整体程序的编制的,各模块的 编制过程中要注意资源的衔接。最后进入联机调试,联机调试的原则也要采用分步走的原则,各个功能模块要逐 步套入,通过一个再增加一项功能,从而达到设计的总体要求,不要上来编制个最大 的程序,最后无法查找错误。最后写出设计报告。指导教

3、师签名:三、成绩2016年6月6日指导教师签名:年 月曰、绪言二、系统设计2.1设计任务2.2方案比较与论证2.2.1系统整体流程图2.2.2单片机的选择方案论证2.2.3键盘选择方案论证2.2.4显示模块的选择方案论证2.2.5蜂鸣器的选择方案论证三、硬件电路设计3.1计算器的控制电路图3.2矩阵键盘的设计33.3 LCD1602显示电路的设计33.4蜂鸣器驱动电路的设计43.5主要元器件选择4四、程序流程图五、c语言程序设计六、计算器的仿真196.1 Keil 调试196.2 Proteus 调试七、结束语八、参考文献1920、绪言近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,

4、同时带动传统控制 检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个 核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。电子时钟是现代社会中的主要计时工具之一,广泛应 用于手机,电脑,汽车等社会生活需要的各个方面,及对时间有要求的场合。本设计采用码头、AT89C52单片机作为主要核心部件,附以上电复位电路,时钟电路及按键调时电路组成。 数字钟已成为人们日常生活中:必不可少的必需品, 广泛用于个人家庭以及车站、由于数字剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。集成电路技术的发展和采

5、用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带 方便等优点,它还用于计时、自动报时及自动控制等各个领域。系统设计2.1设计任务12342.2方案比较与论证、通过4*4矩阵键盘输入数字及运算符;、可以进行4位十进制数以内的加法预算。如果计算结果超出四位数,则全部显示“E” 、可以进行加减乘除所有运算;、添加其他功能。2.2.1系统整体流程图键盘接口图1系统整体流程图2.2.2计算器的控制方案论证用4*4的矩阵键盘组成0-9数字键及加、减、乘、除、等于、清零按键,LCD屏幕实时显 示输入的数字和运算符号,每按下一个按键都有蜂鸣器发出的响声。从矩阵键盘输入一个号,数字,选择运算符,再输入一

6、个数字,然后按下“等于”键,最后的计算结果会呈现在LCD屏幕上。223单片机的选择方案论证方案一:采用可编程逻辑期间CPLD作为控制器。CPL可以实现各种复杂的逻辑功能、 规模大、密度高、体积小、稳定性高、I/O资源丰富、易于进行功能扩展。采用并行的输入 输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需 要复杂的逻辑功能,对数据的处理速度的要求也不是非常高,且从使用及经济的角度考虑我们放弃了此方案方案二:采用Atmel公司的AT89C5单片机作为控制器。AT89C5是一个低功耗,高性能 的51内核的CMOS位单片机,片内含8k空间的可反复擦些1000次的Flash

7、只读存储器,具有256 bytes的随机存取数据存储器(RAMI,32个双向I/O 口,2个16位可编程定时计数器。综合考虑,选择方案二,采用Atmel公司的AT89C5单片机作为控制器。2.2.4键盘选择方案论证方案一:采用独立式键盘。由于各键相互独立,每个按键各接一根输入线,通过检测 输入线的电平状态可以很容易的判断哪个按键被按下。此种键盘适用于按键较少或操作速 度较高的场合。但本题发挥部分要求16个功能键,按键数目较多,这就需要较多的输入口 线,而且电路结构复杂。故此方案不可取。方案二:采用矩阵键盘。它由行和列组成,按键位于行列的交叉点上,行线信号和列线信号分别通过两个接口和 CPU相连

8、,通过行列扫描法判定按键的位置,此方案适用于按键较多的场合。通过对4位数加法计算器题目的分析,采用4*4行列式键盘。2.2.5显示模块的选择方案论证方案一:采用带字库LCD模块显示。能显示复杂的信息,具有质量轻,体积小,功耗 低,指令功能强,接口简单,可靠性强等优点,显示内容丰富,图形美观,易于人机交流。但是价格昂贵。方案二:采用LED数码管显示。数码管能显示数字和符号,但是占用I/O 口资源较多, 对于简单的电路可以选用此方案。计算器,需要较为强大的人机交互界面,故选用方案一,显示所需信息。2.2.6蜂鸣器的选择方案论证方案一:采用有源蜂鸣器。有源蜂鸣器内部带震荡源,只要一通电就会发出响声。

9、方案二:采用无源蜂鸣器。无源蜂鸣器内部不带震荡源,所以用直流信号无法令其鸣叫,必须用2K5K的方波去驱动它。综合考虑,为了程序控制的方便,选用了方案一。硬件电路设计3.1计算器控制电路图BEEPiLJZZERIU143-XTAL1FOQ;AOOPO KADIPOKTALSPO 引AD3PO 町ADdP0 5;AD5PQ 削AO6丄R3TPO 7;AD7P2 0/A?P2 1HA9P2 2fAiOEEPSEMP2.1fA11ALEP?4fAl2EaP2.S/AliP2.训 14P2.7/A15亠LO 1口 1 nmPT. Artjyri;U 2PITsLI urIz pi i/T;exRJAVr

10、VdJP41/rxD* H ?P124 L3 4Cm qC-1 j.rr-. iT 1i H 5* Tf tHidF14K_J jrrJ 1 1FQAm亠 Lu ti 1 cpa CiTi:LE 71 r厶H I 0 F16Ki.DJ 1 11 L7 3P17P3.T/RCAT39CS23H1521. iqts 耳哗npi遥I111313Q1R1IkLLCD16O2LMO16LT1- I2II I505-II L AC j=O o=I TJoJI / II T 二-JOC+II Jo oL AII. L A图2计算器控制线路图3.2矩阵式键盘的设计键盘电路如图3所示。设计数字键09的键号依次为

11、09,运算符号分别为“ +”“-”、“*,以及“=”和清零“ C,通过逐行扫描函数来确定按下的键位。严9ii II Q OX G;o o-*-C III OQEXTnJI_Oa3.3 LCD1602显示电路的设计LCD1602液晶屏采用LM016L型号元件,其电路如图3所示。000OO_|P a口LCD1602LM016L-1L/ 丨-_|图4 LCD1602显示电路3.4蜂鸣器驱动电路的设计蜂鸣器的驱动采用PNL极管来驱动,低电平有效。其电路如图 5所示。BEE PQ1Ps ZZERU1-XTAL1PO.O/ADOP0.1/AD1P0.2/AD2 XTAL2P0.3/AD3P0.4/AC4P

12、0.5/AD5P0.6/AD6RSTP0.7ZAD7P2.0/A8P 2.1/A9P2.2/A10PSENP2.3/A11图5蜂鸣器电路图22 1231 -rR I L 胆 9 8t_-b5-4 3-i 13 3-3-33-3 3-丄 2主要元器件选用型号和数量如表1所示:3.5主要元器件选择序号材料名称规格型号数量元件代号1单片机AT89C521U12晶振12MHz1X13三级管MJE3501Q14键盘4*4165LCD1602LM016L1LCD16026蜂鸣器1BEE P7电阻1k1R1表1主要元器件清单四、程序流程图开始初始化单片机蜂鸣器发扫描键盘TS数出响声宁宇数字计算LCD液晶屏显

13、示五C语言程序设计#in elude #in elude vintrin s.h#defi ne uehar un sig ned charII定义E 口II定义RS 口II定义蜂鸣器#defi ne uint un sig ned int sbit lcden=P 2人1; sbit ledrs=PiO; sbit beep=P 2人2;II创建键位数组,数字,运算符号,等于号,清零(小数点)uehar code table=0,1,2,3,4,5,6,7,8,9,+,-T*,7,=,Tuchar key,flag1,js,k1,k2;uchar a20,b20;float jieguo=0

14、;void delay(uchar z) / 延迟函数 uchar x,y; for(x=z;x0;x-)for(y=110;y0;y-);void write_cmd(uchar cmd) / 写命令函数lcdrs=0;P1=cmd; delay(5);Icden=1; delay(4); lcden=0;void write_data(uchar date) / 写数据函数lcdrs=1; P仁date; delay(5); Icden=1; delay(5); lcden=0;void init()/LCD初始化函数lcde n=0;write_cmd(0 x38); / 设置 16x2

15、 显示,8 位数据接口 write_cmd(0 x0c); /设置开显示,不显示光标(关显示是 0 x08) write_cmd(0 x06); /写一个字符后地址指针加1write_cmd(0 x01); / 清屏void keysca n()uchar temp,uu=0 xf7;uint i;for(i=0;i4;i+)uu=_crol_(uu,1); / 左移P 3=uu;tem p=P3;temp=temp&0 x0f;if(te mp !=0 x0f) delay(10);te mp=P3;te mp=te mp&0 x0f; if(tem p!=0 x0f)temp=P 3; s

16、witch(te mp) 延迟200响声case 0 xee:key=1;bee p=0;delay(200);bee p=1;break;case 0 xde:key=2;bee p=0;delay(200);bee p=1;break;case 0 xbe:key=3;bee p=0;delay(200);bee p=1;break;case 0 x7e:key=10;bee p=0;delay(200);bee p=1;break;case 0 xed:key=4;bee p=0;delay(200);bee p=1;break;case 0 xdd:key=5;bee p=0;dela

17、y(200);bee p=1;break;case 0 xbd:key=6;bee p=0;delay(200);bee p=1;break;case 0 x7d:key=11;bee p=0;delay(200);bee p=1;break;case 0 xeb:key=7;bee p=0;delay(200);bee p=1;break;case 0 xdb:key=8;bee p=0;delay(200);bee p=1;break;case 0 xbb:key=9;bee p=0;delay(200);bee p=1;break;case 0 x7b:key=12;bee p=0;de

18、lay(200);bee p=1;break;case 0 xe7:key=0;bee p=0;delay(200);bee p=1;break;case 0 xd7:key=15;bee p=0;delay(200);bee p=1;长响声/清零bee p=0;delay(200);bee p=1;bee p=0;delay(200);bee p=1;break;case 0 xb7:key=13;bee p=0;delay(200);bee p=1;break;case 0 x77:key=14;bee p=0;delay(180);bee p=1;delay(100);bee p=0;d

19、elay(180);bee p=1;break;/ 等于按键两声短响,中间较短间隔 while(te mp !=0 x0f)tem p=P3;temp=te mp&0 x0f; flag1=1;void jscl() /计算显示函数uchar i,j, n;float s,te mp2;long int s1,s2,a1,b1,c1,te mp1; a1=1;b1=1;s1=0;s2=0;s=0;if(k2!=0)/存放第一操作数for(j=0;jk1+1;j+)for(i=0;ik1-j;i+) a1=a1*10;s1=s1+aj*a1;a1=1;for(j=k1+1;jk2+1;j+) /

20、 存放第二操作数for(i=0;i9999|s=9999) wnte_data(E);/运算结果小数的处理elsec1=(lo ng in t)(s*1000)%10; if(c1=5)s=s+0.01;temp 1=(lo ng in t)(s);temp 2=s-te mp1;n=0;while(tem p1)b n=te mp 1%10;temp 1=te mp 1/10;n+;b n=te mp 2*10;b n+1=(uchar)(te mp 2*100)%10; for(i=n; i0;i-)write_data(tablebi-1);if(jieguo1)write_data(t

21、able0); write_data(table15); write_data(tableb n); write_data(tableb n+1);elsewrite_data(table15); write_data(tableb n); write_data(tableb n+1);void mai n()uchar i,j;in it();write_cmd(0 x80); /将液晶指针定位在第一行第一个单元 key=15;i=0;flag1=O;while(1)keysca n(); if(flag1=1) if(key=15)wnte_cmd(OxO1);i=0;for(j=0;j2

22、0;j+)aj=0;bj=0;k1=0;k2=0;else if(key10)write_data(tablekey); ai=key;i+;else if(key!1p凸a工 LiD3ignd rutMl1 He-iinr niot unjigmEd incHE-I Alt JxiienrPJTfBtiQte lcdra-F2-0;心忌文歸二*1 -JCtui c 込 匚 dilc|-n, 1,“刨崔es页SIS. Ey. -w可寸,尊干m:HT :那itatiDJ _HPlljci ktyj fldli耳E h kZ;n? CtUl i:2artl2O-ht114VDljd clsia/l

23、ucJiBr z? F丞迟iZi做n&d 1|itlu占hWE* 略Fl:HT皿1产11:*丁0州-1 JTvld Jiite end Juebar okII /f 写自涉sEIfREZ?lodia-0B;Pl-aid:i2i 1冲 rGtl耶1舸WyUnCT*led曲.Q出 vnLd viitc- ditn l-ucJinr flace? r.乐无|i|11胡:!:w aJTarn IP da iwrtCiPUplSTARTlJP.ABIhlld :LE評t iaU.3np FUIIUT. h31_ _jpurcE. c.linkup.Pnu. daxE: SkaK.Q uni/znn? b

24、 f lIm Era.0)nlr:-D EEZcrlBb D Hu=j.zq|:i*.6.2 P roteus 调试 3 uhlDT -1* Prulm/ikMuJVin Ldrt IqLr吋 pLibrwy fpmpUlp14*1匸ri 护 Ua:-: *哼b k踣ft MX匸 n:t- 1-1. 3 3 uhlDT -1* Prulm/ikMuJVin Ldrt IqLr吋 pLibrwy fpmpUlp14*1匸ri 护 Ua:-: *哼b k踣ft MX匸 n:t- 1-1. 3 ITun llVIlW- 用、BEE PLilHXT4L1XT*.?RSIKiltjhPOEAC4 Fm

25、I 沁、 poiwffi poawj POJtZM PO5W0 w却 g7gPIOIM P3 11*=- P2iC P23r P哪I; PP&uu* P?詐WP7T/:!rP3 1lTO pj afnr =-J14TTT 讯勿 用知IPJTJRCLCD15CE lmOiclLq:亠.亠塞:亠:亠V、.卡5一BBSS各BSa7结束语通过这次课程设计,使我们得到了一次用专业知识和专业技能去分析问题、解决问题C语言全面系统的锻炼。使我们在单片机的基本原理、单片机应用系统开发过程,以及用 设计程序的思路技巧等方面都能向前迈了一大步,为我们日后成为合格的应用型人才打下良好的基础。8参考文献期刊类【格式】

26、序号作者.篇名J.刊名,出版年份,卷号(期号):起止页码 【举例】1王海粟.浅议会计信息披露模式J.财政研究,2004,21(1) : 56-58.2夏鲁惠.高等学校毕业论文教学情况调研报告J.高等理科教育,2004(1):46-52.Heider, E.R.& D.C.Oliver. The structure of color sp ace in naming and memory of two Ian guages J. Foreig n Lan guage Teachi ng and Research, 1999, (3): 62 - 67.专著类【格式】序号作者.书名M.出版地:出版社,出版年份:起止页码.【举例】4葛家澍,林志军.现代西方财务会计理论M.厦门:厦门大学出版社,2001:42. Gill, R. Masteri ng En glish Literature M. Lo ndon: Macmilla n, 1985: 42-45.报纸类【格式】序号作者.篇名N.报纸名,出版日期(版次)【举例】 李大伦.经济全球化的重要性N.光明日报,1998-12-27(3).7French,W. Between Silences:A Voice from China

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论