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

一 . 题目要求

  1. 用单片机制作作息时间控制器;
  2. 用四位数码管显示实时时钟(时、分,24小时制、12小时制),有秒闪,小时十位有零消隐;
  3. 可用数字键或+、-键校时(可快速+、-)被校位(时、分)闪烁;
  4. 作息时间可设定(最多16个时间点),可以任意查询、添加、删除;
  5. 设定时间到,发出提示音(5秒),时钟显示闪烁。

设计思考

设计要求使用的单片机是51系列的单片机,并提供了键盘和数码管显示的印刷电路板,所以我们首先制作一个单片机的最小系统,将最小系统的PIN脚引出通过线和键盘,数码管的电路板相连接,软件方面是初始化,然后按键扫描,并输出键值和键盘被按下的信息,后面的程序依据此进行判断,执行相应的操作的,数码管刷新的程序放在定时器0中,记时的功能放在了这个定时器1中。

三. 电路原理

硬件部分

  1. 单片机最小系统

电源:单片机使用的是5V电源,其中正极接40引脚,负极(地)接20引脚,电容C4为退耦电容。

振荡电路:单片机是一种时序电路,必须提供脉冲信号才能正常工作,在单片机内部已集成了振荡器,使用晶体振荡器,接18、19脚即可。

复位(RST,第9引脚):只要在RESET引脚上出现了持续24个时钟振荡脉冲(两个机器周期)以上的高电平,单片机就能够实现复位。

蜂鸣器电路:使用P20引脚控制三极管驱动蜂鸣器工作发出提示音。

  1. 按键电路

电路使用4*4矩阵式键盘进行按键控制,先令D1为高电平D2、D3、D4为低电平,扫描D5、D6、D7、D8的状态,令D2、D3、D4依次为高电平,扫描D5、D6、D7、D8的状态,则可知道是那个按键按下。

  1. 数码管驱动电路

从P0口输出时要加上上拉电阻(RP1),P0口输出的是段选码,P1口输出的是位选码。P0口控制数码管显示的数据,P1口控制六位数码管的选通,当循环的频率十分快时,在人的肉眼看来是六位数码管都是同时工作。

软件部分

主流程图

子程序流程图

按键处理

按键扫描

四.调试及总结

程序调试时,蜂鸣器发声不太正常,由于单片机输出带负载能力较差,后来改进电路,程序编写过程中出现了数据存储器不足问题,使用了较多的全局变量,后来虽然一定程度上改进了,但数据存储器的空间剩下的仍然不多,段码的编写一开始直接试,效率较低,以后应先分析引脚的功能,然后编程,提高效率,在程序开始部分应对程序中用到的pin脚的定义,增强可读性,对一些常用缩写定义方便使用的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/722676.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

离线安装zabbix-agent,自制yum源方式安装

1,机器准备 现在有2台机器 机器A,能上网,ip:192.168.10.131; 机器B,不能上网,ip:192.168.10.133。 我想在机器B上面安装zabbix-agent-5.0.42版本。 大致思路 在机器A上面制作好我…

Midjourney和Stable Diffusion哪个更适合商业应用?

midjourney的绘画,在撰写有效的prompt需要精确地定义你想要展现的画面,详细描述越准确,生成出的图片结果也会越吻合你的预期。为了提升你midjourney的写作prompt的技巧,可以通过模仿他人的成功案例,亲自尝试编写&#…

C++ 68 之 类模版作函数的参数

#include <iostream> // #include <cstring> #include <string> using namespace std;template<class T1, class T2> // 可以设置默认的类型值&#xff0c;后面在使用的时候&#xff0c;就不用再指定类型了 class Students08{ public:T1 m_name;T2 m_a…

【昇思25天学习打卡营打卡指南-第一天】基本介绍与快速入门

昇思MindSpore介绍 昇思MindSpore是一个全场景深度学习框架&#xff0c;旨在实现易开发、高效执行、全场景统一部署三大目标。 其中&#xff0c;易开发表现为API友好、调试难度低&#xff1b;高效执行包括计算效率、数据预处理效率和分布式训练效率&#xff1b;全场景则指框架…

ICMAN触摸芯片——大金属触摸

ICMAN触摸芯片之大金属触摸 按照工业级别设计 稳定性与抗干扰能力强 单颗芯片支持 1~12按键 可以轻松实现 金属灯触摸方案的触摸开关&#xff0b;无极调光 高性能ICMAN触摸芯片在金属LED触摸台灯的应用

Java23种设计模式(四)

1、备忘录模式 备忘录模式&#xff08;Memento Pattern&#xff09;保存一个对象的某个状态&#xff0c;以便在适当的时候恢复对象&#xff0c;备忘录模式属于行为型模式。 备忘录模式允许在不破坏封装性的前提下&#xff0c;捕获和恢复对象的内部状态。 实现方式 创建备忘录…

反激式开关电源是如何工作的

反激的变压器可以看作一个带变压功能的电感&#xff0c;是一个buck-boost电路。 反击式开关变压器 反激式开关电源是指使用反激高频变压器隔离输入输出回路的开关电源。“反激”指的是在开关管接通的情况下&#xff0c;当输入为高电平时输出线路中串联的电感为放电状态&#x…

硬盘格式化NTFS好还是exFAT好 U盘存储文件用哪个格式好? 硬盘用exfat还是ntfs mac不能读取移动硬盘怎么解决

在计算机世界中&#xff0c;文件系统是数据管理的基石&#xff0c;而NTFS和exFAT无疑是这块基石上的两大巨头。它们各自拥有独特的特点和优势&#xff0c;并在不同的使用场景中发挥着重要作用。 什么是文件系统 文件系统提供了组织驱动器的方法。它规定了如何在驱动器上存储数…

2024/06/18--代码随想录算法8/17| 股票问题

121.买卖股票的最佳时机 力扣链接 动规五部曲 确定dp数组&#xff08;dp table&#xff09;以及下标的含义 dp[i][0] 表示第i天持有股票所得最多现金,dp[i][1] 表示第i天不持有股票所得最多现金确定递推公式 dp[i][0] max(dp[i-1][0], -price[i]) dp[i][1]max(dp[i-1][1], …

spark独立集群搭建

spark独立集群搭建(不依赖Hadoop) 1、上传spark-2.4.5-bin-hadoop2.7.tgz至 /usr/local/moudel &#xff0c;再解压到 /usr/local/soft tar -zxvf spark-2.4.5-bin-hadoop2.7.tgz -C /usr/local/soft/ 重命名 mv spark-2.4.5-bin-hadoop2.7/ spark-2.4.5 配…

深入理解计算机系统 CSAPP 家庭作业6.45

CS:APP3e, Bryant and OHallaron 可以参考这里

mediasoup源码分析(三)channel创建及信令交互

mediasoup源码分析--channel创建及信令交互 概述跨职能图业务流程图代码剖析 概述 在golang实现mediasoup的tcp服务及channel通道一文中&#xff0c;已经介绍过信令服务中tcp和channel的创建&#xff0c;本文主要讲解c中mediasoup的channel创建&#xff0c;以及信令服务和medi…

深圳比创达电子EMC|EMC与EMI滤波器:守护电子设备的电磁防火墙

随着科技的飞速发展&#xff0c;电子设备在我们日常生活中的普及率越来越高&#xff0c;从智能手机到大型工业设备&#xff0c;无一不体现出电子技术的重要地位。然而&#xff0c;随之而来的电磁兼容性问题&#xff08;EMC&#xff09;和电磁干扰问题&#xff08;EMI&#xff0…

基于稀疏学习现代信号处理方法的旋转机械故障诊断(MATLAB)

通过对滚动轴承故障诊断研究现状及稀疏表示方法在滚动轴承故障诊断领域中应用现状的调研&#xff0c;发现稀疏表示方法与故障特征提取和故障分类的关联&#xff0c;针对故障诊断问题&#xff0c;通过构造合理的故障稀疏表示模型&#xff0c;选取适合的模型优化算法&#xff0c;…

华为HCIP Datacom H12-821 卷6

1.单选题 下面是一台路由器的部分配置&#xff0c;关于该部分配置描述正确的是&#xff0c;[HUAWEllJip ip-prefix plpermit 10.0.192.0 8 greater-equal 17 less-equal 18 A、10.0.192.0/8 网段内&#xff0c;掩码长度为 20 的路由会匹配到该前缀列表&#xff0c;匹配规则为…

[保姆级教程]uniapp配置vueX

文章目录 注意新建文件简单的使用 注意 uniapp是支持vueX的只需配置一下就好 新建文件 在src文件中&#xff0c;新建一个store&#xff08;如果有的话跳过&#xff09; 在store中新建一个js文件&#xff0c;修改js文件名称和选择模板为default 在 uni-app 项目根目录下&…

牛客周赛 F-花花的地图

原题链接&#xff1a;F-花花的地图 题目大意&#xff1a;的网格里面&#xff0c;.为可以通行&#xff0c;#为不可以通行&#xff0c;如果想要通行可以花费代价将一列的障碍全部清除&#xff0c;求从到的最小花费。 思路&#xff1a;迪杰斯特拉的变种&#xff0c;优先队列里面…

用研究的眼光解读如何基于UVM搭建验证平台《UVM实战》(可下载)

UVM&#xff08;Universal Verification Methodology&#xff0c;通用验证方法学&#xff09;是一种用于硬件设计和验证的标准化方法学&#xff0c;它基于SystemVerilog语言扩展&#xff0c;由Accellera组织推出&#xff0c;并得到了主要的EDA&#xff08;Electronic Design Au…

重磅!首个跨平台的通用Linux端间互联组件Klink在openKylin开源

随着智能终端设备的普及&#xff0c;多个智能终端设备之间的互联互通应用场景日益丰富&#xff0c;多设备互联互通应用场景需要开发者单独实现通讯协议。因此&#xff0c;为解决跨平台互联互通问题&#xff0c;由openKylin社区理事单位麒麟软件旗下星光麒麟团队成立的Connectiv…

音频处理软件adobe audition使用教程

教程1笔记 基本操作 点击文件-》新建-》多轨会话&#xff1a; 编辑-》首选项&#xff0c;设置自动保存时间&#xff1a; 导入素材&#xff0c;文件-》导入素材&#xff0c;或者直接拖动进来文件&#xff01; 导出多轨混音&#xff1a; 更改为需要导出的格式wav,mp3等格式&am…