- 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基于单片机的简易科学计算器的设计
基于单片机的简易科学计算器的设计作者:李浩 邹艳辉 学院: 电子科学与工程学院 第一章 引言 从某种程度上来讲,人类的科学史就是科学计算的历史。从祖冲之把圆周率精确到小数点后七位到最近英国推出的运算速度达到每秒100万亿次的超级计算机,计算速度被不断地刷新。由于科学计算器早已普及,并具有体积小,价格便宜,性能优良的特点。因此我们设计的计算器只是基于单片机运算功能所进行的一次实验性的制作,从中学习一个一般性的人机交互系统的设计、制作和调试的流程。并从中认识和了解计算器的运算程序设计的一般方法。 设计目标:实现8位以内整数的四则混合运算。并可以显示8位整数和小数。运算速度达到一般的计算器的速度。第二章 方案选择计算器的三大组成部分为按键部分,运算控制部分和显示部分。按键部分包括数字键(0—9),符号键(“+、-、*、/”)和控制键(“=、CLR”)。运算控制部分是单片机。显示部分显示运算数和运算结果。方案一:键盘部分用一对一键盘,需16个按键,显示用液晶屏。方案二:键盘部分用4*4按键,显示用8位数码管,动态显示。方案确定和论证:方案一:键盘制作容易,扫描简单,但浪费单片机IO口资源;液晶显示效果好,但成本太高。方案二:键盘制作稍难,按键编码扫描程序复杂,但只需一个P1口;8位数码管成本低,动态显示节约IO口,但亮度不够,需加驱动。 整体上看方案二更节约成本,对制作和程序设计要求更高,因此选择方案二。 第三章 总体设计计算器硬件整体框图: 4*4键盘 图3_1计算核心部件是单片机。利用单片机的运算部件进行四则混合运算。本系统外部接口部件较少。因此硬件制作比较容易。要实现四则混合运算并显示8位以内整数和小数,由于单片机片内RAM有限,对浮点型数据和长整型的存储和显示不利,则说明程序设计十分重要,也相对困难。总体来说。本系统构成简单,设计思想明确,关键在于软件编程。 程序流程图如下:图3_2第四章 单元电路和软件模块的设计第一节 硬件电路设计 一 系统核心——STC89C58STC89C58是一个低功耗,高性能CMOS 8位单片机,片内含32k Bytes ISP(In-system programmable)的可反复擦写100000次的Flash只读程序存储器。器件采用STC公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的STC89C58可为许多嵌入式控制应用系统提供高性价比的解决方案。 STC89C58具有如下特点:40个引脚,32k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),2K扩展RAM,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,3个16位可编程定时计数器,1个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。见图3-1 图3-1此外, STC89C58设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。 主要功能特性: · 兼容MCS-51指令系统 · 32k可反复擦写(100000次)ISP Flash ROM · 32个双向I/O口 · 4.5-5.5V工作电压 · 3个16位可编程定时/计数器 · 时钟频率0-40MHz · 全双工UART串行中断口线 · 256x8bit内部RAM · 2个外部中断源 · 低功耗空闲和省电模式 · 中断唤醒省电模式 · 3级加密位 · 看门狗(WDT)电路 · 软件设置空闲和省电功能 · 灵活的ISP字节和分页编程 · 双数据寄存器指针二 显示电路模块 采用八个八位共阳极数码管进行动态显示,即显示时用P0口发送段码(低电平有效),P2口发送位码(高电平有效), 经过74ls373驱动后,数码管可以正常显示八位整数,由于加入了驱动,所以不加译码器,直接在程序里进行了编码,可以直接输出显示。如下图所示。三 键盘扫描电路模块采用4*4键盘,16个键盘成4*4矩阵排列,排成4行和4列,用4个I/O口接行,4个I/O口接列,扫描是逐次将行变为低电平,同时读列的值,若有键按下则必定有一列为低电平,通过行和列的组合就可以确定是哪个按键被按下。此方法电路连接和编程都比较麻烦,需要进行键盘编码,但是可以节省单片机的I/O口资源。第二节 软件模块设计一 键盘扫描程序键盘扫描程序包括三个子程序,读键值子程序,按键抬起子程序和键盘编码。一次读键值
文档评论(0)