1。设计要求
要求计算器能实现加减乘除四种运算,具体如下:
1.加法:四位整数加法,计算结果若超过四位则显示计算错误
2.减法:四位整数减法,计算结果若小于零则显示计算错误
3.乘法:多位整数乘法,计算结果若超过四位则显示计算错误
4.除法:整数除法
5.有清除功能
设计要求:分别对键盘输入检测模块;LCD显示模块;算术运算模块;错误处理及提示模块进行设计,keil与protues仿真分析其设计结果。
2。设计方案与论证
2。1总体设计思路:
本计算器是以MCS-51系列8051单片机为核心构成的简易计算器系统。该系统通过单片机控制,实现对4*4键盘扫描进行实时的按键检测,并把检测数据存储下来。整个计算器系统的工作过程为:首先存储单元初始化,显示初始值和键盘扫描,判断按键位置,查表得出按键值,单片机则对数据进行储存与相应处理转换,之后送入数码管动态显示。整个系统可分为三个主要功能模块:功能模块一,实时键盘扫描;功能模块二,数据转换为了数码管显示;功能模块三,数码管动态显示。
2.2总体方案:
根据功能和指示要求,本系统选用以MCS—51单片机为主控机.通过扩展必要的外围接口电路,实现对计算器的设计。
具体设计如下:
1、由于要设计的是简单的计算器,可以进行四则运算,为了得到教好的显示效果,采用LCD显示数据和结果。
2、另外键盘包括数字键(0—9)、符号键(+*/)、清除键和等号键,故只需要16
按键即可,设计中采用集成的计算机键盘.
3、执行程序:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果.
4、错误提示:当单片机执行程序中有错误时,会在LCD16进制转换器计算器上显示相应的提示,如:当输入的数值或计算器得到的结果大于计算器的显示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD上提示错误.
①由于要设计的是简单的计算器,可以进行四则运算,对数字的大小范围要求不高故我们采用可以进行四位数字的运算,选用8 LED 数码管显示数据和结果。
②另外键盘包括数字键(09)、符号键(+×÷)、清除键和等号键,故只需要16 个按键即可.系统模块图:
输入模
单片机
运算模块
显示模块
图2—1 系统模块图
根据需要我们可以采用自上而下的程序设计方法,此方法先从主程序开始设计,然后再编制各从属程序和子程序,层层细化逐步求精,最终完成一个复杂程序的设计.这种方法比较符合人们的日常思维,缺点是一级的程序错误会对整个程序产生影响.程序流程图如图2-2所示:
图2—2 程序流程图
3.设计原理及电路图
3。1硬件设计
本设计选用AT89C51单片机为主控单元; 显示部分:采用LCD静态显示;按键部分:采用4*4键盘;用MM74C922为4*4键盘扫描IC,读取输入的键值.
总体设计效果如下图:
(1)运算模块
MCS-51 单片机是在一块芯片中集成了CPURAMROM、定时器/计数器和多功能I/O等一台计算机所需要的基本功能部件.如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、数据存储器(RAM)、程序存储器(ROM/EPROM)、并行I/O 口、串行口、定时器/计数器、中断系统及特殊功能寄存器(SFR)。单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,通过使用单片机编写的程序可以实现高智能,高效率,以及高可靠性!因此我们采用单片机作为计算器的主要功能部件,可以进行很快地实现运算功能,如图2—1所示:
MCS-51系列单片机简介
8051是MCS-51系列单片机的典型产品,以这一代表性的机型进行系统的讲解。
   8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
数据存储器(RAM)
8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表.   
程序存储器(ROM):
8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。