小小程序网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 321|回复: 0

电子竞赛5——作息时间控制器

[复制链接]

149

主题

151

帖子

1060

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1060
发表于 2020-12-26 23:48:40 | 显示全部楼层 |阅读模式
文件名:  单片机程序下载(回复获取提取码) 状态: 未购买  售价:5 (原价:5)金币
人气指数:321
文件大小:
发布者:axiao123
下载权限: 新手上路
自定义   [自定义内容]

已下载 0 次

提取码:
游客,如果您要查看本帖隐藏内容请回复

一 . 题目要求
  • 用单片机制作作息时间控制器;
  • 用四位数码管显示实时时钟(时、分,24小时制、12小时制),有秒闪,小时十位有零消隐;
  • 可用数字键或+、-键校时(可快速+、-)被校位(时、分)闪烁;
  • 作息时间可设定(最多16个时间点),可以任意查询、添加、删除;
  • 设定时间到,发出提示音(5秒),时钟显示闪烁。
设计思考
设计要求使用的单片机是51系列的单片机,并提供了键盘和数码管显示的印刷电路板,所以我们首先制作一个单片机的最小系统,将最小系统的PIN脚引出通过线和键盘,数码管的电路板相连接,软件方面是初始化,然后按键扫描,并输出键值和键盘被按下的信息,后面的程序依据此进行判断,执行相应的操作的,数码管刷新的程序放在定时器0中,记时的功能放在了这个定时器1中。
三. 电路原理
硬件部分
  • 单片机最小系统
电源:单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚,电容C4为退耦电容。
振荡电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚即可。
复位(RST,第9引脚):只要在RESET引脚上出现了持续24个时钟振荡脉冲(两个机器周期)以上的高电平,单片机就能够实现复位。
蜂鸣器电路:使用P20引脚控制三极管驱动蜂鸣器工作发出提示音。
  • 按键电路
电路使用4*4矩阵式键盘进行按键控制,先令D1为高电平D2、D3、D4为低电平,扫描D5、D6、D7、D8的状态,令D2、D3、D4依次为高电平,扫描D5、D6、D7、D8的状态,则可知道是那个按键按下。
  • 数码管驱动电路
从P0口输出时要加上上拉电阻(RP1),P0口输出的是段选码,P1口输出的是位选码。P0口控制数码管显示的数据,P1口控制六位数码管的选通,当循环的频率十分快时,在人的肉眼看来是六位数码管都是同时工作。
软件部分
主流程图
子程序流程图
按键处理
按键扫描
四.调试及总结
程序调试时,蜂鸣器发声不太正常,由于单片机输出带负载能力较差,后来改进电路,程序编写过程中出现了数据存储器不足问题,使用了较多的全局变量,后来虽然一定程度上改进了,但数据存储器的空间剩下的仍然不多,段码的编写一开始直接试,效率较低,以后应先分析引脚的功能,然后编程,提高效率,在程序开始部分应对程序中用到的pin脚的定义,增强可读性,对一些常用缩写定义方便使用的。

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

本版积分规则

QQ|Archiver|手机版|小黑屋|小小程序网 ( 沪ICP备20019129号 )|网站地图

GMT+8, 2021-5-8 14:59 , Processed in 0.060513 second(s), 28 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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