基于51单片机的简易电子计算器——有温度显示和万年历等额外功能

news/2024/11/15 2:13:31/

基于51单片机的简易电子计算器——有温度显示和万年历等额外功能

设计实际所实现的功能

模式一可显示日期、时钟、温度,模式二可进行计算器的计算,且显示日期温度模式和计算器模式可随意切换,模式三可以滚动显示乘法口诀表。模式一与模式二可以自由切换,模式三滚动完之后自动回到模式一。

显示日期温度模式

显示日期与时钟

能够显示预设的年、月、日、时、分、秒及星期几的初始值,从初始值开始计时并每秒钟刷新时间;当从其他模式回到该模式时,时钟显示为累计结果而不会清零。

显示实时温度

能够将温度传感器感受到的温度实时显示,温度最小变化值为0.1℃。用手放在温度传感器上可以看到温度变化。

计算器模式

矩阵键盘输入模块

利用4*4键盘作为数据和命令的输入装置,可以输入整数和运算符号,并且有清零功能;设置按键消抖,使输入更准确。

计算功能

计算器可实现基本数据运算,包括:加、减、乘、除运算,但不能连续运算如连加。由于按键数量限制,没有添加更多函数功能。

乘法口诀表模式

能够以等式形式滚动显示1-9乘法口诀表,滚动显示完所有乘法口诀表内容后回到日期时钟模式。

系统原理框图及模块的作用

系统原理框图

在这里插入图片描述

各模块及作用

主控芯片IAP15F2K61S2

在这里插入图片描述

此芯片是宏晶公司最新STC15系列IAP15F2K61S2芯片,可系统编程或应用编程:

  1. 增强型8051CPU,1T,单时钟/机器周期,速度比普通8051快8~12倍;
  2. 61K字节片内Flash程序存储器,擦写次数10万次以上;
  3. 拥有片内大容量2048字节的SRAM;
  4. 共有8个通道的10位高速ADC,速度可达30万次/秒,3路PWM可用作D/A转换;
  5. 共有3通道捕获/比较单元(CCP/PWM/PCA);
  6. 内部高可靠复位,8级可选复位门槛电压,可省去外部复位电路;
  7. 内部高精度R/C时钟,时钟从5MHz~35MHz可选;
  8. 两组高速异步串行通信端口可同时使用,并且可在5组管脚之间进行转换;
  9. 一组高速异步串行通信端口SPI;
  10. 各种接口扩展齐全。

4*4矩阵键盘模块

在这里插入图片描述

矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4*4个。通过矩阵键盘检测被按下的按键来向系统输入信息。

DS1302时钟控制模块

在这里插入图片描述

DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与单片机进行通信。其工作时功耗很低,保持数据和时钟信息时,功耗小于1mW。

在这里插入图片描述

位7:为1,表示允许把数据写入DS1302;
位6:为1,表示存取RAM数据;为0表示存取日历时钟顺序;
位5~位1:指示操作单元地址;
位0:为1,表示进行读操作;为0表示进行写操作。
控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302。在8位控制字指令输入后的下一个SCLK时钟下降沿,读出DS1302中的数据。

数字温度传感器DS18B20模块

在这里插入图片描述
在这里插入图片描述

  1. 独特的单线接口仅需-一个端口引脚进行通讯
  2. 简单的多点分布应用
  3. 无需外部器件
  4. 可通过数据线供电
  5. 零待机功耗
  6. 测温范围-55到 +125C°,以0.5C°递增。华氏器件 -67到+257°F,以0.9°F递增
  7. 温度以9位数字量读出
  8. 温度数字量转换时间200ms(典型值)
  9. 用户可定义的非易失性温度报警设置
  10. 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件
  11. 应用包括温度控制、工业系统、消费品、温度计或任何热感测系统

LCD1602液晶显示模块

在这里插入图片描述

在这里插入图片描述
LCD1602是一种工业字符型液晶,能够同时显示16×2即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。LCD1602液晶显示模块有8为数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。LCD1602分辨率是每字5*8点阵,可以将显示ASCII码,使用方便。LCD1602的基本操作分为四种:
a. 读状态:输入RS=0,RW=1,E=高脉冲。输出:D0—D7为状态字。
b. 读数据:输入RS=1,RW=1,E=高脉冲。输出:D0—D7为数据。
c. 写命令:输入RS=0,RW=0,E=高脉冲。输出:无。
d. 写数据:输入RS=1,RW=0,E=高脉冲。输出:无。

程序流程图设计及程序模块功能描述

程序流程图设计

在这里插入图片描述

程序模块功能描述

主程序

主程序中包含初始化程序、按键扫描及计算器程序、获取日期时间及温度并将结果送至液晶显示屏显示的程序、乘法口诀表滚动显示程序。

DS1302时钟程序

时钟程序包含从DS1302读出一个字节数据,向DS1302写一个字节数据,读DS1302某地址的数据,向DS1302某个地址写入数据的程序。

LCD1602液晶显示程序

液晶显示程序包含对LCD1602判断忙或者空闲,写指令函数,写数据函数,初始化,向LCD1602发送数据,十六进制转ASCII的程序。

DS18B20温度程序

温度子程序包含DS18B20初始化,DS18B20读字节,DS18B20写字节,温度获取的程序。

系统操作说明或使用说明

按键:

在这里插入图片描述

在这里插入图片描述

RESET键用作切换日期模式和计算器模式;
开机启动后,LCD1602液晶显示屏显示日期时间以及温度,按下RESET键,切换到计算器模式,进行简单的加减乘除计算,再按下RESET可退出计算器模式,重新显示日期。
当显示日期时间以及温度时,按下S19按键可以滚动显示乘法口诀表,显示结束后,重新显示日期时间及温度。

具体的代码

在这里插入图片描述
需要的可以去百度网盘下载
链接:https://pan.baidu.com/s/1M-dfAGKG8uyDjQzwH0OL-Q
提取码:s2tn

成品图

在这里插入图片描述


http://www.ppmy.cn/news/872814.html

相关文章

基于stm32简易计算机电路图,基于STM32的简易电子计算器设计与实现(DOC) - 图文

嵌入式系统设计实验综合设计报告 5 系统硬件设计 5.1 系统整体设计 本数字简易电子计算器设计计时采用开发板自带RTC模块,使用4个独立按键实现对时间的调整,1个按键进行复位操作,蜂鸣器对于整点报时及闹铃进行响应。 系统总体结构电路原理图见附录2。 5.2 各单元电路设计 该…

用计算机按数字铃声,在使用计算器时,每按一下数字键,显示右端出现的数字,同时把前面的数字向()移动一位。...

满意答案 Kh_36 2013.10.23 采纳率:44% 等级:12 已帮助:2746人 呵呵呵 这个要向左边移动一位 电子计算器体积小、质量轻、便于携带、运算迅速准确、操作简便,是一种很受欢迎的计算工具。常见的电子计算器有能进行四则运算的算术…

Android计算器(Android studio)

(资源下载链接在文末) 1、首页,选择或者取消的闹钟,如果没有可自行添加,多余的删除 2、删除 3、添加 **********************************************************************************************************…

单片机设计_万年历与计算器(AT89C51)

想要更多项目私wo!!! 一、简介 此系统主要由AT89C51、DS18B20温度模块、LCD1602液晶显示屏、DS1302时钟模块和矩阵按键组成。 二、运行效果图 三、部分代码 #include <reg52.h> #include <intrins.h> //包含_nop_()函数定义的头文件 #define uchar unsigned c…

喝酒用计算机定定闹钟图片,酒但真的不能再喝了 这是我昨晚定的闹钟表情包...

酒但真的不能再喝了 这是我昨晚定的闹钟这个图片真的太好笑了&#xff0c;很多的小伙伴都想要下载这个表情包吧。下面小编就为大家带来了酒但真的不能再喝了 这是我昨晚定的闹钟表情包。 酒但真的不能再喝了 这是我昨晚定的闹钟介绍 谁家的牧童奏起了落日的感伤&#xff1f;谁又…

微软推出Fluent Design外观的Windows 10计算器、闹钟和时钟更新

就在昨天&#xff0c;微软发布了Windows 10应用商店的Fast Ring版本更新&#xff0c;为Windows 10应用商店带来了Fluent Design的Acrylic外观。不过&#xff0c;该公司并没有停止&#xff0c;因为新的报告显示&#xff0c;Windows 10计算器和闹钟的非内部版本也最近也更新了&am…

win10计算器_30年的老树又开新花!新一代Win10记事本详细体验

[PConline应用]“记事本”的历史可以追溯到1985年&#xff0c;当时刚刚推出的Windows 1.0自带了一个文本编辑器&#xff0c;这就是记事本的前身。然而随后30多年间&#xff0c;无论Windows组件如何进化&#xff0c;记事本始终没有太多长进&#xff0c;30年前什么样&#xff0c;…

matlab小苹果,我要用计算器弹曲子,求亲们发点计算器简谱

好吧! 我就是闲疯啦,身边没有什么别的娱乐工具。 就一个计算器,我要用它弹曲子。 目前用手机搜了几首,希望有人再给我补充几首。 我贴上几首我自己搜的。 两只老虎 1231 1231 345 345 565431 565431 351 351 一闪一闪亮晶晶(ABC歌) 1155665 4433221 5544332 5544332 115566…