基于51单片机的简易加减法计算器的设计

3.1实践任务

3.1.1 实践目的

分析简易加减法计算器的设计要求,设计简易加减法计算器的原理图,并完成简易加减法计算器线路的搭建与调试,培养电子电路图的分析、设计、搭建与调试能力,培养劳动意识与创新意识,提高的团队协作能力。

3.1.2 实践内容

设计简易加减法计算器的原理图,并进行功能分析;

‚运用单片机、运算放大器、电阻、电容、电感、二极管、导线、LCD1602等材料,并进行电子电路的搭建与焊接;

ƒ完成简易加减法计算器的电路的调试;

④对简易加减法计算器电路调试结果的分析与总结,并提出合理化的改进意见;

3.1.3 实现目标

自己定义键盘的功能,通过键盘输入数字,加减号,实现加减法的运算,并在LCD1602上显示。

3.2硬件设计

3.2.1 电路图

图 12简易加减法计算器原理图

3.2.2 控制原理

该电路以AT89C51单片机为核心 ,按键矩阵作为输入设备,用户按下按键后,相应的电信号通过引脚传输给单片机。单片机内部程序对按键输入信号进行识别和处理,根据预设的运算规则(如四则运算规则)进行计算。计算结果通过单片机引脚传输到LM016L液晶显示器,驱动其相应引脚电平变化,从而在液晶屏上显示出运算表达式和结果。晶振(X1 )与电容(C1、C2 )构成时钟电路,为单片机提供稳定时钟信号,保证其正常运行;复位电路(R1、C3 )用于使单片机初始化或在故障时恢复初始状态

3.2.3元器件清单

AT89C51单片机:1个

LM016L液晶显示器:1个

CRYSTAL晶振:1个

22pF无极性电容:2个

10uF电解电容:1个

10kΩ电阻(R1 ):1个

22Ω电阻(R2 ):1个

RESPACK - 8排阻(RP2 ):1个

数字键0 - 9、运算符号键(+、-、×、÷)、功能键(ON/C )、等号键按键:共16个

 3.3软件设计

3.3.1 流程图

图 13简易加减法计算器流程图

3.3.2软件代码

图 14简易加减法计算器代码

3.3.3相关文字说明

该C语言代码基于51单片机实现简易计算器功能,通过4×4矩阵键盘输入数据与运算符号,在1602液晶显示屏上显示输入内容与计算结果。代码开头包含必要头文件,定义无符号字符类型别名u8u16,声明1602液晶控制引脚LCDENRSRWBF ,以及按键对应字符数组keyval、存储输入数据的数组data1、记录计算结果的字符数组m、计算结果变量sum等全局变量。delay函数通过嵌套循环实现毫秒级延时;keypad4_4函数通过逐列扫描P1口,配合消抖操作,判断并返回按下按键的编号;DectectBusyBit函数通过设置引脚状态读取BF位判断1602液晶是否处于忙碌状态;WrComLCDWrDatLCD函数分别用于向液晶写入命令和数据,写入前均先检测液晶忙状态;LCD_Init函数通过依次写入特定命令,完成1602液晶的初始化,包括设置显示模式、清屏、设定光标移动方式、开启显示等操作。compute函数对输入的data1数组进行解析,将数字与操作符分别存储,优先处理乘除运算,再进行加减运算,最后根据结果类型转换为字符串并显示在液晶上。主函数中,先初始化液晶,设置初始显示,随后进入无限循环,持续扫描按键,根据按键值执行清屏(y=12)、计算显示结果(y=14)或输入数据(其他按键值)操作,实现计算器的交互与显示功能 。

3.4系统调试与结论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值