1、设计内容
由STC89C52单片机+4乘4按键模块+LCD1602液晶显示屏+电源构成
具体功能:利用输入采用4×4矩阵键盘,可以进行加、减、乘、除等几种数字运算,并在LCD1602上显示操作过程及结果。
2、总体设计方案
为了实现基于51单片机的排队叫号系统的设计,本文将实现以下设计需求:
(1)利用LCD1602及矩阵式键盘设计电路,使电路能够完成简易计算器的“+-*/”的功能;
(2)编写程序,完成简易计算器“+-*/”的功能,参与运算的数字位数不多于10位;
(3)按键布局如下:
1 |
2 |
3 |
+ |
4 |
5 |
6 |
- |
7 |
8 |
9 |
* |
ON/C |
0 |
= |
/ |
(4)在此基础上实现清屏及报错功能。操作简单、功能完善、精确度高。
基于以上列出的几点,本设计利用STC89C51单片机控制LCD1602液晶显示屏模块、按键模块、电源模块等外部电路实现了软硬件的设计,具体的设计框图如图2.1所示。
图2.1 总体设计框图
3、硬件设计思路
如图3.1是本系统的硬件设计方案,具体地,硬件电路由以下模块构成:
(1)单片机最小系统。用于驱动和控制其他模块,以实现整体功能,其以STC89C51单片机为核心芯片,并辅以复位电路和晶振电路;
(2)按键模块。由4*4矩阵按键构成,实现数值及运算符的输入;
(3)显示模块。通过LCD1602液晶显示屏显示运算过程及运算结果;
(4)电源模块。用于整个系统的供电。
图3.1 硬件设计框图
4、软件设计思路
软件编程平台选择最常用的keil软件。由于该程序并未涉及到底层的驱动问题,因此选择方便快捷的C语言编程。在编程中,将该程序分为四个模块:延时模块、1602显示模块、用于处理计算表达式的对战模块及主函数模块。采用模块化设计,方便调试与理解。
本文软件设计需要实现:
(1)按键键盘的扫描,实现输入按键值的判断;
(2)各种运算的处理与实现;
(3)运算过程及结果的显示;
(4)清零功能的实现。
具体的程序设计思路如图4.1所示。
全部资料包括程序(注释)、AD原理图、protues仿真、参考论文、程序讲解、仿真讲解、仿真视频、原理图讲解、资料使用介绍等,全网最全!!(https://www.cirmall.com/circuit/18416)
更多单片机设计与资料敬请关注微信公众号“电子工程师成长日记”!!