计算器系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1.功能要求
2.方案论证
3.系统硬件电路的设计
3.1运算模块
3.2主控器AT89S52
3.3输入模块4*4矩阵键盘
3.4显示模块LCD1602
3.5错误警报提示语音电路
3.6切换模块
4.系统程序的设计
4.1运算主程序设计
4.2显示程序设计
4.3读键输入存储设计
5.调试及性能分析
5.1硬件调试
5.2软件调试
5.3性能分析
6.控制源程序清单
7.实物显示
8.总结
9.参考文献
摘要
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,但仅单片机方面的知识是不够的,还应根据具体硬件结构、软硬件结合,来加以完善。
计算机在人们的日常生活中是比较常见的电子产品之一。可是它还在发展之中,以后必将出现功能更加强大的计算机,基于这样的理念,本次设计是用AT89S52单片机、LCD显示器、4*4矩阵键盘、蜂鸣器以及控制按键为元件来设计的计算器。利用此设计熟悉单片机微控制器及C语言编程,对其片资源及各个I/O端口的功能和基本用途的了解。掌握keil的应用程序开发环境,常用的LCD 显示器的使用方法和一般键盘的使用方法。
关键字:AT89S52 LCD 控制按键
正文
1.功能要求
计算器模拟系统设计要求模拟的计算器至少显示8位数字,开机运行时,最低位显示为“0”,其余位全部不显示;设计4*4键盘,分别表示0~9、+、—、*、/、=和清零键CL,输入的数字从设计的键盘输入;可以对计算结果小于256的两个无符号数进行加、减、乘、除运算,并且显示计算结果。2.总体方案设计以及论证
根据功能和指标要求,本系统选用AT89S52单片机为主控机,LCD1602为显示器。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计考虑如下:
①由于要设计的是简单的计算器,可以进行四则运算,对数字的大小范围
要求至少显示8位数字,开机运行时,最低位显示为“0”,其余位全部
不显示,但扩展程序可以实现任意位数的无符号数的算法,所以选用
LCD1602显示数据和结果,而不采用数码管来显示。
②设计4*4键盘,分别表示0~9、+、—、*、/、=和清零键CL,输入的数
字从设计的键盘输入;可以对计算结果小于256的两个无符号数进行加、减、乘、除运算,并且显示计算结果。当结果超出该范围时,发出错误
警报。按一下切换键,计算范围无限制,结果显示也无限制,再按一下
切换键,计算器回到限制状态。因此总的按键需要17个键。
按照系统功能设计的要求,确定系统由5个模块组成:主控制器、显示电路、4*4矩阵键盘、切换电路和语音模块。
计算机系统总体电路结构框图如下所示:
3.系统硬件电路的设计
硬件系统是指构成微机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必
须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。本设计选用以AT89S52单片机为主控单元。显示部分:采用LCD 静态显示。按键部分,采用4*4键盘。硬件电路原理图如下图所示:
3.1运算模块
MCS-51 单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以进行很快地实现运算功能,如图所示:
3.2主控制器AT89S52,
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工
作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
引脚结构如下:
3.3输入模块4*4矩阵键盘
计算机输入数字和其他功能按键时要用到很多按键,在这种情况下,编程会很简单,但是会占用大量的I/O口资源,因此在很多情况下都不采用这样的方式,而是采用矩阵键盘的方式。矩阵键盘采用四条I/O线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的数量就为4*4个。这样行列式键盘结构能有效的提高单片机系统中I/O 口的利用率。如图所示: