单片机课设-基于单片机的电子时钟设计(仿真+代码+报告)

news2024/11/24 6:50:00

基于单片机的电子时钟设计

  • 前言
  • 一、课设任务是什么?
  • 二、系统总体方案硬件设计
    • 2.1 系统硬件总体设计
    • 2.2 键盘电路设计
    • 2.3 DS1302实时时钟芯片电路设计
    • 2.4 复位电路
    • 2.5 LCD电路设计
  • 三、软件设计
    • 3.1 主程序流程图
    • 3.2 主要程序设计代码
    • 3.3 修改时间函数
    • 3.4 扫描键盘函数
  • 四、仿真源码下载


前言

  这篇文章是自己写的单片机课设,发这篇文章就当留个小纪念;如果说有什么不太好的地方还请大神请指出
Keil C51的代码以及Proteus的仿真的百度网盘链接放在文章最后,需要的人可以自取


提示:以下是本篇文章正文内容,下面案例可供参考

一、课设任务是什么?

  1. 用LCD液晶作为显示设备
  2. 可以分别设定小时,分钟和秒,复位后时间为:00:00:00
  3. 能实现日期的设置,年、月、日
  4. 其他创新内容,如:闹钟功能;显示星期;整点音乐报时等。

二、系统总体方案硬件设计

2.1 系统硬件总体设计

将设计的通信系统硬件进行模块化设计,主要由以下模块构成:
A:AT89C51单片机,控制的核心部件;
B:键盘电路;
C:LCD1602液晶显示电路;
D:复位电路;
E:DS1302实时时钟芯片

2.2 键盘电路设计

本设计共有6个设置按键,分别为年,月,日,时,分,秒,复位时间,启动时间与日期的修改。如图4-5 键盘电路

2.3 DS1302实时时钟芯片电路设计

DS1302是DALLAS公可推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM通过简单的申行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和同年的天数可自功调整。时钟操作可通过AMPM指示决定采用24或12小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信。

2.4 复位电路

见报告

2.5 LCD电路设计

见报告

三、软件设计

3.1 主程序流程图

见报告

3.2 主要程序设计代码

main函数代码

3.3 修改时间函数

void adjust(void)
{
  if(key_scan()&&key_flag1)
  switch(key_value())
  {
    case '0':sec_add++;break;
    case '1':min_add++;break;
    case '2':hou_add++;break;
    case '3':day_add++;break;
    case '4':mon_add++;break;
    case '5':yea_add++;break;
		case '6':fuwei();break;
    default: break;
  }
    adjusted.Second+=sec_add; 
    adjusted.Minute+=min_add;
    adjusted.Hour+=hou_add;
    adjusted.Day+=day_add;
    adjusted.Month+=mon_add;
	adjusted.Year+=yea_add;
    if(adjusted.Second>59)	
	{
	  adjusted.Second=adjusted.Second%60;
	  adjusted.Minute++;
	}
	if(adjusted.Minute>59)	
	{
	  adjusted.Minute=adjusted.Minute%60;
	  adjusted.Hour++;
	}
	if(adjusted.Hour>23)		
	{
	  adjusted.Hour=adjusted.Hour%24;
	  adjusted.Day++;
	}
	if(adjusted.Day>31)		
	  adjusted.Day=adjusted.Day%31;
	if(adjusted.Month>12)		
	  adjusted.Month=adjusted.Month%12;
	if(adjusted.Year>100)		
	  adjusted.Year=adjusted.Year%100;
}	

3.4 扫描键盘函数

int key_scan()  //扫描是否有键按下
{ 
  int i=0;
  uint temp;

  P1=0xf0;
  temp=P1;
  if(temp!=0xf0)
  {
    i=1;
  }
  else
  {
    i=0;
  }

  return i;
}

四、仿真源码下载

  这篇文章是自己写的单片机课设,发这篇文章就当留个小纪念;如果说有什么不太好的地方还请大神请指出。
  下载链接🔐:点击跳转下载➡️单片机课设-基于单片机的电子时钟设计(仿真+代码+报告)


能力有限,欢迎指正

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多应用对接企业微信授权和扫码登录

多应用对接企业微信授权和扫码登录是一种常见的企业级解决方案,它可以帮助企业实现统一的身份验证和管理,提升用户体验和安全性。本文将介绍如何实现多应用对接企业微信授权和扫码登录的方法和步骤。 # 第一步:注册企业微信开放平台应用 首…

【原创】springboot+mysql社区住户综合管理系统设计与实现

个人主页:程序猿小小杨 个人简介:从事开发多年,Java、Php、Python、前端开发均有涉猎 博客内容:Java项目实战、项目演示、技术分享 文末有作者名片,希望和大家一起共同进步,你只管努力,剩下的交…

Stable diffusion3效果比midjourney强很多吗,未来会开源吗?

经过一个多月的期待,Stable Diffusion 3(SD3) 终于向会员开放了API接口,尽管每个用户的使用配额相对有限,据用户反馈,生成六张图像便可能耗尽配额。 SD曾依靠开源策略与竞争对手抗衡,但目前似…

多语言模型中的自主沟通代理CAMEL;通用的人工智能基准ARC-AGI;2D重光模型Neural Gaffer;从低分辨率到高分辨率的3D模型转换

✨ 1: CAMEL 致力于研究多语言模型中的自主沟通代理 CAMEL(Communicative Agents for “Mind” Exploration of Large Language Model Society)是一个旨在研究自动化沟通代理的开源框架,借助大规模语言模型(LLM)&…

CST Studio Suite 基础操作实验(稳恒电流的电场与磁场)

前言 前置的基础操作可见笔者之前一篇文章,在此不再赘述 因为整个实验要求都要用英文,有些不便更改部分的英文就没翻译了,见谅 CST Studio Suite 基础操作实验(静电场)-CSDN博客 核心步骤 无限长设置 假如是z轴上的…

《分析模式》第2章中文UML图(已修正原书错误)(2.1-2.6)

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 (1)已用UML、OCL表示,并翻译为中文。 (2)已修正原书图存在的错误(多重性、角色),之前的…

前端必看的2024 年 7 个 Web 前端开发趋势【文末福利=网盘分享2024web前端技术资料,学习资源】

目录 前言 趋势一:新的样式解决方案和组件库将持续涌现 趋势二:利用 AI 来增强开发流程 趋势三:SSR 和 SSG 两种框架之间的竞争将会愈演愈烈 趋势四:前端、后端和全栈开发之间的界限将越来越模糊 趋势五:越来越多的人…

江协科技51单片机学习- p5 LED灯闪烁

前言: 本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记,在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。 引用: 51单片机入门教程-2…

轻兔推荐 —— Obsidian

via:轻兔推荐 - https://app.lighttools.net/ 简介 Obsidian 是一个强大的知识管理和笔记应用程序,它基于本地文件存储,支持Markdown格式,并提供丰富的插件生态系统。 - 通过双向链接和图谱视图,帮助用户发现笔记之间…

掌握midjourney系列:8 个角色设计关键词

Midjourney V6的角色引用功能非常强大,可以让多张图片生成的角色风格保持一致。在实现同一角色的多张场景图片之前,我们需要先设计好基础角色。 以下是我总结的Midjourney中人物设计套路的常用提示,很高兴与大家分享。 1、角色设定表&#…

杏仁核亚区在情绪处理中的特化

摘要 杏仁核对人类的恐惧情绪处理至关重要。然而,目前的研究未能揭示其特异性,有证据表明杏仁核也会对其他情绪做出反应。鉴于情绪功能对日常生活和心理健康的重要性,我们需要更加细致地了解杏仁核在情绪加工中的作用,特别是与恐…

短剧系统源码短剧平台开发短剧小程序APP短剧模版Java源码

一.管理端设置及操作 1.系统配置 系统的配置项都在该列表中,使用前请配置好参数 2.签到积分设置 签到可以获取设置积分,连续签到按照设置的积分规则走,积分可以兑换余额,兑换比例按照配置104,余额可以消费 3.用户中心 所有的用户注册后都会在该列表展示,可以查看用户详情,也…

Spring-事件

Java 事件/监听器编程模型 设计模式-观察者模式的拓展 可观察者对象(消息发送者) Java.util.Observalbe观察者 java.util.Observer 标准化接口(标记接口) 事件对象 java.util.EventObject事件监听器 java.util.EventListener public class ObserverDemo {public static vo…

神经网络 torch.nn---nn.LSTM()

torch.nn - PyTorch中文文档 (pytorch-cn.readthedocs.io) LSTM — PyTorch 2.3 documentation LSTM层的作用 LSTM层:长短时记忆网络层,它的主要作用是对输入序列进行处理,对序列中的每个元素进行编码并保存它们的状态,以便后续的处理。 …

H5的3D展示有可能代替PC传统3D展示么?

H5的3D展示技术正在快速发展,并且随着5G网络的普及和手机硬件性能的提升,H5的3D展示在某些方面已经能够接近甚至超越传统PC上的3D展示效果,比如 博维数孪 的渲染能力及效果。但H5和PC的3D展示互相之间是各有优势领域和行业支持,短…

hw面试总结

在这里给大家推荐一个阿里云的活动,可白嫖一年2h4g服务器 活动链接:https://university.aliyun.com/mobile?clubTaskBizsubTask…11404246…10212…&userCodeks0bglxp 一、漏洞分析 1.SQL注入 原理: 当Web应用向后台数据库传递SQL…

LLM之RAG实战(四十)| 使用LangChain SQL Agent和MySQL搭建多层RAG ChatBot

在传统的意义上,RAG 主要是从文档中检索用户想要的数据,从而提高大模型的能力,减少幻觉问题。今天,我们从另一个维度介绍RAG,RAG不从文档中获取数据,而是从MySQL数据库检索数据。我们可以使用LangChain SQL…

Nature子刊:你的健康在出生就被肠道病毒定义了?

近期,四川大学最新在《Nature Communications》期刊上(IF16.6)发表的“A metagenomic catalog of the early-life human gut virome”研究论文中,通过对宏病毒组结果进行分析,提供了最全面和最完整的生命早期人类肠道病毒组蓝图。 期刊&#…

[图解]《分析模式》漫谈03-Party是什么

1 00:00:00,790 --> 00:00:03,930 今天我们来看一下,Party是什么 2 00:00:05,710 --> 00:00:07,470 当然我们这里说的不是政治的 3 00:00:07,880 --> 00:00:08,350 Party 4 00:00:09,230 --> 00:00:11,110 是《分析模式》里面的一个用词 5 00:00:14…

短信群发平台选择时要看好对方的资质等问题!

在数字化营销日益盛行的今天,短信群发平台已成为企业与用户沟通的重要桥梁。然而,选择一个合适的短信群发平台并非易事,尤其需要考虑对方的资质等关键问题。 首先,资质是衡量一个短信群发平台是否正规、专业的重要指标。在选择平…