历史上的今天
今天是:2024年09月17日(星期二)
2021年09月17日 | 24-基于51单片机的4乘4计算器设计
2021-09-17 来源:eefocus
具体实现功能
系统由STC89C52单片机+4乘4按键模块+LCD1602液晶显示屏+电源构成。
具体功能:
利用输入采用4×4矩阵键盘,可以进行加、减、乘、除等几种数字运算,并在LCD1602上显示操作过程及结果。
设计背景
计算器的市场需求较大,应用范围广泛,任何一个办公地点不可缺少的都需要计算器,常见的计算器有:算术型计算器,可进行加、减、乘、除等简单的四则运算。科学型计算器,可进行乘方、开方、指数、对数等方面的运算。程序计算器,可以编程序,把较复杂的运算步骤贮存起来,进行多次重复的运算。简易计算器应用更为广泛,将其设计的更加具有市场竞争力是完全有必要的。我国计算器已经有了很成熟的技术,这里推广的是新观念,通过实际的成品实践,最好由低到高推出系列产品,即所谓上市一代、储备一代、研制一代,不管什么产品都需要不断的保持更新。
单片机是单片微型机的简称,故又称为微控制器MCU(Micro Control Unit)。通常由单块集成电路芯片组成,内部包含有计算机的基本功能部件:中央处理器CPU,存储器和I/O接口电路等。因此,单片机只要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机广泛用于智能产品,智能仪表,测控技术,智能接口等,具有操作简单,实用方便,价格便宜等优点。
本文设计的简易计算器利用矩阵键盘进行按键的输入,通过对矩阵键盘的扫描,获取用户的输入,并实时的显示在1602液晶上,每次获取到输入时,根据软件设计的相应方法对输入进行处理、运算,输入结束后,将最终的运算结果输出的液晶上。
硬件设计
如图是本系统的硬件设计方案,具体地,硬件电路由以下模块构成:
(1)单片机最小系统。用于驱动和控制其他模块,以实现整体功能,其以STC89C51单片机为核心芯片,并辅以复位电路和晶振电路;
(2)按键模块。由4*4矩阵按键构成,实现数值及运算符的输入;
(3)显示模块。通过LCD1602液晶显示屏显示运算过程及运算结果;
(4)电源模块。用于整个系统的供电。

软件设计
软件编程平台选择最常用的keil软件。由于该程序并未涉及到底层的驱动问题,因此选择方便快捷的C语言编程。在编程中,将该程序分为四个模块:延时模块、1602显示模块、用于处理计算表达式的对战模块及主函数模块。采用模块化设计,方便调试与理解。具体程序见附录三。在这里重点介绍软件核心的表达式处理程序算法。
本文软件设计需要实现:
(1)按键键盘的扫描,实现输入按键值的判断;
(2)各种运算的处理与实现;
(3)运算过程及结果的显示;
(4)清零功能的实现。
具体的程序设计思路如图所示。

原理图
本系统原理图设计采用Altium Designer19,具体如图。

程序
本设计利用KEIL5软件实现程序设计,具体如图。

仿真实现
本设计利用protues8.7软件实现仿真设计,具体如图。
史海拾趣
|
我用的是u-boot1.3.2,开发板是s3c2440,所以用的是cpu/arm920t/start.s,如果谁看过这个文件,请帮忙回答下以下几个问题: 1. 127行有如下几句话,请问一下这个0x0是RAM地址还是FLASH地址? ldr r0, =_s ...… 查看全部问答> |
|
最近想做一个PCB板,要用到8*8的点阵,但是protel的库中没有点阵,要自己制一个,但是制成之后与实际的芯片如何一致,如长度,引脚之间的距离等。制成PCB之后如何能实现与实际的点阵大小,长度引脚等特点一致。做了好长时间也没做出来,希望专业人 ...… 查看全部问答> |
|
winavr+avrstudio环境,用c语言,编译时要求makefile,该怎样操作? winavr+avrstudio环境,用c语言,编译时要求makefile。 makefile文件是否只能在winavr中产生,在avrstudio中能否生成? 能否通过设置自动生成? 望高手指点!… 查看全部问答> |
|
各位大虾,请教个关于jtagWait()防止JTAG失效的问题 在ZLG的LM3S1138开发板的例程中发现,在没有移植UCOS-II的例程中main(void)一开始都加有jtagWait()防止JTAG失效,而凡是移植了UCOS-II的例程中,在main(void)的开始都没有加jtagWait()防止JTAG失效.是为什么呢?… 查看全部问答> |
|
大家好,我是新人。最近我想用PIC16F877读MAX6675的转换数值。MAX6675会一次将转换好的16位数据通过SPI输出给单片机。我想请问这样是不是就不能用单片机自带的SPI引脚了,因为缓冲器只能接收8位二进制数。是不是必须用其他的引脚来模拟SPI的时序呢 ...… 查看全部问答> |




