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

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

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

点赞分享一起学习成长。

http://www.jsqmd.com/news/130731/

相关文章:

  • 于静谧中滋养身心,让疗养成为生命的重启键
  • C语言学习——指针部分知识点归纳
  • 线代强化NO20|矩阵的相似与相似对角化|综合运用 - 实践
  • 93 年 32 岁 IT 运维失业了!甲方不续约项目解散,你们有同款经历吗?
  • 东方博宜OJ 1694:装信封问题 ← 递归
  • 2025年论文写作终极指南:8款免费AI神器,20分钟速成初稿,全学科覆盖!
  • MyListing – 目录与列表 WordPress 主题
  • 直线模组:工业自动化的精度心脏
  • 基于90分钟Maven项目实战入门——邮件群发工具(模拟版)
  • Web 漏洞扫描入门的集合!2025 十大工具详细拆解,你用过哪几个?
  • AI元人文构想:从价值对齐到意义共生的范式革命与文明演进新路径(人机协作)
  • 1688商品采集API实战指南:从接入到数据落地全流程
  • 低代码平台核心功能拆解:拖拽式开发与可视化配置详解
  • 【学习笔记】《道德经》第22章
  • temu,shein销量提升秘籍:测评技巧与风险规避全解析
  • python in visual studio 2022: for pip installing packages
  • 谁懂 30 + 职场人的无奈?网安行业越老越吃香,告别 35 岁焦虑,282G 学习资源速码!
  • Java 爬虫对百科词条分类信息的抓取与处理
  • OBS直播教程:OBS如何添加歌词显示?OBS怎么把歌词放上去?
  • 软件工程课程学期总结与收获
  • 云南抖音服务商慧多派实力机构,不能错过!
  • LIS2DW12三轴加速度传感器原理图设计,已量产(加速度传感器)
  • 失业 3 个月投 127 份简历?网安零成本转行月薪 12K,你们敢试吗?
  • 【路径规划】基于RRT APF RRT+APF RRT星+APF实现机器人路径规划附matlab代码
  • AJAX本质与核心概念
  • 比话和其他降AI率工具有什么不同,为什么能把知网AI率降低到15%
  • 中山SEO公司:如何在2026年拥抱AI技术,打造差异化竞争优势
  • 满足!** 豆角鸡蛋西红柿捞面 **
  • python执行动态代码方案
  • java计算机毕业设计无人超市支付系统设计与实现 智慧门店自助结算系统设计与实现 无人零售扫码支付平台开发实战