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