haoDIY创好电子音响电脑科技DIY小制作发明移动版

主页 > 电脑DIY > 电脑DIY >

HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)


18b20倒是好,网上成熟的程序一大堆,弄一个来简单调试下就可以了。
为了防止没焊18b20而造成程序异常,在上电的时候,会先检测18b20是否存在,如果不存在,则以后读取温度都是取ds3231内部的温度为准,虽然精度不行一点,但是也还勉强能用。
关于ds3231,就让我任性一点吧,既然stm8有硬件iic,(stc没有也没玩过硬件的),但是大部分人都在骂说意法的IIC简直就是败笔,stm8和32的iic,都是难用到爆,所以,网上的IIC例程,基本都是软件模拟。最后弄了风驰的历程,又结合其他的经验改了下,终于调通了,哈哈。(调不通的感觉大部分情况都是卡在哪个while过不去)
iic通了以后,后面ds3231的驱动内容,就是从之前自己在51上弄的移植过来了。不过提醒一点,温度数据不是bcd码而是直接的hex,直接用就好了。
关于蜂鸣器,暂时没想好用来干啥,感觉弄闹钟也不怎么现实,所以,目前程序里,对应的是直接将蜂鸣器换成led(三极管保持原样),然后接到上位机的数据后会自动反转灯的电平,也算个装饰吧。
至于esp8266,那算是远期打算,目前只预留接口,目前精力和芯片程序空间暂时还是有限的
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
剩余不到1k的空间,估计弄个软件模拟串口就没有了,不过也倒是可以把远程获取时间的程序烧录到esp8266上,到时候仅串口直接传输有效数据即可。
还有一点要提,目前的程序里,如果数据前面有0,是自动隐藏的,当然如果有人喜欢那种数据前面的0吧显示位塞满的玩法,也是可以的
只要在"HPDL1414.h"文件下解除那个define的屏蔽然后重新编译下载就可以了
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
然后就开始展示显示效果了

首先,上位机可以选择要显示的内容,但是时间,日期和星期是不可关闭的,就是不开上位机,只供电也会显示
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
时间
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
日期
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)

星期(sat,星期六,昨天拍的,今天是sun)和环境温度
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
cpu占用率和温度

HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
上位机关闭了一个数据,所以只显示了一个数据,如果cpu的两个数据都关闭,则不显示cpu页面了
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
内存,余量和总量
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
内存占用率
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)

不同的网速显示模式,只要在上位机处设置,程序可自动调整显示,自动变换单位
ps:这是真实网速,我真的不是在秀网速,表打我
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
仅显示下载
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)


[ 此帖被2545889167在2016-08-23 17:18重新编辑 ]
 
  • HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
关于上位机设置和使用
看帖子:配合HPDL1414桌面伴侣使用的上位机程序|http://bbs.mydigit.cn/read.php?tid=1785154
或者围观下面的视频

关于时间设置

在上位机正常运行的过程中,点击更新时间,会读取系统时间,并发送,收到后,会自动更新ds3231中的数据,算是对时成功
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
如果在系统中开始自动对时,那时间是蛮准的
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)

关于显示循环
如果有上位机且设置完整数据流:循环显示:时间3s,日期1s,星期温度1s,cpu 1s,ram 2s,net 1s
无上位机:循环显示:时间3s,日期1s,星期温度1s

关于指示灯,目前没有使用蜂鸣器
所以在蜂鸣器焊盘那里可以加led
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
该led指示灯的效果是在有数据传输过来且符合协议的话,进行一次翻转。锁定状态会快闪

关于tim4:
程序使用定时器4 time4作为整个运行的系统时钟
设定1ms中断一次,中断服务函数会对各个参数进行加减处理

关于ds3231:
使用硬件iic通讯,初始化是会开启1hz方波输出,输出脚接io设置为下降沿中断

关于中断优先级:
实验是发现如果不调整优先级,则会出现严重的数据丢包。原因是io的中断的入口排在串口接收中断之前,遂调整串口接收中断为优先级2,gpioc中断为优先级1

关于按键使用
按键分左键(key1)和右键(key2)
1、短按左键,从任意屏幕立刻跳转到显示时间,并持续显示5s后,继续循环
2、长按左键,从任意屏幕立刻跳转到显示时间,锁定显示时间,直到再次短按左键或按右键解锁。
3、按右键,锁定当前屏幕,直到再次短按左键或按右键解锁。
4、屏幕锁定后,按左右键均可解锁;左键短按按下后解锁到显示时间界面,显示5s再恢复正常循环;右键按下后,立刻解锁并显示下一屏。
5、屏幕如果锁定在电脑状态界面,指示灯会快闪,如果锁定在时间 日期 星期界面,指示灯正常
6、屏幕如果锁定在电脑状态界面,若5秒内数据未更新或者上位机断开,自动解除锁定,进入循环
第三颗(key3)按键暂时没用,没想到该用来干嘛


后期:上位机下位机的程序是开源的,欢迎大家交流,如果有感兴趣的坛友,也欢迎来给这玩意增加一些功能
以后的方向:增加更多的电脑状态显示,如gpu状态等
增加蜂鸣器
增加使用sep8266



这楼剩下的空间就放一些效果图吧
就不详细介绍了
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2)
HPDL1414 精致桌面小伴侣 显示时间日历和电脑状态(CPU温度负载(2) (责任编辑:admin)
相关文章
    热点内容
    haoDIY创好电子 版权所有,电话微信13977534587