基于51单片机的秒表设计—0.01精度、有提示音

基于51单片机的秒表设计

(仿真+程序+原理图+设计报告)

功能介绍

具体功能:

1.数码管显示,精度为0.01;

2.按键控制启动/停止,暂停/开始;

3.有一秒钟一次提示音(嘀嘀滴声,跟新闻联播倒计时一样),可按键控制打开/关闭;

​演示视频:

基于51单片机的秒表设计—有提示音

/************************************************************************************************** 
51单片机简易秒表
**************************************************************************************************/

#include <reg51.h>

#define false 0
#define true 1
#define uchar unsigned char	 //0-255
#define uint unsigned int	 		//0-65535
#define ulong unsigned long	//0-4294967295

sbit start_key = P3^0;	//启动
sbit pause_key = P3^1;	//暂停
sbit beep_key = P3^3;	//提示音

sbit start_led = P3^4;		//启动指示灯
sbit pause_led = P3^5;		//暂停指示灯
sbit beep_led = P3^6;		//喇叭指示灯
sbit beep = P3^7;				//喇叭

uchar disCode[10] = {0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09}; //段码 0~9
uchar locCode[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};					//位码

void displayTime(void);	 //刷新时间显示
void disPlay(uchar num, uchar loc);	 //数码管显示韩函数

void Delay1ms(unsigned int n);	//延时1ms

uchar state;	//状态:0-停止,1-启动,2-暂停
ulong ms = 0;	//存储毫秒值
uchar fen = 0;	//分钟数
uchar miao;	//秒数
uchar ms2;	//毫秒数的10位

bit isBeep = false;	//是否开启蜂鸣器

/******************************************************************************* 
* 函数名        : T0_INT
* 函数功能        : T0定时器中断10ms
* 输入          : 无
* 输出       : 无
*******************************************************************************/ 
void T0_INT(void)  interrupt 1
{ 
	TL0= (65536-9000)/256;	
	TH0= (65536-9000)%256;
	ms ++;
}

/******************************************************************************* 
* 函数名         : main
* 函数功能         : 主函数
* 输入          : 无
* 输出       : 无
*******************************************************************************/  
void main(void)
{
	TMOD=0x61; //0110 0001	//方式一
	
	TL0= (65536-10000)/256;		// 10ms
	TH0= (65536-10000)%256;
	TR0=1;		//开启T0
	//ET0=1;		//T0中断允许
	
	EA=1;	//总中断开启
	

	start_led = 0;		
	pause_led = 0;		
	beep_led = 0;		
	
	while(1)
	{
		displayTime();	 //刷新时间显示
			
		//检测启动、停止按钮
		if(start_key == 0)	 //按下了启动、停止按钮
		{
			Delay1ms(10);	//延时消抖
			if(start_key == 0)
			{
				if(state == 0)
				{
					state = 1;	
					ms = 0;		
					fen = 0;	
					ET0 = 1;		
					start_led = 1;	
				}else{
					state = 0;		
					ET0 = 0;		
					start_led = 0;	
					pause_led = 0;	
				}
			   	while(start_key == 0) displayTime();	
			}
		}
		
		//检测暂停按钮,按下暂停,再次按下继续
		if(state != 0 && pause_key == 0)	
		{
			Delay1ms(10);	
			if(pause_key == 0)
			{
				if(state == 2)	
				{
					state = 1;	
					pause_led = 0;	
					ET0 = 1;		
				}else{
					state = 2;
					pause_led = 1;	
					ET0 = 0;		
				}
			   	while(pause_key == 0) displayTime();	
			}
		}
		
		//检测声音按钮,按键按下开始报警
		if(beep_key == 0)	
		{
			Delay1ms(10);	
			if(beep_key == 0)
			{
				isBeep = ~isBeep;	
				beep_led = isBeep;	
			  while(beep_key == 0) displayTime();	
			}
		}
		if(fen==10)//分钟等于10开始报警	
		{
				isBeep = ~isBeep;	
				beep_led = isBeep;	
			}
	}
}

硬件设计

使用元器件:

单片机:STC89C51;

(注意:单片机是通用的,无论51还是52、无论stc还是at都一样,引脚功能都一样。程序也是一样的。)

9*15万用板;共阴极数码管*6

40脚IC座;10k电阻;

2k电阻;103排阻;

10uf电解电容;12M晶振;

30pf电容*2;470uf电容;

0.1uf电容;Led灯*14;

按键*4;自锁开关;

导线:若干;

流程图:

设计资料

01 仿真图

本设计使用proteus8.9版本设计,资料里有安装教程,无需担心!具体如图!

02 原理图

本系统原理图采用Altium Designer19设计,具体如图!

03 程序

本设计使用软件keil5版本编程设计,资料里有安装教程,无需担心!具体如图!

04 设计报告

一万字设计报告,具体如下!

05 设计资料

        资料获取请关注同名公众号,全部资料包括仿真源文件 、程序(含注释)、AD原理图、开题报告、参考论文、流程图、讲解视频等。具体内容如下,全网最全! !

资料获取请观看前面演示视频!

点赞分享一起学习成长。

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

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

相关文章

金三银四面试题(二十):单例模式知多少?

设计模式也是面试中的热门考题&#xff0c;基本这个部分都是问问你知不知道XXX设计模式&#xff0c;有什么用&#xff0c;优缺点&#xff0c;然后再现场手写一个demo。很多时候是和spring一起考的&#xff0c;问问你知不知道spring框架用了哪些设计模式。今天我们来先看看单例模…

信息系统项目管理师——成本管理计算专题(一)

常见考点如下: ①问项目预算、BAC、成本基准、应急储备、管理储备的含义及它们之间的区别 ②给出成本基准和管理储备求项目预算&#xff0c;或者给出预算求成本基准等等 ③看图找 PV、AC、EV、SV、CV、BAC、EAC、ETC等 ④根据题干求项目的PV、AC、EV、SV、CV、BAC、EAC、ETC等 …

骑行听音乐用什么运动耳机?五款宝藏机型汇总推荐

热爱骑行的你们&#xff0c;是否曾为选购一款合适的运动蓝牙耳机而纠结&#xff1f;市面上品牌众多、功能各异的运动耳机&#xff0c;究竟哪款才是你的运动良伴&#xff1f;今天&#xff0c;我就来聊聊运动蓝牙耳机的选购要点&#xff0c;并为你推荐几款高性价比的运动蓝牙耳机…

OMS系统集成案例分享:数环通轻松实现OMS系统对接

在数字化浪潮席卷全球的今天&#xff0c;订单管理系统&#xff08;OMS&#xff09;作为连接企业与客户的桥梁&#xff0c;正逐渐成为企业提升订单处理效率、优化客户体验的关键。然而&#xff0c;由于企业内部系统的复杂性和多样性&#xff0c;OMS系统与其他业务系统的集成往往…

OCR技术可以通过识别身份证区分性别么?

可以&#xff0c;只需将它识别成结构化的数据&#xff0c;然后根据性别进行筛选即可。具体操作方法如下&#xff1a; 1、到金鸣识别官网下载安装金鸣表格文字识别电脑客户端。 2、打开安装好的金鸣表格文字识别电脑客户端。 3、点击“添加文件”&#xff0c;在弹出的对话框中选…

【C语言回顾】数组

前言1. 数组2. 一维数组2.1 一维数组的创建2.2 一维数组的初始化2.3 一维数组的使用2.3.1 一维数组的下标2.3.2 一维数组的输入和输出 2.4 一维数组在内存中的存储 3. 二维数组3.1 二维数组的创建3.2 二维数组的初始化3.3 二维数组的使用3.3.1 二维数组的下标3.3.2 二维数组的输…

Lesson2: 算法的时间复杂度和空间复杂度

【本节目标】 1. 算法效率 2. 时间复杂度 3. 空间复杂度 4. 常见时间复杂度以及复杂度 oj 练习 1.算法效率 1.1 如何衡量一个算法的好坏 如何衡量一个算法的好坏呢&#xff1f;比如对于以下斐波那契数列&#xff1a; long long Fib(int N) {if(N < 3)return 1;retu…

【模板】差分

本题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 题目&#xff1a; 样例&#xff1a; 输入 3 2 1 2 3 1 2 4 3 3 -2 输出 5 6 1 思路&#xff1a; 一直以来&#xff0c;我总是不太理解差分和树状数组操作区别。 现在摸了一下开始有所理解了。 差分和树状数组的区别…

houdini assemble connectivity partion

官方文档 *****分开打包 非连续物体 各部份 打组 操作 partion connectivity assemble 三个物体&#xff0c;每个物体内的点&#xff0c;面线连接在一起&#xff0c;但每个物体之间分离 connectivity 查看点面数据属性&#xff1a;在原有属性上的变化 connectivity 对将归…

如何优化邮箱Webhook API发送邮件的性能?

邮箱Webhook API发送邮件的流程&#xff1f;怎么用邮箱API发信&#xff1f; 高效、稳定的邮箱Webhook API发送邮件功能对于企业的日常运营至关重要。随着业务量的增长&#xff0c;如何优化邮箱Webhook API发送邮件的性能。AokSend将从多个方面探讨如何提升的效率。 邮箱Webho…

访问者模式【行为模式C++】

1.概述 访问者模式是一种行为设计模式&#xff0c; 它能将算法与其所作用的对象隔离开来。 访问者模式主要解决的是数据与算法的耦合问题&#xff0c;尤其是在数据结构比较稳定&#xff0c;而算法多变的情况下。为了不污染数据本身&#xff0c;访问者会将多种算法独立归档&…

画板探秘系列:创意画笔第一期

前言 我目前在维护一款功能强大的开源创意画板。这个画板集成了多种创意画笔&#xff0c;可以让用户体验到全新的绘画效果。无论是在移动端还是PC端&#xff0c;都能享受到较好的交互体验和效果展示。并且此项目拥有许多强大的辅助绘画功能&#xff0c;包括但不限于前进后退、…

抖音24年4月16新规发布,“有效粉丝”少于500无法带货!

我是王路飞。 2024年4月16日&#xff0c;抖音发布了堪称今年“最严新规”。 调整了个人号视频/图文电商带货权限&#xff0c;个人号开通视频/图文的商品推广要求&#xff0c;粉丝要求从“粉丝量>1000”调整为"有效粉丝量>500"。 看似对粉丝数量的要求减少了…

Dynamics 365: 给D365设置一个黑色主题

在领英上看到一个好玩的东西&#xff0c;给D365可以设置暗黑的主题&#xff0c;但是这个目前我试了一下&#xff0c;仍然需要适配&#xff0c;很多地方显示的还是白色的&#xff0c;比如dashbaord里。 具体设置方法&#xff1a; 1. 设置你的D365为New Look新外观 2. 在D365的…

van-uploader 在app内嵌的webview中的一些坑

问题&#xff1a; 部分版本在ios 中没有问题&#xff0c;但是安卓中不触发图片选择和拍照&#xff08;之前是可以的&#xff0c;可能是没有锁定版本&#xff0c;重新发版导致的&#xff09;。在ios中下拉文案是英文&#xff0c;html配置lang等于 zh 也没有用&#xff0c;ios里…

护眼灯什么价位的好?五款性价比高的学生用台灯推荐!

在为学生选择护眼灯时&#xff0c;价格与性价比常常是家长们考虑的重点。价格并非唯一标准&#xff0c;但合适的价位确实能够让我们找到性价比高的产品。今天&#xff0c;我将为大家推荐五款特别适合学生使用的台灯&#xff0c;它们不仅价格适中&#xff0c;而且性能优越&#…

Windows电脑使用Everything+cpolar搭建在线资料库并实现无公网IP管理文件

文章目录 推荐前言1.软件安装完成后&#xff0c;打开Everything2.登录cpolar官网 设置空白数据隧道3.将空白数据隧道与本地Everything软件结合起来总结 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家…

【办公类-21-15】 20240410三级育婴师 712道单选题(题目与答案合并word)

作品展示 背景需求&#xff1a; 前文将APP题库里的育婴师题目下载到EXCEL&#xff0c;并进行手动整理 【办公类-21-13】 2024045三级育婴师 721道单选题 UIBOT下载整理-CSDN博客文章浏览阅读451次&#xff0c;点赞10次&#xff0c;收藏3次。【办公类-21-13】 2024045三级育婴…

【学习】软件信创测试中,如何做好兼容性适配

在软件信创测试的领域中&#xff0c;兼容性适配是至关重要的一环。如何确保软件在不同的操作系统、硬件设备和软件环境中稳定运行&#xff0c;是每个测试人员需要面对的挑战。本文将从几个方面探讨如何做好兼容性适配&#xff0c;以提高软件的稳定性和用户体验。 首先&#xf…

STM32学习和实践笔记(12):蜂鸣器实验

蜂鸣器主要分为两种&#xff0c;一种是压电式的无源蜂鸣器&#xff0c;一种是电磁式的有源蜂鸣器。 有源和无源是指其内部有没有振荡器。 无源的没有内部振荡器&#xff0c;需要输入1.5-5KHZ的音频信号来驱动压电蜂鸣片发声。 有源的内部有振荡器&#xff0c;因此只需要供给…