单片机课程设计报告-设计十进制加减乘法计算器.docVIP

单片机课程设计报告-设计十进制加减乘法计算器.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
任务书 课程设计题目及任务要求 设计十进制加减乘法计算器,要求能显示三位输入和四位输出。 设计思路 1.操作显示设备 显示设备采用八片七段共阴极LED显示器,共设置16个键,其中数字键0-9共十个,接下来依次是加号键,减号键,乘号键,除号键,清除键,操作设备是4*4的矩阵键盘。 2.程序实现功能 (1)十进制加减乘除计算:输入范围为1-999,改程序输入两个定点数,每个3位,输出四位,A为加,B为减,C为等于,输出为四位计算结果。 (2)计算机复位功能:DEC均为清零重启,任何时候按下DEC中一个将重新开始。 绪论 现时学习或生活中,常会遇到一些数目较大数据,繁杂的数据运算,徒手运算起来很困难,这时候我们就必须用到计算器。人们对计算器的要求不断提高,现在,已经有一些功能较为强大,涵盖面较广的计算软件,而且各种平台的小工具仍不断出现,这些大大方便了我们的生活给我们更多的悬着和实现方式,本程序实现了加,减,乘,除的功能,但是,每次只能运算一个表达式,按DEC清空后再计算下一组式子。 方案论证 方案一:采用计算器专用芯片实现。用计算器专用芯片进行设计并编程实现。这种设计方案计算效率高、速度快、而且成本也相对较低,是厂家做计算器的最佳方案。但是本人对计算器专用芯片掌握的不够,还不足以实现设计计算器,所以这个方案不可去。 方案二:用单片机实现。由于单片机集成了运算器电路、控制电路、存储器、中断系统、定时器/计数器以及输入/输出口电路等,所以用单片机设计控制电路省去了很多分立元器件。由于单片机是可编程芯片,并且它可以运用C语言编写,对于一些复杂的计算功能,可以调用C语言库函数。使编写程序变得非常简单。所以该课题用单片机实现,不仅功能易于实现,而且精确度高,稳定性好,抗干扰能力强。并且由于其成本低、体积小、技术成熟和功耗小等优点,且技术比较成熟。性价比也相当高。更重要的是本人经过几年的学习,对单片机已有深刻的理解,并且可以灵活运用。 方案说明 按照系统设计的功能的要求,初步确定设计系统由主控模块、显示模块、错误报警模块、键扫描接口电路共四个模块组成,电路系统构成框图如图1.1所示。主控芯片使用51系列AT89C52单片机,采用高性能的静态80C51设计,由先进工艺制造,并带有非易失性Flash程序存储器。它是一种高性能、低功耗的8位COMS微处理芯片,市场应用最多。 键盘电路采用4*4矩阵键盘电路。 显示模块采用2枚四位一体共阴极数码管和74ls273锁存芯片构成等器件构成。 系统硬件设计 1.单片机最小系统 单片机最小系统就是支持主芯片正常工作的最小电路部分,包括主控芯片、复位电路和晶振电路。 主控芯片选取STC89C52RC芯片,因其具有良好的性能及稳定性,价格便宜应用方便。 晶振选取11.0592MHz,晶振旁电容选取30pF。 采用按键复位电路,电阻分别选取100Ω和10K,电容选取10μF。 .2键盘接口电路 计算器所需按键有: 数字键:’1’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’,’0’ 功能键:’+’, ’-‘ , ’*’, ’/ ’ , ’ = ’, ’ C( 清零)’ 共计16个按键,采用4*4矩阵键盘,键盘的行和列之间都有公共端相连,四行和四列的8个公共端分别接P3.0~P3.7,这样扫描P1口就可以完成对矩阵键盘的扫描,通过对16个按键进行编码,从而得到键盘的口地址,对比P3口德扫描结果和各按键的地址,我们就可以得到是哪个键按下,从而完成键盘的功能。 .3数码管显示电路 采用4位数码管对计算数据和结果的显示,这里选取共阳数码管,利用NPN三极管对数码管进行驱动,为了节省I/O资源,采取动态显示的方法来显示计算数据及结果。 利用74273锁存器来实现数码管的动态显示,P0口输出显示值,P2.4为段选口,控制273锁存器的时钟引脚,从而得到对数码管输入数据的控制。 P2.0~P2.3用来作为位选端,控制哪几位数码管进行显示。 系统软件设计 要进行数据的计算就必须先进行数据的输入,也就必须确定按键输入的数值是什么,这就需要对键盘进行扫描,从而确定究竟是哪个键按下。 以下为键盘扫描子程序的程序清单 void dujian() { uchar i=0,temp; P3=0xf0; if(P3!=0xf0) { de

文档评论(0)

***** + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档