当前位置: 首页 > news >正文

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

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

  • 前言
  • 一、课设任务是什么?
  • 二、系统总体方案硬件设计
    • 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;
}

四、仿真源码下载

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


能力有限,欢迎指正

相关文章:

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

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

.net 6 api 修改URL为小写

我们创建的api项目,url是[Route(“[controller]”)],类似这样子定义的。我们的controller命名是大写字母开头的,显示在url很明显不是很好看(url不区分大小写)。转换方式: var builder WebApplication.Crea…...

Windows电脑部署Jellyfin服务端并进行远程访问配置详细教程

文章目录 前言1. Jellyfin服务网站搭建1.1 Jellyfin下载和安装1.2 Jellyfin网页测试 2.本地网页发布2.1 cpolar的安装和注册2.2 Cpolar云端设置2.3 Cpolar本地设置 3.公网访问测试4. 结语 前言 本文主要分享如何使用Windows电脑本地部署Jellyfin影音服务并结合cpolar内网穿透工…...

rsync同步目录脚本

假设有两台服务器的示例 IP 地址为: Server A: 192.168.1.100Server B: 192.168.1.200 现在来解释如何使用这个脚本进行服务器之间文件夹内容的同步,保留路径和服务器信息的抽象化。 1. 脚本文件位置和权限 假设脚本文件位于 /root/script.sh&#x…...

LeetCode 6. Z 字形变换

LeetCode 6. Z 字形变换 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: 之后,你的输出需要从左往右逐行读取,产生…...

RTC实时时钟

一、Unix时间戳 1、Unix 时间戳 (1)Unix 时间戳(Unix Timestamp)定义为从UTC/GMT的1970年1月1日0时0分0秒开始所经过的秒数,不考虑闰秒 (2)时间戳存储在一个秒计数器中,秒计数器为…...

WHAT - React 学习系列(一)

官方文档 If you have a lot of HTML to port to JSX, you can use an online converter. You’ll get two things from useState: the current state (count), and the function that lets you update it (setCount). To “remember” things, components use state.To mak…...

代理模式(静态代理/动态代理)

代理模式(Proxy Pattern) 一 定义 为其他对象提供一种代理,以控制对这个对象的访问。 代理对象在客户端和目标对象之间起到了中介作用,起到保护或增强目标对象的作用。 属于结构型设计模式。 代理模式分为静态代理和动态代理。…...

Word2Vec基本实践

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…...

IIS配置網站登錄驗證,禁止匿名登陸

需要維護一個以前的舊系統,這個系統在內網運行,需要抓取電腦的登陸賬號,作為權限管理的一部分因此需要在IIS配置一下...

抖音矩阵系统搭建,AI剪辑短视频,一键管理矩阵账号

目录 前言: 一、抖音矩阵系统有哪些功能? 1.AI智能文案 2.多平台账号授权 3.多种剪辑模式 4. 矩阵一键发布,智能发布 5.抖音爆店码功能 6.私信实时互动 7.去水印及外链 二、抖音矩阵系统可以解决哪些问题? 总结&#xff…...

山东大学软件学院创新项目实训开发日志——收尾篇

山东大学软件学院创新项目实训开发日志——收尾篇 项目名称:ModuFusion Visionary:实现跨模态文本与视觉的相关推荐 -------项目目标: 本项目旨在开发一款跨模态交互式应用,用户可以上传图片或视频,并使用文本、点、…...

vue2.7支持组合式API,但是对应的vue-router3并不支持useRoute、useRouter。

最近在做一个项目,因为目标用户浏览器版本并不确定,可能会有较旧版本,于是采用vue2.7而不是vue3,最近一年多使用vue3开发的项目都碰到了很多chrome 63-73版本,而对应UI 库 element plus又问题很多。 为了不碰到这些问…...

摊位纠纷演变肢体冲突,倒赔了500:残疾夫妇与摊主谁之过?

在一个小商贩密集的街区,一起由摊位纠纷引发的肢体冲突事件在当地社区和网络上引起了热议。涉事双方为一名摊主和一对残疾夫妇,他们的争执源自对一个摊位的使用权。本是口头上的争吵,却由于双方情绪激动,迅速升级为肢体冲突&#…...

深入理解和实现Windows进程间通信(消息队列)

常见的进程间通信方法 常见的进程间通信方法有: 管道(Pipe)消息队列共享内存信号量套接字 下面,我们将详细介绍消息队列的原理以及具体实现。 什么是消息队列? Windows操作系统使用消息机制来促进应用程序与操作系…...

Web网页前端教程免费:引领您踏入编程的奇幻世界

Web网页前端教程免费:引领您踏入编程的奇幻世界 在当今数字化时代,Web前端技术已成为互联网发展的重要驱动力。想要踏入这一领域,掌握相关技能,却苦于找不到合适的教程?别担心,本文将为您带来一份免费的We…...

北斗短报文终端在应急消防通信场景中的应用

在应对自然灾害和紧急情况时,北斗三号短报文终端以其全球覆盖、实时通信和精准定位的能力,成为应急消防通信的得力助手。它不仅能够在地面通信中断的极端条件下保障信息传递的畅通,还能提供精准的位置信息,为救援行动提供有力支持…...

Java跳动爱心代码

1.计算爱心曲线上的点的公式 计算爱心曲线上的点的公式通常基于参数方程。以下是两种常见的参数方程表示方法,用于绘制爱心曲线: 1.1基于 (x, y) 坐标的参数方程 x a * (2 * cos(θ) - sin(θ))^3 y a * (2 * sin(θ) - cos(θ))^3 其中&#xff…...

Swift Combine — Operators(常用Filtering类操作符介绍)

目录 filter(_: )tryFilter(_: )compactMap(_: )tryCompactMap(_: )removeDuplicates()first(where:)last(where:) Combine中对 Publisher的值进行操作的方法称为 Operator(操作符)。 Combine中的 Operator通常会生成一个 Publisher,该 …...

Windows11+CUDA12.0+RTX4090如何配置安装Tensorflow2-GPU环境?

1 引言 电脑配置 Windows 11 cuda 12.0 RTX4090 由于tensorflow2官网已经不支持cuda11以上的版本了,配置cuda和tensorflow可以通过以下步骤配置实现。 2 步骤 (1)创建conda环境并安装cuda和cudnn,以及安装tensorflow2.10 con…...

韩顺平0基础学Java——第27天

p548-568 明天开始坦克大战 Entry 昨天没搞明白的Map、Entry、EntrySet://GPT教的 Map 和 Entry 的关系 1.Map 接口:它定义了一些方法来操作键值对集合。常用的实现类有 HashMap、TreeMap 等。 2. Entry接口:Entry 是 Map 接口的一个嵌…...

YesPMP探索Python在生活中的应用,助力提升开发效率

Python是一种简单易学、高效强大的编程语言,正变成越来越多人选择的热门技能。学习Python不仅可以提供更多就业机会,还能让自己在职场更加有竞争力,那可以去哪里拓展自己的技能呢? YesPMP平台 为熟练掌握Python语言的程序员提供了…...

TikTok账号运营:静态住宅IP为什么可以防封?

静态住宅IP代理服务是一种提供稳定、静态IP地址并可隐藏用户真实IP地址的网络代理服务。此类代理服务通常使用高速光纤网络来提供稳定、高速的互联网体验。与动态IP代理相比,静态住宅IP代理的IP地址更稳定,被封的可能性更小,因此更受用户欢迎…...

linux系统宝塔服务器temp文件夹里总是被上传病毒php脚本

目录 简介 上传过程 修复上传漏洞 tmp文件夹总是被上传病毒文件如下图: 简介 服务器时不时的会发送短信说你服务器有病毒, 找到了这个tmp文件, 删除了之后又有了。 确实是有很多人就这么无聊, 每天都攻击你的服务器。 找了很久的原因, 网上也提供了一大堆方法,…...

HTML+CSS+PHP实现网页留言板功能(需要创建数据库)

话说前头&#xff0c;我这方面很菜滴。这是我网页作业的一部分。 1.body部分效果展示&#xff08;不包括footer&#xff09; 2、代码 2.1 leaving.php&#xff08;看到的网页&#xff09; <!DOCTYPE html> <html lang"en"> <head> <met…...

【谷歌】实用的搜索技巧

1、使用正确的谷歌网址 我们知道https://www.google.com是谷歌的网址。但根据国家,用户可能会被重定向到 google.fr(法国)或google.co.in(印度)。 最主要的URL——google.com是为美国用户准备的(或是针对全世界所有用户的唯一URL))。当你在谷歌上搜索时,了解这一点是相…...

打造完美启动页:关键策略与设计技巧

启动页&#xff08;Splash Screen&#xff09;设计是指在应用程序启动时&#xff0c;首先展示给用户的界面设计。这个界面通常在应用加载或初始化期间显示&#xff0c;其主要目的是为用户提供一个视觉缓冲&#xff0c;展示品牌标识&#xff0c;并减少用户在等待过程中的焦虑感。…...

电子书(chm)-加载JS--CS上线

免责声明: 本文仅做技术交流与学习... 目录 cs--web投递 html(js)代码 html生成chm工具--EasyCHM 1-选择powershell 模式 生成 2-选择bitsadmin模式生成 chm反编译成html cs--web投递 cs配置监听器--->攻击---->web投递---> 端口选择没占用的, URL路径到时候会在…...

理解HTTP请求格式

HTTP概念 HTTP全称HyperTextTransfer Protocol(超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议&#xff1b;HTTP是一个客户端&#xff08;用户&#xff09;和服务端&#xff08;网站&#xff09;之间请求和响应的标准。 HTTP 协议是以 ASCII 码传输&…...

差分数组汇总

本文涉及知识点 算法与数据结构汇总 差分数组 令 a[i] ∑ j : 0 i v D i f f [ i ] \sum_{j:0}^{i}vDiff[i] ∑j:0i​vDiff[i] 如果 vDiff[i1]&#xff0c;则a[i1…]全部 如果vDiff[i2]–,则a[i2…]全部–。 令11 < i2 &#xff0c;则&#xff1a; { a [ i ] 不变&…...

镇江网站排名公司/营销模式有哪些 新型

I will be kind to the weak. —————————————我將仁慈地對待弱者 I will be brave against the strong. ——————————我將勇敢地面對強敵 I will fight all who do wrong. ————————————我將毫無保留地對抗罪人 I will fight for those who…...

济南市卫健委最新热点问题/seo怎么刷排名

排名&#xff0c;在Excel中有着广泛的应用&#xff0c;可以通过命令或函数的方式来实现&#xff0c;但对于操作技巧&#xff0c;你真的掌握吗&#xff1f;一、命令排名&#xff08;排序&#xff09;。目的&#xff1a;对“销量”按从大到小的顺序排序。方法&#xff1a;1、选中…...

做网站的具体需求/江西百度推广开户多少钱

django.contrib.admin 管理模块中添加中文记录出错说明.From :http://www.selfcai.com.cn/?p482查看官方文档.确认是数据库编码问题:http://docs.djangoproject.com/en/1.1/ref/settings/#setting-DEFAULT_CHARSET1.查看本机mysql 数据库的default编码方式 mysql> sho…...

网站制作课程多少钱/武汉seo楚天

2017全国计算机二级VB考试操作题与答案二、简单应用题(1)【考点分析】本题考点有&#xff1a;命令按钮的Caption和Name属性&#xff0c;下拉式组合框的Caption、Name、List和ListCount属性&#xff0c;文本框的Text和Name属性&#xff0c;标签的Caption和Name属性&#xff0c;下…...

湘潭市建设工程质量监督站网站/查权重工具

什么是B/S架构的项目系统结构及开发流程&#xff1f; B/S 中文浏览器服务器英文BrowserServer 其实就是浏览器和服务器&#xff0c;简写成了B/S...

获取网站物理路径/培训心得体会300字

今天遇到一个很奇怪的的现象&#xff0c;在tabcontrol里切换到pagelayout时&#xff0c;程序会闪退&#xff0c;试了下之前的程序&#xff0c;没有问题&#xff0c;去网上搜了一下&#xff0c;也没人有这样的问题&#xff0c;然后就开始实验&#xff0c;添加一个控件&#xff0…...