数码之家

 找回密码
 立即注册
搜索
查看: 4610|回复: 27

[综合] 两块89C51单片机+12864+1620+1302+18B20+DH11制作温湿度计和断电走时电子万年历

[复制链接]
发表于 2021-2-21 18:30:47 | 显示全部楼层 |阅读模式
本帖最后由 zhao4515 于 2021-2-22 00:16 编辑

春节前疫情在家,先是用1602做了个带温度显示的电子表,因为没有18B20模块,遂去淘宝搜索采购,这一采购不要紧,弄了很多其他配件和12864液晶屏,所以就有了今天这个东西,在这里声明一下,本人不能独立进行从零到有的编程,所以万年历和温湿度计的程序是在51hei论坛上下载大神的源码,然后根据自己的电路连接进行修改,来完成的成品,图片上的标注我怕上传后不清晰,文字描述我也会说,欢迎坛友们交流探讨,提出增加功能或者修改意见,帖子的最后我会计算一下这个东西的总体成本。先说下功能,12864电子万年历可显示时间,日期,星期,农历和温度,有整点报时,可设置1组闹钟(断电后闹钟需重新设定,经查询需要增加24系列存储器才可保存闹钟,没那个技术能力,也没有芯片,闹钟在我这就是个摆设了),有闹钟使能按钮,可使用遥控器设置,由于手中没有器件,所以应有的蜂鸣器,用于遥控接收的红外接收头,都没有焊接,自然整点报时,闹钟的响铃,还有遥控这三个功能是没有的,当然了断电走时这个功能时必须有的,温湿度计自然就是显示温湿度了。

来个正面全貌吧,今天刚拍的还热乎呢,这个时间上的冒号是闪烁的,亮一秒灭一秒。


背面照,使用的是单面玻纤洞洞板,为了省焊锡,连线基本上使用网线的细铜丝,同时为了方便也标明了各引出点的IO口和功能名称(洞洞板正面 )。

春节前这东西就已经开始工作了,到了正月才发现农历显示不正常。

经过上网查询,是因为keil软件的0xdf的BUG问题,经过修改代码,显示已经正常了,之前走时一天快好几十秒,在1302模块晶振两脚对地增加了两个20P的瓷片电容,电容变大走时变慢,电容变小走时变慢,现在一天慢3秒左右,我是真没有15P的电容,先这样吧。

整体分为两部分,电子万年历和温湿度计,分别使用了一个单片机,下面是12864温度电子万年历部分。
这个是最小系统板接口板背面,就是各种IO口引出,以及IO口标识,不知道能不能看清那个小小的18B20上拉电阻。

正面将各个引出口的功能进行标识,使用杜邦线和接插件进行连接,方便日后修改,或者用作他用,图中红色方框内是按键的上拉电阻,引出口上排从左到右分别为1302接口,编程口,18B20接口,显示屏RST和PSB接口(RST接高电平,PSB串行通信选择),下排从左到右分别为12864显示屏数据口0~7,显示屏E,RW,RS,按键就不说了有标注。

最小系统板做了改造,为了配合电池和充放电控制板,将PCB板上的正极铜箔切断,在DC口上引出两个排针,连接充放电一体板的电源输入,由于充放电一体板所有的GND都是通的,所以最小系统板上的GND铜箔就没有切断。

正面一块STC89C52。

这是液晶屏接口板的背面,就是直连,唯一不同的是将背光的供电和屏的电源并联起来,省的单独跳线了。

液晶接口板正面,我并没有安装背光亮度和字体对比度的电位器,主要原因是这个液晶屏直接在调节电位器的位置上了固定阻值电阻,亮度什么的也还可以,我再放电位器只能越调越暗,并且12864本身面积也大于洞洞板,不方便调节,所以就没放电位器。

12864液晶屏背面,增加了支脚垫片,因为支脚是金属,一个防止磨损电路板,一个防止短路,很明显电位器的位置已经焊接了电阻。

液晶屏的正面,没什么好说的,蓝底白字带字库可显示中文。

电池模块,在没有外部供电时,这个电池可以支撑系统运行约十个小时左右,电池是18650的,很早以前用在手电筒上的,现在放在这里。

充放电模块,带充放电保护,丝印标记很清晰,输入输出电压均为5V,放电时按两下按钮关闭输出,充电时按钮失效,此充放电模块支持边充边放,边充边放时输出电压会稍低与5V,此款充放电模块未充电状态,第一次接入负载自动输出,输出电流小于10mA,30秒后会关闭输出。在我使用的时候,感觉有两个缺点,一个是放电时电量指示灯一直常亮(损失部分电量),另外拔出充电头时,模块会闪断一下,导致系统重新上电。但是这些对我的使用也没什么大影响,忍了。

使用铜螺柱给液晶屏做了个支脚。

万年历部分的全家福,名称已经标记在图片中了,应该是可以看清。

下面说说温湿度计部分,先看最小系统板的接口板,图中是按键的上拉电阻,这个也是当时用1602做电子表的时候用到的,现在做温湿度计,用不到,有的源码支持设置告警温湿度,调节警告阈值的时候这些按键能用到,由于我这个充放电板子输入电源断开会闪断输出的原因,系统重启就要重新设置警告阈值才能显示当前温湿度,我只是为了看个温湿度,就没有使用那一版源码,另外DH11模块DATAJ脚有10K上拉电阻。

最小系统板接口板正面,好尴尬,引出口表示全被杜邦线挡住了,就说下有哪些口好了,1302接口(之前当电子表时候用到的),编程口,DH11接口,1602显示屏数据口0~7,显示屏E,RW,RS,按键标注就能看到,这里空白标识是一个备用按键。

最小系统板背面,这个板子P0口没有上拉电阻,我自己补了一个排阻。

正面也没什么同样是STC89C52。

液晶屏接口板背面也是背光和屏的供电并联,在背光的正极和电源正极之间增加了个电位器用于调节背光亮度。那个大焊点是使用排针作为屏的支脚,为了稳固,增大了焊点,下面那个编程引出,是因为在最小系统板接口板编程口的位置正好在万年历和温湿度计连接的中间,不方便编程,所以引到屏的接口板上了。

屏接口板正面两个电位器,用来调节背光和对比度。

1602液晶屏背面,没有调节背光和对比度电位器,这个不带字库。

液晶屏正面蓝底白字,调节对比度的电位器,中线接V0口,剩下两个脚连接电源正负极,V0对地阻值越小,对比度越低(字变浅,直到看不清字,全空白),对电源正极阻值越小,对比度越大(背景变深,直到看不清字,背景覆盖显示)。

液晶屏支脚,正好排针母座的高度,加上一块单面胶的缓冲海绵。

温湿度计的全家福,各模块已经在图中标明。
附上电路图,电子万年历

温湿度计

所有图片部分已经发完,下面来看看成本
STC89C52单片机*2=3.6*2=7.2   
最小系统板*2= 2.5*2=5
DS1302模块*1=1.25
18B20模块*1=1.5
DH11温湿度模块*1=5.1
12864液晶屏*1=21
1602液晶屏*1=6
洞洞板*4=0.9*4=3.6
充放电一体板*1=3.6
18650电池盒*1=2.2
18650电池、排阻、电位器、5V充电头利旧不计算成本
下载器*1=5.2
铜螺柱,排针,母座,杜邦线,螺丝,按键等配件≈5
另外人工成本无法计算
以上总计:66.65
如有遗漏请坛友指正,我会增加进来。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 5家元 +66 收起 理由
擎穹 + 20
hongo + 8 原創內容
zzy_85569381 + 20 謝謝分享
听雨亭 + 8
ploestar + 10 单片机太老了,也不便宜, 1302精度不咋地 这.

查看全部打赏

发表于 2021-2-21 18:49:05 | 显示全部楼层
单片机太老了,也不便宜,
1302精度不咋地
这屏也太贵了吧
回复 支持 反对

使用道具 举报

发表于 2021-2-21 19:24:15 来自手机浏览器 | 显示全部楼层
下载器是个啥仪器?没编程器,程序是咋写进89C52里的?能告知吗?
回复 支持 反对

使用道具 举报

发表于 2021-2-21 19:34:07 | 显示全部楼层
不知为啥不能打赏了,单片机可以选STC15或STC8系列,带内部EEP
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-21 19:51:12 | 显示全部楼层
ploestar 发表于 2021-2-21 18:49
单片机太老了,也不便宜,
1302精度不咋地
这屏也太贵了吧

手里有现成的,当年大学接触到的也是这玩意,就用的这个了。
自己看一下而已,话说DH11的精度还不如1302呢,就是个参考,这个看个人需求了。
至于屏的价格,1602是早先买的,不具参考性,12864我对比了好多家,这家还是挺便宜的,首单19,但是我为了减免邮费,就没有首单优惠价,价格就是21了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-21 20:00:35 | 显示全部楼层
白发老头 发表于 2021-2-21 19:24
下载器是个啥仪器?没编程器,程序是咋写进89C52里的?能告知吗?

下载器其实就是USB转TTL,STC单片机可以直接用TTL电平编程写入,淘宝搜索STC下载器,就能看见了,里面介绍很详细,传个图片看一下外形。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-21 20:01:34 | 显示全部楼层
xiaowei0304 发表于 2021-2-21 19:34
不知为啥不能打赏了,单片机可以选STC15或STC8系列,带内部EEP

看你头像就知道是高手,打不打赏不重要,互相交流嘛
回复 支持 反对

使用道具 举报

发表于 2021-2-21 20:16:53 来自手机浏览器 | 显示全部楼层
原来是这东西,十年前给人打工,给加工小仪器,写程序用编程器,89C52,1602屏还有,不会玩,网上找找,也玩玩,谢谢了。
回复 支持 反对

使用道具 举报

发表于 2021-2-21 22:37:54 | 显示全部楼层
一个单片机可以干的活,非要两单片机!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-22 00:22:28 | 显示全部楼层
zj97czb 发表于 2021-2-21 22:37
一个单片机可以干的活,非要两单片机!

没办法,编程不行,不能修改字体和位置,所以没有办法八两哥放到一个单片机上,只能让它们各找各的程序,自己干自己的活了。
回复 支持 反对

使用道具 举报

发表于 2021-2-22 01:00:38 | 显示全部楼层
不错的,能这样焊好。不会软件,也会改。
回复 支持 反对

使用道具 举报

发表于 2021-2-22 05:00:00 来自手机浏览器 | 显示全部楼层
3231它不香吗?一个单片机IO也用不完吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-22 09:17:12 | 显示全部楼层
yhgwork 发表于 2021-2-22 01:00
不错的,能这样焊好。不会软件,也会改。

也就这点能力了,献丑了:lol:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-22 09:31:59 | 显示全部楼层
触景情伤 发表于 2021-2-22 05:00
3231它不香吗?一个单片机IO也用不完吧?

用1302是因为手里有现成的,用两个单片机是因为不会编程,这是硬伤,不会改字体和显示位置,虽然IO口够,但是我没有办法把温湿度内容显示到一块屏上,只能分成两个单片机跑。
回复 支持 1 反对 0

使用道具 举报

发表于 2021-2-22 09:52:58 | 显示全部楼层
为什么要用两个屏?一个屏就可以搞定啊。包括农历和公历节日,温湿度轮显就好




我做的:http://bbs.mydigit.cn/read.php?tid=2452018

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 1 反对 0

使用道具 举报

发表于 2021-2-22 12:12:24 | 显示全部楼层
51+1302的时钟架构,有些老旧了,精度也不够

楼主可以了解下其他架构,期待你的新作品
回复 支持 反对

使用道具 举报

发表于 2021-2-22 14:07:16 来自手机浏览器 | 显示全部楼层
zhao4515 发表于 2021-2-22 09:31
用1302是因为手里有现成的,用两个单片机是因为不会编程,这是硬伤,不会改字体和显示位置,虽然IO口够, ...

有时间的话还是学一下比较好,很有意思的,显示位置就是坐标地址,不涉及按键的情况下就定义一个IO添加两条显示函数就行了…当然要把Dht11的初始化代码加进去,C语言学一遍,随便找一个单片机的教程学一下就行了…再说了你这两个屏跟模块都是通用的外设很好弄的…
回复 支持 反对

使用道具 举报

发表于 2021-2-22 14:33:25 来自手机浏览器 | 显示全部楼层
sblinux 发表于 2021-2-22 09:52
为什么要用两个屏?一个屏就可以搞定啊。包括农历和公历节日,温湿度轮显就好



很漂亮的东西,可惜老站没分了下载不了代码…
回复 支持 反对

使用道具 举报

发表于 2021-2-22 14:37:09 | 显示全部楼层
触景情伤 发表于 2021-2-22 14:33
很漂亮的东西,可惜老站没分了下载不了代码…

需要的话可以传给你,怎么传?
回复 支持 反对

使用道具 举报

发表于 2021-2-22 14:56:43 来自手机浏览器 | 显示全部楼层
sblinux 发表于 2021-2-22 14:37
需要的话可以传给你,怎么传?

已经私信老哥邮箱了…
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-5 22:49 , Processed in 0.202800 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表