基于51单片机的智能计算器
其实,说智能也不算智能,就是在计算器上加上了日历、时钟和温度显示而已。具体用到的也是51很基础的模块,一个键盘,一个1602,温度显示那块用到了DS18B20,硬件调试的部分也很少,主要是代码的书写。
功能简介:
1、打开电源时,显示欢迎字样
2、计算器功能
3、日历及时钟功能
4、温度实时测量
然后用代码依次实现各个功能
刚开始只用矩阵键盘来控制计算器的时候是很简单的,定义一个数组,确定每个键盘所对应的符号或数字,然后用列检测法确定按键是否按下,并将其显示在1602上。我设置的键盘包括数字键(0-9)、符号键(+、-、*、/),清除键和等号键。
附上矩阵键盘的电路图:
其中4*4矩阵键盘分别表示
1, 2, 3, +,
4, 5, 6, -,
7, 8, 9, *,
0,=,off , /,
最开始只能做整数运算,后来我又定义了浮点型的数据,并且扩宽了加减运算的范围,整个计算器就比较完整了。
实现计算器的功能后,我开始加上日历及时钟的功能。先给年月日时分秒初始化一个值,并设置最大值,将前两行矩阵键盘作为调节日历及时钟的按键,s1,s2,s3分别用来调节时分秒,s5,s6,s7分别用来调节年月日,按下键后进行相应的加一操作,并使用定时器进行计时,若加到我们设定的最大值时,则置为0,并且令前一位加一。
紧接着是加上温度显示,我采用的DS18B20模块,工作原理图如下:
温度分辨率如下:
利用DS18B20对外界温度进行检测,并将温度以一定的格式显示在1602上。
最后也是最关键的是设置功能模式的切换,切换键大致如下:
K1=0时,表示选择时间显示功能
K2=0时,表示选择温度显示功能
K3=0时,表示选择计算器功能
按下相应的切换键即表示选择相应的功能。
基于51单片机的智能计算器相关推荐
- 基于51单片机的智能计算器Protues仿真设计
目录 一.设计背景 二.实现功能 三.硬件设计 3.1 总体硬件设计 3.2 键盘电路的设计 3.3 显示电路的设计 四.仿真演示 五.源程序 一.设计背景 随着社会的发展,科学的进步,人们的生活水 ...
- 利用c51进行数模转换并在液晶屏上显示_基于C51单片机的智能计算器、矩阵键盘、lcd1602...
目录 1绪论.............................................................................................. ...
- 基于51单片机简易智能家居
基于51单片机的智能家居的设计 前言 一.项目简介 二.开发环境/工具: 1.Keil 5/Keil 4 2.STC-ISP 3.蓝牙串口助手 4.手机app 三.硬件设计: 1.单片机与蓝牙模块连接 ...
- 基于51单片机的自动浇花系统设计/基于51单片机的智能抽奖系统控制设计/基于51单片机的数字时钟与日历显示控制设计 毕业设计
1147基于51单片机的自动浇花系统设计 设计思路:通湿度传感器实时监测湿度,通过LCD显示出实时的湿度采集值,可以通过按键设定目标界限,当达到这个界限值时,浇花系统的电机装置运行. 电路包含:LCD ...
- 基于51单片机的智能火灾报警系统
具体实现功能 系统由51单片机+MQ-2烟雾传感+ADC0832模数转换芯片+DS18B20温度传感器+数码管显示+按键模块+声光报警模块构成. 具体功能: 1.实时监测及显示温度值和烟雾浓度: 2. ...
- 【资料分享】基于51单片机的智能指纹考勤系统设计-原理图-PCB-程序-报告、基于51单片机和MAX1898的智能手机充电器设计
1661[毕设课设]基于51单片机的智能指纹考勤系统设计-原理图-PCB-程序-报告 摘 要 随着科学技术的不断发展带动着电子行业的地位越来越重,现在电子产品几乎在社会的各个领域都可以见到.这些技术的 ...
- 基于51单片机的智能晾衣架系统设计
1.功能介绍 设计基于51单片机的智能晾衣架.主要功能如下: (1)控制晾衣架的升降. (2)具有限位开关功能. (3)具有无线遥控功能. (4)能够指示运行状态. (5)具有智能模式,可以根据环境光 ...
- 基于51单片机的智能家居安防系统(程序+仿真+PCB)
@TOC 一.基于51单片机的智能家居安防系统 1.主要功能 通过人体红外检测模块.光敏传感器.蜂鸣器.继电器模块模拟智能家居安防功能. 2.实验结果 3.实验仿真 4.程序源码 /********* ...
- 基于51单片机的智能浇花系统(可做毕设)
基于51单片机的智能浇花系统(可做毕设) 一.系统介绍 二.仿真展示 三.实物展示 四.仿真过程 五.代码 1.ADC0832 2.LCD1602 3.按键 4.水泵 5.温湿度 6.定时器 7.ma ...
最新文章
- 腾讯博士:年薪60万辞职去教书,你想要哪种生活?
- linux qt检测u盘热插拔,【QT】动态监测U盘插拔
- Question for recommendation system, which is a baseline
- C++模板特化的一个BUG?
- android 自定义view画表格,Android自定义View实现课程表表格
- pat 乙级 1029 旧键盘(C++)
- Flask 路由映射对于双斜线的处理 //a//b
- LeetCode 101 对称二叉树的几种思路(Python实现)
- 报表引擎API开发入门—带参程序数据集
- 构图之法——9条构图小贴士
- 触动精灵怎么设置虚拟服务器,如何调试脚本及解决问题的方法
- python中pop类型_Python基础之基本数据类型
- 郭继孚:预约在城市交通中的应用——北京市回龙观地区实践
- Excel批量根据银行卡号查询银行卡的详细信息
- 蓝桥杯 方格计数 Java
- 电脑锁屏 快捷方式设置
- 记一次华为交换机冲突问题
- 专注儿童编程,核桃编程招人啦~
- 学习ZYNQ之FPGA2(开发板资源初探)
- mmap(内存映射)、sendfile() 与零拷贝技术
热门文章
- 微软的重点服务器负载均衡,微软 NLB 负载均衡技术对网络的影响
- VUE axios POST 发送跨域 cros 问题
- 学c语言推荐哪种笔记本电脑,好用的笔记本电脑有哪些 3款女生钟情的笔记本推荐...
- HS6621低功耗调试(HS6621CG)
- oracle创建用户并授权
- 服务器03系统在win10的电脑花屏,win10系统屏幕开机花屏的原因和解决方法
- 新能源磷酸铁锂除钙镁专用树脂CH-93详情参数 及测试流程
- CUDA AND NVIDIA-DRIVER INSTALL
- ubuntu16.04安装sougou输入法
- Makefile初级语法1