基于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

成品图

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

  1. 【006】基于51单片机的简易电子计算器Proteus仿真设计

    一.压缩包资料内容(私信获取) (1).基于51单片机的简易电子计算器proteus仿真设计一份: (2).基于51单片机的简易电子计算器proteus仿真设计keli源代码一份: (3).基于51单 ...

  2. 【031】基于51单片机的超声波倒车雷达系统(带温度显示补偿)Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的超声波倒车雷达系统(带温度显示补偿)系统proteus仿真设计一份: (2).基于51单片机的超声波倒车雷达系统(带温度显示补偿)系统proteus仿真设计 ...

  3. 基于51单片机的简易电子数字计算器Proteus仿真

    资料编号:089 采用51单片机,使用矩阵键盘,可以计算加减乘除,进行简易计算: 全套资料齐全:具体功能请看下面演示视频 89-基于51单片机的简易电子数字计算器Proteus仿真 单片机最小系统介绍 ...

  4. 基于51单片机的简易数字计算器Proteus仿真(源码+仿真+全套资料)

     资料编号:115 全套资料齐全,功能说明: 该计算器系统51 系列的单片机进行的数字计算器系统设计,可以完成计算器的键盘输入, 进行加. 减.乘.除的简单四则运算,并在 LCD屏幕上相应的显示结果. ...

  5. c语言计算器开题报告,基于单片机的简易电子计算器设计开题报告.doc

    第 PAGE 3页 授人以渔能力为本 毕业设计开题报告 学生姓名 学生学号 毕业设计题目 基于单片机的简易电子计算器设计 1.选题背景(含国内外相关研究综述及评价)与意义 随着社会的发展,科学的进步, ...

  6. c语言51单片机计算器,新基于51单片机的简易计算器

    <新基于51单片机的简易计算器>由会员分享,可在线阅读,更多相关<新基于51单片机的简易计算器(24页珍藏版)>请在人人文库网上搜索. 1.基于51单片机的简易计算器1.前言: ...

  7. 基于51单片机的简易游戏机

    基于51单片机的简易游戏机 目录 基于51单片机的简易游戏机 一.绪论 二.设计方案 三.系统原理框图及模块的作用 四.硬件设计及说明 五.实际的程序流程图,写清楚程序模块的功能 六.系统使用说明 七 ...

  8. 基于51单片机HX711的电子秤称重计价proteus仿真程序设计

    设计要求 1.利用压力传感器检测重量信号,经放大和A/D转换,送单片机进行处理,并在液晶屏上显示出被称重量值: 2.最小显示单位为1克: 3.量程超过报警值蜂鸣器报警 资料下载地址:基于51单片机HX ...

  9. 【C51】基于51单片机的简易频率计(附代码、无需外设、小白简单易上手)

    基于51单片机的简易频率计(无需外设.小白简单易上手)   代码较为简单,大概思路是通过定时器单位时间内外部中断上升沿触发的次数来计算实际频率. /基于51单片机的简易频率计#include<r ...

最新文章

  1. linux mint有没有服务器版,Linux Mint 20“Ulyana”正式版发布
  2. jdbc 3种获得mysql插入数据的自增字段值的方法_【JDBC】向数据表插入数据时,自动获取生成的主键...
  3. 2021考研时间公布 2020年12月26日至27日进行初试
  4. Python3入门(十一)——IO编程
  5. python迭代器与生成器答案_史上最全 Python 迭代器与生成器
  6. python开源项目贡献_如何通过为开源项目做贡献来发展自己的职业
  7. shell简单的交互式脚本
  8. Android:登录保存回显用户信息或配置文件(sharedpreferences)
  9. 计划任务中使用NT AUTHORITY\SYSTEM用户和普通管理员用户有什么差别
  10. Flume OG 与 Flume NG 的对比
  11. OpenSSL源码下载及编译
  12. 数据准确性和模型准确性
  13. java考研方向,值得推荐!
  14. comsol学习中心:定义与材料选择
  15. 让前端的子弹飞-TypeScript
  16. 关于我们-找学术会议,上MeetConf!科研人都在看的学术会议网站
  17. Unable to install “xxxx”
  18. 大数据分析在病毒疫苗研究中的应用
  19. tio - IM集群方案设计
  20. postgis导入shp文件失败Shapefile import failed提示dbf file (dbf) can not be opened

热门文章

  1. iphone imei查询方法
  2. 10.14 brid
  3. org.hibernate.HibernateException: could not instantiate RegionFactory [org.hibernate.cache.impl.brid
  4. 从crc32到linux内核实现
  5. 发邮件礼仪汇总 让优秀成为职场达人习惯
  6. 如何用数学软件MATLAB表白:让你在5月20日成功脱单
  7. Nginx 下配置SSL证书的方法
  8. 哈夫曼编码和二进制编码_案例
  9. 蓝叠安卓模拟器服务器未响应,教大家BlueStacks蓝叠模拟器常见问题
  10. Oracle 数据库简单日常操作