具体实现功能
系统由STC89C52单片机+5乘4按键模块+LCD1602液晶显示屏+电源构成。
具体功能:
利用输入采用5×4矩阵键盘,可以进行加、减、乘、除等十几种数字运算,并在LCD1602上显示操作过程及结果。
设计背景
当今社会,随着人们物质生活的不断提高,电子产品已经走进了家家户户,无论是生活或学习,还是娱乐和消遣几乎样样都离不开电子产品,大型复杂的计算能力是人脑所不能胜任的,而且人脑比较容易出错。计算器作为一种快速通用的计算工具方便了用户的使用。计算器可谓是我们最亲密的电子伙伴之一。本设计着重在于分析计算器设计开发过程中的环节和步骤,并从实践经验出发对计算器设计做了详细的分析和研究。
本设计是以单片机为核心的计算器模拟系统设计,输入采用5×4矩阵键盘,可以进行加、减、乘、除等数字运算,并在LCD1602上显示操作过程。
设计原理
利用矩阵键盘进行按键的输入,通过对矩阵键盘的扫描,获取用户的输入,并实时的显示在1602液晶上,每次获取到输入时,根据软件设计的相应方法对输入进行处理、运算,输入结束后(以“=“为标志),将最终的运算结果输出的液晶上。
软件设计
软件编程平台选择最常用的keil软件。由于该程序并未涉及到底层的驱动问题,因此选择方便快捷的C语言编程。在编程中,将该程序分为四个模块:延时模块、1602显示模块、用于处理计算表达式的对战模块及主函数模块。采用模块化设计,方便调试与理解。
原理图
本系统原理图设计采用Altium Designer19,具体如图。
程序
本设计利用KEIL5软件实现程序设计,具体如图。
仿真实现
本设计利用protues8.7软件实现仿真设计,具体如图。
关键字:51单片机 计算器 LCD1602
引用地址:
21-基于51单片机的5乘4计算器设计
推荐阅读最新更新时间:2024-10-30 11:38
LCD1602 C程序
LCD 基本显示程序 四条数据线输入:DB4—RB0,DB5—RB1,DB6—RB2,DB7—RB3 寄存器选择RS接RB4,为 L 指令寄存器,为 H 数据寄存器 读写使能控制线E,接RE2,每当E线向LCD模块发送一个正脉冲,LCD模块与 单片机 之间将进行一次数据交换; //**********定义与声明******************* #include p IC .h #define uchar unsigned char #define uint unsigned int #define E RE2 #define RS RB4 uchar i,num,byte,ys; uchar const table =
[单片机]
基于51单片机的无线识别装置系统设计
1 引言
射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据。射频识别工作无须人工干预,非接触,阅读速度快,无磨损,不受环境影响,寿命长,便于使用。目前,射频识别技术在国外发展非常迅速,射频识别产品种类繁多,已广泛用于工业自动化、商业自动化、交通运输控制管理等众多领域,如汽车、火车等交通监控;高速公路自动收费系统;停车场管理系统;物品管理;仓储管理;车辆防盗等。由于我国射频识别技术起步较晚,除用于中国铁路的车号自动识别系统外,仅限于射频公交卡的应用。
在此,给出一种实现简单射频识别系统的方式。阅读器和应答器均包含在单片机控制系统中,利用2ASK调制与解调电路以及匹配网络电路,使整
[网络通信]
51单片机 LCD1602调试工具
本章博客讲述的是关于LCD1602的调试,使用它是为了更加直观的表示出代码所要实现的功能 1.首先,需要添加两份驱动文件到新建的工程中来,再插入到新建的工程中来 将其复制到新建文件的同一目录下,在进行添加 2.写出以下代码进行编译查看效果 #include REGX52.H #include LCD1602.h void main() { LCD_Init(); LCD_ShowChar(1,1,'A'); LCD_ShowString(1,3, Hello ); LCD_ShowNum(1,9,123,3); //高位补零,如果最后一位是2则显示23 LCD_
[单片机]
51单片机外部中断实验
前面,我们讲了51单片机的输入和输出功能,今天讲点不一样的,外部中断测试。 首先,关于中断的作用,我们要讲一下,处理内部外部随机事件,应对紧急事件的发生。CPU在执行程序过程中,外部突发紧急事件请求,CPU停下手里工作,去处理紧急事件,处理完后,回到原先被中断的地方,继续工作。就好比在吃饭的过程中接到个电话,出去接听完电话后又坐回桌子上吃饭,这中间停止原本的事情去做去他事情就是中断。 51单片机的中断功能是比较简单的,只需要配置好相应的寄存器就完成了初始化。 本文外部中断使用按键P3.2测试,因为其端口具备外部中断第二功能。 51单片机中断结构配置前,需要看一下内部结构图,可以看到有IE、IP、TCON等寄存器控制中断功
[单片机]
51单片机数字钟温度计的编程实例
#include reg51.h char disp ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; char disp_dot ={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xc0}; sbit DQ = P1^3; //定义通信端口 //晶振12MHz void delay_18B20(unsigned int i) { while(i--); } //初始化函数 Init_DS18B20(void) { unsigned char x=0; DQ = 1; //DQ复位 delay_1
[单片机]
基于STC89C51单片机的电子琴设计
0 引言 随着计算机在社会各领域的渗透,单片机的应用正在不断地走向深入,同时带动着工业、农业、商业、家电以及玩具的日新月异更新,极大地提高了电子电路及系统设计质量和效率。本设计是以主控芯片STC89C5l为中心器件,辅以小键盘、LCD显示和功放电路及扬声器等来设计电子琴系统。同时详细论述了该系统的设计过程及关键技术。 1 系统硬件组成 电子琴的控制电路分为单片机STC89C51、工作指示LED、LCD显示器、按键输入、喇叭接口等几部分。其硬件电路结构框图如图1所示。 1.1 单片机STC89C51简介 STC单片机是一款增强型5l单片机,完全兼容MCS-51。STC89C51可以代替AT89C51,而且功
[单片机]
MCS-51单片机汇编语言:逻辑运算指令有哪些?
简单 逻辑操作指令 CLR A ; A← “ 0 ” CPL A ; A← A SWAP A ; A0~3 A4~7 左循环指令 (Rotate Accumulator Left) RL A 带进位左循环指令( Rotate Accumulator Left through Carry flag ) RLC A 右循环指令( Rotate Accumulator Right ) RR A 带进位右循环指令( Rotate A Right with C ) RR
[单片机]
MCS-51单片机定时器/计数器常见习题解答
1、根据定时器/计数器0方式1逻辑结构图,分析门控位GATE取不同值时,启动定时器的工作过程。 答:当GATE=0:软件启动定时器,即用指令使TCON中的TR0置1即可启动定时器0。 GATE=1:软件和硬件共同启动定时器,即用指令使TCON中的TR0置1时,只有外部中断INT0引脚输入高电平时才能启动定时器0。 2、当定时器/计数器的加1计数器计满溢出时, 溢出标志位TF1由硬件自动置1,简述对该标志位的两种处理方法。 答:一种是以中断方式工作,即TF1置1并申请中断,响应中断后,执行中断服务程序,并由硬件自动使TF1清0;另一种以查询方式工作,即通过查询该位是否为1来判断是否溢出,TF1置1后必须用软件使TF1清0。
[单片机]