OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子全套STM32开发资料,上千讲STM32视频教程,RT1052教程免费下载啦...
查看: 1942|回复: 5

4位数码管时钟带光控和温度_STC15W408AS

[复制链接]

  离线 

5

主题

14

帖子

0

精华

高级会员

Rank: 4

积分
834
金钱
834
注册时间
2016-9-12
在线时间
96 小时
发表于 2017-1-21 15:01:02 | 显示全部楼层 |阅读模式
本帖最后由 shanan 于 2017-1-21 15:00 编辑

IMG_20170119_171622.jpg
淘了一个数码管时钟散件,用来复习51 (STC15W408AS),重头开始写软件,代码量:3053行,25个文件,生成hex,一个用了7K,一个用了5K。

实现的功能有:
1. 开机首先显示编译日期,然后开始交替显示 时间(小时、分钟)和温度;
2. 短按上键,显示日期(月、日);
3. 短按下键,显示闹钟时间;
4. 长按上键,进入多功能选择界面,短按上键,轮流选择:秒表、倒计时、测光、测温、闹钟,短按下键进入功能;
5. 秒表:下键开始和暂停计时,计时最小单位是秒,十六进制显示,上键复位,长按上键退出功能,回到时钟;
6. 倒计时:下键开始和暂停计时,计时最小单位是秒,十进制显示,上键增加定时10秒,长按上键退出功能,回到时钟;
7. 测光:固定显示当前ADC采样值,长按上键退出功能,回到时钟;
8. 测温:固定显示当前温度,长按上键退出功能,回到时钟;
9. 闹钟:短按上键依次选择:设置小时,分钟,开关,退出;下键调值;
10. 设置时钟:上下键同时按下保持1秒,然后显示SET,松开;短按上键依次选择:设置年,月和日,小时和分钟,秒和星期,整点报时开关,退出;下键调值;
11. 扩展:代码支持热敏电阻和DS18B20,通过宏定义USE_18B20选择,使用DS18B20时,需要先修改硬件,修改如图,R11短路,Q6上安装DS18B20(正面朝外)并增加4.7K上拉电阻,短路D2
IMG_20170119_171608.jpg


源代码:
LY51-SZ1_MOD_SRC.rar (21.47 KB, 下载次数: 734)
回复

使用道具 举报

  离线 

4

主题

209

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2016-7-6
在线时间
499 小时
发表于 2017-4-10 23:20:50 | 显示全部楼层
感谢分享
把复杂的事,做简单!
回复 支持 反对

使用道具 举报

  离线 

11

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
141
金钱
141
注册时间
2017-3-19
在线时间
17 小时
发表于 2017-4-12 21:13:40 | 显示全部楼层
咋没温度程序啊



我也想搞个用51实现的温度传感器   
回复 支持 反对

使用道具 举报

  离线 

32

主题

1593

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3756
金钱
3756
注册时间
2016-5-29
在线时间
576 小时
发表于 2017-4-12 23:34:55 | 显示全部楼层
可以直接使用我的程序.51单片机,DS18B20的温度传感器.状态机写法.
回复 支持 反对

使用道具 举报

  离线 

2

主题

13

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
314
金钱
314
注册时间
2016-7-24
在线时间
58 小时
发表于 2017-4-23 10:50:13 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

  离线 

0

主题

4

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1545
金钱
1545
注册时间
2017-3-6
在线时间
135 小时
发表于 2017-4-27 18:54:10 | 显示全部楼层
谢谢分享   学习一下
回复 支持 反对

使用道具 举报

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

本版积分规则




关闭

必看,必学:"原子哥”力荐上一条 /1 下一条

正点原子公众号

QQ|联系我们|手机版|官方淘宝店|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-9-20 11:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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