历史上的今天
返回首页

历史上的今天

今天是: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软件实现仿真设计,具体如图。

推荐阅读

史海拾趣

FRIWO公司的发展小趣事

为了更好地服务中国市场和亚太地区的客户,FRIWO在中国深圳设立了生产基地——飞煌德商科技(深圳)有限公司。该生产基地负责开发、生产、加工电源变换器、电源充电器等产品,并承担自产产品及同类商品的批发、佣金代理、进出口及相关配套业务。飞煌德商科技(深圳)有限公司的成立和发展,不仅增强了FRIWO在中国市场的竞争力,也为公司的全球化战略提供了有力支持。通过不断优化生产流程、提升产品质量和服务水平,飞煌德商科技(深圳)有限公司逐渐成为了FRIWO在全球供应链中的重要一环。

Axiohm公司的发展小趣事

随着国内市场的饱和,Axiohm公司开始寻求国际化发展。公司制定了详细的国际化战略,先后在亚洲、欧洲和北美设立了分支机构和研发中心。通过与当地企业的合作,Axiohm成功打入多个国际市场,并根据不同地区的需求进行产品定制。这一战略不仅拓宽了公司的销售渠道,还提升了品牌知名度。

AMI [American Megatrends Inc]公司的发展小趣事

Axiohm公司最初是一家小型电子元件制造商,面对激烈的市场竞争,公司创始人李先生意识到唯有技术创新才能脱颖而出。他带领团队投入大量研发资源,成功开发出一种具有高性价比的新型半导体材料。这一创新不仅降低了生产成本,还提高了产品的性能稳定性,迅速赢得了市场的青睐。随着销量的不断增长,Axiohm逐渐在电子行业中崭露头角。

Allegro公司的发展小趣事

面对电子行业日益激烈的竞争,Axiohm公司意识到单纯的制造和销售已经无法满足市场需求。于是,公司开始着手进行产业链整合,通过收购和合作的方式,将上下游企业纳入自己的业务体系。这一举措使得Axiohm能够更好地控制产品质量和交货期,同时也降低了运营成本。整合后的Axiohm在市场中更具竞争力,业绩稳步增长。

Engelking Elektronik GmbH公司的发展小趣事

Engelking Elektronik一直将品质管理作为公司的核心竞争力之一。公司建立了完善的质量管理体系,从原材料采购到产品制造、测试和包装等各个环节都进行严格的质量控制。此外,公司还定期邀请第三方机构进行质量审核和评估,确保产品符合国际标准和客户要求。通过持续改进和优化生产流程,Engelking Elektronik的产品质量得到了客户的高度认可和信赖。

汇科公司的发展小趣事

随着市场的不断发展和变化,汇科公司始终将技术创新作为发展的核心驱动力。2012年,汇科第一台球磨机节电柜研发成功,并成功申请国家专利,这标志着公司在节能环保技术领域取得了重要突破。随后,公司又成功研发了柱塞泵节电柜、新一代全智能球磨机节电柜等产品,这些产品不仅提升了公司的市场竞争力,也推动了整个电子行业的发展。

问答坊 | AI 解惑

2009年全国大学生电子设计大赛预测题

如果感觉有用,大家不妨下下来研究一下啊!这是网上流传的,不知道是不是真的,请大家看看在说啊!…

查看全部问答>

start.s文件的问题

我用的是u-boot1.3.2,开发板是s3c2440,所以用的是cpu/arm920t/start.s,如果谁看过这个文件,请帮忙回答下以下几个问题: 1. 127行有如下几句话,请问一下这个0x0是RAM地址还是FLASH地址?    ldr        r0, =_s ...…

查看全部问答>

protel 中如何绘制点阵

最近想做一个PCB板,要用到8*8的点阵,但是protel的库中没有点阵,要自己制一个,但是制成之后与实际的芯片如何一致,如长度,引脚之间的距离等。制成PCB之后如何能实现与实际的点阵大小,长度引脚等特点一致。做了好长时间也没做出来,希望专业人 ...…

查看全部问答>

关于蓝牙传输不稳定

  我用的是CSR的BC6的蓝牙芯片,平台是S3C2440+WIN CE的,上了CSR的驱动。BC6是用串口与主机通信,现在跑文件传输跑300K以下的来是没问题,跑300K以上的就老传到一半就没反应了,会不会是驱动问题,听给我们提供芯片的公司说微软的芯片只支持BC4 ...…

查看全部问答>

教你读懂手机电路图

不少同行反映,一部故障手机该换的元件都换了,但就是修不好机,大多数情况是对手机电路掌握不透彻,不会读和分析手机电路图,\"一吹二洗三代换\",三板斧下去,固然能解决一些问题,但深入下去就束手无策了。 很多人看到电路图就头痛,觉得毫无头 ...…

查看全部问答>

低功耗

低功耗是加进来了,可是需要10ms唤醒一次的,这样的低功耗有意义吗?能降低功耗吗? 总觉得10ms就唤醒太频繁了。…

查看全部问答>

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失效.是为什么呢?…

查看全部问答>

请问发帖怎么上传文件呢?

我有一些ZIGBEE书籍想上传,但是发帖地方没有上传文件的按钮,求救啊。…

查看全部问答>

PIC16F877的SPI口应用问题

大家好,我是新人。最近我想用PIC16F877读MAX6675的转换数值。MAX6675会一次将转换好的16位数据通过SPI输出给单片机。我想请问这样是不是就不能用单片机自带的SPI引脚了,因为缓冲器只能接收8位二进制数。是不是必须用其他的引脚来模拟SPI的时序呢 ...…

查看全部问答>