news 2026/4/16 17:35:29

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于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原理图、开题报告、参考论文、流程图、讲解视频等。具体内容如下,全网最全! !

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

点赞分享一起学习成长。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 12:21:27

Java小白求职互联网大厂:从Spring Boot到微服务架构的面试旅程

场景&#xff1a;互联网大厂Java小白面试 角色&#xff1a; 面试官&#xff1a;严肃专业&#xff0c;经验丰富。求职者&#xff1a;超好吃&#xff0c;Java小白。 第一轮&#xff1a;基础与核心技术 面试官&#xff1a;我们先从基础开始。你对Java SE 8的新特性了解多少&#x…

作者头像 李华
网站建设 2026/4/15 15:01:12

PXIe-1435图像采集设备

PXIe-1435 图像采集设备是一款高性能工业图像采集模块&#xff0c;适用于高速、高精度图像采集和处理&#xff0c;常用于机器视觉和自动化检测系统。PXIe-1435 图像采集设备 — 产品特点与应用领域产品特点&#xff1a;高分辨率采集&#xff1a;支持多种分辨率设置&#xff0c;…

作者头像 李华
网站建设 2026/4/16 10:56:28

神经网络:教电脑像人脑一样思考

生活中的例子 01人脸识别&#xff1a;手机通过你的脸部特征来解锁。生活中的例子 02自动驾驶&#xff1a;汽车识别红绿灯和行人&#xff0c;决定是停还是走。生活中的例子 03ChatGPT&#xff1a;理解你输入的文字&#xff0c;并像真人一样回答你。新手入门指南COPY嘿&#xff0…

作者头像 李华
网站建设 2026/4/16 9:02:39

Napi::Array

Napi::ArrayNapi::Array类继承自Napi::Object类。数组是 JavaScript 数组的原生表示。Napi::Array是对表示 JavaScript 数组的napi_value的包装。Napi::TypedArray和Napi::ArrayBuffer分别对应 JavaScript 中的数据类型&#xff08;如Napi::Int32Array和Napi::ArrayBuffer&…

作者头像 李华
网站建设 2026/4/16 10:58:56

盐酸-N-取代苯胺类泄漏后应急处置,关键步骤要记牢!

盐酸-N-取代苯胺类泄漏后应急处置&#xff0c;关键步骤要记牢&#xff01;在精细化工、制药及染料合成等行业&#xff0c;盐酸-N-取代苯胺类物质是常见的中间体。这类化合物通常兼具毒性和腐蚀性&#xff0c;一旦发生泄漏&#xff0c;若处置不当&#xff0c;极易对人员健康、生…

作者头像 李华
网站建设 2026/4/16 9:18:58

丙酸异丙酯泄漏后应急处置办法

丙酸异丙酯泄漏后应急处置&#xff1a;守护安全的关键防线在化工领域&#xff0c;丙酸异丙酯&#xff08;Isopropyl propionate&#xff0c;CAS号637 - 78 - 5&#xff09;作为一种中闪点液体&#xff08;32137&#xff09;&#xff0c;其泄漏风险不容忽视。当不幸遭遇泄漏事件…

作者头像 李华