导航:首页 > 操作系统 > 单片机计算器原理

单片机计算器原理

发布时间:2024-12-19 00:05:35

1. 51单片机制作简易计算器

51单片机制作简易计算器采用LCD1602模块与4*4按键模块,实现数字与运算符的输入,并计算结果。

通过按键操作,输入数据和运算符号,按下按键后即可得出计算答案。

使用目标单片机为51系列,电路结构和物理外观如下所示:

代码编写如下,存在一个小问题:清除键功能暂时无法正常使用,清除后无法重新输入数据,原因不明。

在实现过程中,仍有改进空间。由于缺少二极管,4*4按键无法通过中断方式实现。

欢迎大家分享更优的实现方法。如有改进点,欢迎在评论区分享。感谢大家的关注与支持。

2. 单片机的简易计算器

单片机计算器
基本功能介绍:
简单的加减乘除的运算。
时间显示功能,而且能实现计算器模块和时间模块之间的任意切换。
按键音却换功能。
原理;
多功能单片机计算器是一个实现加减乘除的和时间功能的计算器,主要的硬件组成由,一个AT89s52单片机芯片,一个LED液晶(1602液晶),一个4*4键盘,和4个特殊功能按键。
一个时钟芯片(DS1302),一个蜂鸣器。
单个硬件模块个的介绍
AT89S52:
主要控制芯片,它是由8kflash,256BRAM,6个中断源,详情参考AT89S52的技术文档.
1602液晶
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”,而且可以实现一些复杂的字符操作:1:清显示,光标复位到地址00H位置,2:光标和显示模式设置 光标移动方向,高电平右移,低电平左移,屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 3:显示开关控制,控制整体显示的开与关,高电平表示开显示,低电平表示关显示,控制光标的开与关,高电平表示有光标,低电平表示无光标,控制光标是否闪烁,高电平闪烁,低电平不闪烁4:光标或显示移位,高电平时移动显示的文字,低电平时移动光标5:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符(高低电平在相应的指令上实现),详情可参考1602的技术文档。
1602采用标准的16脚接口: 第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15~16脚:空脚。
1602液晶和单片机的接法

4*4键盘,和4个特殊功能按键

K(切换键) No(复位键)
(时间设置键) C(清除键) +
1 2 3 —
4 5 6 *
7 8 9 %(除)
—/+ 0 。 =
前4个为特殊功能键,
后十六个采用键盘扫描接法,

扫描原理:
首先给p3口赋11111110(0xfe),然后再读取p3口的值,如果为11101110(0xee)说明是第一排第一个被按下,如果是11011110(0xde)说明是第一排第二个被按下,如果是10111110(0xbe)说明是第一排第三个被按下,如果是0111110(0x7e)说明是第一排第四个被按下,
判断二三四排的按键,都采用同样的方法,只要分别给P3口赋不同的值即可,在读取p3口的值,在判断。用这样的方法即可实现4*4键盘的扫描,只要有键按下,就可以知道是那个键按下,通过这种方法可大大节省单片机的io口的资源。详情可参考网上的键盘扫描原理
时钟芯片(DS1302)
DS1302 是DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31 字节静态RAM ,通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式DS1302 与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1 RES 复位2 I/O 数据线3 SCLK串行时钟时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式
实时时钟具有能计算2100 年之前的秒分时日日期星期月年的能力还有闰年调整的能力(详情可参考DS1302的技术文档
管脚描述
X1 X2 32.768KHz 晶振管脚
GND 地
RST 复位脚
I/O 数据输入/输出引脚
SCLK 串行时钟
Vcc1,Vcc2 电源供电管脚

计算器工作大概流程

阅读全文

与单片机计算器原理相关的资料

热点内容
全国有多少程序员 浏览:750
安卓手机如何快捷打开健康码 浏览:6
b站程序员公开代码 浏览:75
创建卷组使用命令 浏览:614
电脑如何从服务器上安装系统 浏览:531
remix解压曲 浏览:62
程序员做海鲜超市 浏览:895
有云服务器后现场还需要服务器吗 浏览:551
外汇分析pdf 浏览:899
javasqlserver查询 浏览:977
密信id服务器时什么 浏览:588
图书借阅app哪个好用 浏览:858
办进京证app叫什么 浏览:775
外国加密货币与中国数字货币 浏览:651
java数字转化成字符串 浏览:161
不用解压就可以更改内容的软件 浏览:827
android解析pdf下载 浏览:889
linux设置时间片 浏览:104
如何刷新发布服务器 浏览:819
app设计是什么专业 浏览:646