51单片机简易时钟闹钟八位数码管显示仿真( proteus仿真+程序+原理图+报告+讲解视频)

51单片机简易时钟闹钟八位数码管显示仿真( proteus仿真+程序+原理图+报告+讲解视频)

  • 1.主要功能:
  • 2.仿真
  • 3. 程序代码
  • 4. 原理图
    • 元器件清单
  • 5. 设计报告
  • 6. 设计资料内容清单&&下载链接
    • 资料下载链接(可点击):

51单片机简易时钟闹钟八位数码管显示仿真( proteus仿真+程序+原理图+报告+讲解视频)

仿真图proteus7.8及以上

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0046

1.主要功能:

本设计旨在设计一个基于51单片机的多功能数字时钟闹钟proteus仿真设计,可以显示时、分、秒,并且可以设置时间和闹钟。

1、采用单片机内部定时器实现计时;

2、采用八位数码管显示时分秒;

3、可对时分秒分别进行加减设置,设置时对应数码管闪烁;

4、可设置闹钟,并且到时间后蜂鸣器每隔1s响一次,持续6s;

5、闹钟鸣响时,可手动消除闹钟。

需注意仿真中51单片机芯片是通用的,AT89C51,AT89C52都是51单片机的具体型号,内核是兼容的。无论stc还是at都一样,引脚功能都是一样的,程序也是一样的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。

以下为本设计资料展示图:

2.仿真

开始仿真

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。开始仿真后数码管显示时间00:00:00。时间逐秒递增。

img

显示时间的情况下,按下设置键进入设置模式,时钟闪烁表示当前正在设置时钟,再按下设置键进入分钟设置模式,分钟闪烁,再按下设置键进入秒钟设置模式,秒钟闪烁。设置完秒钟再按设置退出设置模式,数码管正常显示。

按下功能切换按键显示闹钟时间。闹钟时间显示下按下设置键进入闹钟设置模式,时钟闪烁表示当前正在设置闹钟时钟,再按下设置键进入闹钟分钟设置模式,闹钟分钟闪烁,再按下设置键进入闹钟秒钟设置模式,闹钟秒钟闪烁。设置完秒钟再按设置退出设置模式,数码管正常显示闹钟时间。

闹钟时间到,蜂鸣器闹铃,蜂鸣器每隔1s响一次,持续6s,可以通过按键关停闹钟。

img

3. 程序代码

使用keil4或者keil5编译,代码有注释,可以结合报告理解代码含义。

img

/*******************************************************************************
* 函 数 名       : main
* 函数功能		 : 主函数
* 输    入       : 无
* 输    出    	 : 无
*******************************************************************************/
void main()
{	Timer0Init();  //定时器0初始化xian1[0]=shi/10;//计算到显存   时钟的十位xian1[1]=shi%10;// 时钟的个位xian1[3]=fen/10;// 分钟的十位xian1[4]=fen%10;// 分钟的个位xian1[6]=miao/10;  // 秒钟的十位xian1[7]=miao%10;  // 秒钟的个位xian2[0]=shi0/10;xian2[1]=shi0%10;xian2[3]=fen0/10;xian2[4]=fen0%10;xian2[6]=miao0/10;xian2[7]=miao0%10;while(1){if(mode)display2();//显示闹钟elsedisplay1();//显示时间if(!key1 &&(cixu==0))	//功能切换{mode=!mode;while(!key1);}if(!key2)//选择{if(cixu<3)cixu++;elsecixu=0;while(!key2);}if(!key3)		//加{if(mode==0){switch(cixu){case 1:if(shi<23)shi++; //时钟+break;case 2:if(fen<59)fen++;  //分钟+break;case 3:if(miao<59)miao++;	    //秒钟+}}else{switch(cixu){case 1:if(shi0<23)shi0++;	   //闹钟时钟+break;case 2:if(fen<59)fen0++;		//闹钟分钟+break;case 3:if(miao0<59)miao0++;	  //秒钟分钟+}}xian1[0]=shi/10;//计算到显存xian1[1]=shi%10;xian1[3]=fen/10;xian1[4]=fen%10;xian1[6]=miao/10;xian1[7]=miao%10;xian2[0]=shi0/10;xian2[1]=shi0%10;xian2[3]=fen0/10;xian2[4]=fen0%10;xian2[6]=miao0/10;xian2[7]=miao0%10;while(!key3);}if(!key4)		//减{if(mode==0){switch(cixu){case 1:if(shi>0)shi--;break;case 2:if(fen>0)fen--;break;case 3:if(miao>0)miao--;}}else{switch(cixu){case 1:if(shi0>0)shi0--;break;case 2:if(fen0>0)fen0--;break;case 3:if(miao0>0)miao0--;}}xian1[0]=shi/10;//计算到显存xian1[1]=shi%10;xian1[3]=fen/10;xian1[4]=fen%10;xian1[6]=miao/10;xian1[7]=miao%10;xian2[0]=shi0/10;xian2[1]=shi0%10;xian2[3]=fen0/10;xian2[4]=fen0%10;xian2[6]=miao0/10;xian2[7]=miao0%10;while(!key4);}if(!key5)	//停止响铃{beep_flag=0;beep=1;while(!key5);}if((shi==shi0)&&(fen==fen0)&&(miao==miao0))//判断响铃{beep_flag=1;beep=0;}}		
}

4. 原理图

原理图使用AD绘制,可供实物参考,仿真不同于实物,经验不足不要轻易搞实物。

img

Proteus仿真和实物作品的区别:

1.运行环境:Proteus仿真是在计算机上运行的,而实物则是在硬件电路板上运行。

2.调试方式:在Proteus仿真中,可以方便地进行单步调试和观察变量值的变化,而在实物中则需要通过调试器或者串口输出等方式进行调试。

电路连接方式:在Proteus仿真中,可以通过软件设置进行电路连接的修改,而在实物中则需要通过硬件电路板和连接线进行修改。

3.运行速度:Proteus仿真通常比实物运行速度快,因为仿真是基于计算机运行的,而实物则需要考虑电路板上的物理限制和器件的响应时间等因素。

4.功能实现:在Proteus仿真中,可以通过软件设置实现不同的功能,而在实物中则需要根据电路设计和器件的性能进行实现。

元器件清单

元件 型号 数量
单片机 AT89C51 1
电容 10uf 1
电容 30pf 2
晶振 12MHZ 1
电阻 10k 1
按钮 6
数码管 8位共阴 1
电阻 1k 1
三极管 PNP 1
蜂鸣器 有源 1
排阻 10k 1

电源部分
排针 2P 1
电容 0.1uf 2
电容 100uf 2
稳压器 7805 1

5. 设计报告

6600+字设计报告,内容包含设计框图,引言,硬件设计介绍,软件设计介绍,仿真调试,总结和参考文献。

img

6. 设计资料内容清单&&下载链接

资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。

0、常见使用问题及解决方法–必读!!!!

1、仿真图

2、程序源码

3、开题报告

4、原理图

5、功能要求

6、元器件清单

7、设计报告

8、软硬件流程框图

9、讲解视频

Altium Designer 软件资料

KEIL软件资料

Proteus软件资料

单片机学习资料

答辩技巧

设计报告常用描述

鼠标双击打开查找更多51 STM32单片机课程毕业设计.url

img

资料下载链接(可点击):

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

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

相关文章

腾讯云网站备案详细流程_审核时间说明

腾讯云网站备案流程先填写基础信息、主体信息和网站信息&#xff0c;然后提交备案后等待腾讯云初审&#xff0c;初审通过后进行短信核验&#xff0c;最后等待各省管局审核&#xff0c;前面腾讯云初审时间1到2天左右&#xff0c;最长时间是等待管局审核时间&#xff0c;网站备案…

选择最适合您的Bug管理软件:市场比较与推荐

“Bug管理软件哪家好&#xff1f;市场上有许多优秀的Bug管理系统品牌如&#xff1a;Zoho Projects、JIRA、Redmine、Bugzilla、MantisBT。” 一款高效的Bug管理系统可以帮助团队更有效地发现、记录和解决软件中的问题&#xff0c;从而提高产品质量和用户满意度。本文将为您介绍…

Java 复习笔记 - 面向对象篇

文章目录 一&#xff0c;面向对象概述二&#xff0c;类和对象&#xff08;一&#xff09;类和对象的概述&#xff08;二&#xff09;定义类的补充注意事项 三&#xff0c;封装四&#xff0c;就近原则和this关键字&#xff08;一&#xff09;就近原则&#xff08;二&#xff09;…

自学Python01-创建文件写入内容

此处省去安装和前言&#xff0c;需要两个东西 一个去下载安装python官方库 Welcome to Python.org 一个是编译器pycharm PyCharm 安装教程&#xff08;Windows&#xff09; | 菜鸟教程 PyCharm: the Python IDE for Professional Developers by JetBrains 第一节 练习print…

记录--移动端的双击事件好不好用?

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 前言 2023年了&#xff0c;我不允许还有人不会自己实现移动端的双击事件。 过来&#xff0c;看这里&#xff0c;不足 50 行的代码实现的双击事件。 听笔者娓娓道来。 dblclick js原生有个dblclick双击…

UDP的可靠性传输

UDP系列文章目录 第一章 UDP的可靠性传输-理论篇&#xff08;一&#xff09; 第二章 UDP的可靠性传输-理论篇&#xff08;二&#xff09; 文章目录 UDP系列文章目录前言1.TCP 和UDP格式对比2.UDP分片原理3.UDP 传输层应该注意问题4.MTU5.UDP 分片机制设计重点 一、ARQ协议什么…

【PowerQuery】PowerQuery导入JSON数据

Json数据是目前使用的最为频繁和广泛的一种数据交换格式,JSON的全称为JavaScript Object Notation。Json 主要用于在互联网的消息的数据交换信息传递,他的格式与XML有什么区别呢?为什么不用XML,用Json有啥好处呢?我们接下来讨论下Json相比XML的优势: XML传递的数据过多服…

手写RPC框架--2.介绍Zookeeper

RPC框架-Gitee代码(麻烦点个Starred, 支持一下吧) RPC框架-GitHub代码(麻烦点个Starred, 支持一下吧) 该项目的RPC通信将采用NettyZookeeper&#xff0c;所以会在前两章介绍使用方法 介绍Zookeeper Zookeepera.概述1) 数据模型2) Watcher机制 b.安装和基本操作1) Java操作zooke…

16字节协议的串口通信

1.协议要求 协议为帧传输&#xff0c;一共16字节。主要是2字节的固定帧头 EB 90&#xff0c;2字节的帧计数(用来计数发出的帧),10字节的数据和2字节的校验位 帧头&#xff1a;2字节&#xff0c;固定值 8’HEB、8’H90 帧计数&#xff1a;2字节&#xff0c;用来说明发出去帧是…

Netty服务端启动的整体流程-基于源码4.1.96Final分析

Netty采用的是主从Reactor多线程的模型&#xff0c;参考Scalable IO in Java&#xff0c;但netty的subReactor为一个组 一、从FileServer服务器示例入手 public final class FileServer {static final boolean SSL System.getProperty("ssl") ! null;// Use the …

【笔记】软件测试的艺术

软件测试的心理学和经济学 测试是为发现错误而执行程序的过程&#xff0c;所以它是一个破坏性的过程&#xff0c;测试是一个“施虐”的过程。 软件测试的10大原则 1、测试用例需要对预期输出的结果有明确的定义 做这件事的前提是能够提前知晓需求和效果图&#xff0c;如果不…

Linux 操作系统实战视频课 - GPIO 基础介绍

文章目录 一、GPIO 概念说明二、视频讲解沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将讲解 GPIO 。 一、GPIO 概念说明 ARM 平台中的 GPIO(通用输入/输出)是用于与外部设备进行数字输入和输出通信的重要硬件接口。ARM 平台的 GPIO 特性可以根据具体的芯…

C++11新特性① | C++11 常用关键字实战详解

目录 1、引言 2、C11 新增关键字详解 2.1、auto 2.2、override 2.3、final 2.4、nullptr 2.5、使用delete阻止拷贝类对象 2.6、decltype 2.7、noexcept 2.8、constexpr 2.9、static_assert VC常用功能开发汇总&#xff08;专栏文章列表&#xff0c;欢迎订阅&#xf…

LeetCode 剑指 Offer 10- I. 斐波那契数列

LeetCode 剑指 Offer 10- I. 斐波那契数列 题目描述 写一个函数&#xff0c;输入 n &#xff0c;求斐波那契&#xff08;Fibonacci&#xff09;数列的第 n 项&#xff08;即 F(N)&#xff09;。斐波那契数列的定义如下&#xff1a; F(0) 0, F(1) 1 F(N) F(N - 1) F(N - …

Unity项目包体优化经验方法论(Android平台)

前言 本篇文章主要讲解对于Unity Android平台也就是APK包体的优化经验&#xff0c;使用哪些工具能够更加便利的定位资源重灾区。本篇讲解的方法中对于Unity资源使用的AssetBundle的方式&#xff0c;如果使用addressable或其他资源管理方式&#xff0c;我还不是很清楚是否适用&…

使用pyenv安装python缓慢或无法安装

使用pyenv安装python缓慢或无法安装 这一定程度上和网络情况有关&#xff0c;下面提供几个常见方法&#xff1a; 关闭 VPN 后重新安装使用管理员权限打开命令窗口后安装如下 手动安装 pyenv 在执行 pyenv install --- 命令的时候&#xff0c;会连接远程库&#xff0c;将要安…

matlab使用教程(28)—微分方程(ODE)求解常见问题

1.非负 ODE 解 本博客说明如何将 ODE 解约束为非负解。施加非负约束不一定总是可有可无&#xff0c;在某些情况下&#xff0c;由于方程的物理解释或解性质的原因&#xff0c;可能有必要施加非负约束。仅在必要时对解施加此约束&#xff0c;例如不这样做积分就会失败或者解将不…

springboot项目中application.properties无法变成小树叶问题解决

1.检查我们的resources目录的状态&#xff0c;看看是不是处在普通文件夹的状态&#xff0c;如果是的话&#xff0c;我们需要重新mark一下 右键点击文件夹&#xff0c;选择mark directory as → resources root 此时我们发现配置文件变成了小树叶 2.如果执行了上述方法还是不行…

智能手机收入和出货量双双下滑,造车成本不断增长,小米集团仍面临风险

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 华尔街分析师对小米集团第二季度的业绩预测 在8月29日小米集团&#xff08;01810&#xff09;公布其2023年第二季度财报之前&#xff0c;华尔街分析师曾预测该公司第二季度的业绩将超出2023年第一季度的业绩。 根据S&P …

uniapp点击事件在小程序中无法传参

这个问题很是神奇&#xff0c;第一次遇到。在h5中&#xff0c;点击事件可以正常传参&#xff0c;打包小程序后确失效了。 修改&#xff1a;for循环中的key&#xff0c;使用 index就好了