站内搜索
发作品签到
专业版

51多功能计时器开发板

工程标签

420
0
0
0

简介

89c52开发板,可检测温湿度、正计时、倒计时、日历,适合新手学习项目

简介:89c52开发板,可检测温湿度、正计时、倒计时、日历,适合新手学习项目
开源新人首创挑战活动

开源协议

GPL 3.0

(未经作者授权,禁止转载)
创建时间:2024-07-12 12:58:47更新时间:2024-07-17 17:18:41

描述

不包含单片机及最小系统!!!

不包含单片机及最小系统!!!

不包含单片机及最小系统!!!

正在画完整开发板

我接了最小系统板,电池盒和升压模块

单片机可随意替换

部分库函数来自B站江协科技

建议看他的51教程,非常详细

51单片机入门教程-2020版 程序全程纯手打 从零开始入门_哔哩哔哩_bilibili

本人初二学生,这是两年前的作品,现在开源领个卷

第一次做,好多封装画错了(现已改正),飞了好多线。

用的自动布线,可能有些小问题,不影响使用

原理图和PCB当时画的很难看,懒得改了

 

 

 

一、功能

【模式键】依次切换下列模式

1.温湿度检测

自动显示

2.正计时

【开始、暂停键】开始、暂停计时

【选择键】复位

3.时钟

年月日星期时分秒交替显示,掉电保存

【开始、暂停键】进入、退出设置模式,待设置的日期闪烁

【加键】【减键】进行设置(程序中有越界检测,如只能设置为0~59),

【选择键】设置下一数据(如设置时按下后设置),顺序为年-月-日-时-分-秒-星期,默认为24小时制

4.倒计时

【选择键】开始设置,再按一次设置下一数据(如设置时按下后设置分),顺序为秒-分-时-零点几秒

【加键】【减键】进行设置(程序中有越界检测,如秒只能设置为0~59),

【开始、暂停键】开始、暂停计时

倒计时结束后全屏闪烁,蜂鸣器鸣叫,按下任意键(【模式】除外)关闭

 

 

二、程序

如果觉得蜂鸣器太吵,将main.c中的368、382、383、400、401行注释掉

引脚定义在.c文件中

 

 

三、烧录

附件中有源码和HEX文件,具体方法可以看B站江协科技的51视频

我用的STC-ISP:

USB转TTL:

四、部分代码及原理图

4.1代码简单讲解

对应模块代码已封装成对应库函数,在江科大的基础上修改,故在此不做说明,建议观看他的51视频

完整源码及hex文件在附件

使用KeyFlag作为模式标志位,main函数中利用switch语句进行不同功能的切换

注:1.写代码的时候踩过一个坑,DHT11的单总线通信为异步时序,对高低电平时间有严格控制,所以在获取温湿度时需暂停数码管扫描的定时器,这也是温湿度模式下数码管闪烁的原因。数码管闪烁并不是因为拍摄,事实上人眼也可见,目前还没有想到解决方法
       2.貌似是计时函数中语句过多的原因,导致原本0.1秒的计时需要89毫秒就执行一次,目前也还没有想到解决方法

大部分重复性工作在定时器中断函数中进行,避免了在主函数中进行过多delay
中断函数:

4.2原理图简单讲解

由于51单片机gpio输出电流过小,不足以驱动数码管,所以加了一个三态门,这样就可以点亮数码管

数码管是0.36英寸共阳极

0.36英寸是为了让板子在10*10以内可以白嫖

蜂鸣器是无源蜂鸣器,同理采用三极管驱动

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
程序最终版.rar
13
2
project.hex
6
3
演示视频.mp4
4
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航