设计要求:

制作一个LED数码管显示的秒表,用2位数码管显示时间,最小计时单位为“百毫秒”,计时范围0.1~9.9s。第一次按下并松开按键,开启计时功能;第二次按下并松开按键,停止计时,数码管显示当前计数值;第三次按下,秒表清零,等待下一次按下按键再一次开启计时功能。

外部硬件电路连接

程序设计

#include<reg52.h>sbit key = P3^7;unsigned char code table0[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1}; //共阴段码表(含点)unsigned char code table2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共阴段码表(不含点)//count1对小数点前变换次数进行计数判断,count2对小数点后变换次数进行计数判断,timer单次定时时间次数
unsigned char timer;
unsigned char count,num;void delay(unsigned char xms)
{unsigned char i, j;while(xms){i = 2;j = 239;do{while (--j);} while (--i);xms--;}}void t0_init()
{TMOD = 0x01;    //软件启动定时器T0,方式1 0000 0001IE = 0x82;      //EA=1,ET0=1,开总中断,开启定时器T0中断 1000 0001TH0 = 0x3c;     //设定初值TL0 = 0xb0;     //单次定时初值为50ms
}void main()
{t0_init();      //定时器初始化count = 0;num = 0;timer = 0;P0 = 0xbf;      //设置P0初始状态,显示0P2 = 0x3f;      //设置P2初始状态,显示0while(1){if(key == 0){delay(50);if(key == 1)    {count++;    //对按键按下次数进行计数switch(count){case 1:     //按下1次{TR0 = 1;}break;case 2:     //按下2次{TR0 = 0;}break;case 3:     //按下3次{count = 0;      //按键按下次数清零num = 0;        //计数器的计数值清零P0 = 0xbf;      //数码管值清零P2 = 0x3f;}break; default:{P0 = 0xbf;P2 = 0x3f;}break;}}} }
}void t0_func() interrupt 1
{TH0 = 0x3c;     //重装初值TL0 = 0xb0;if(timer < 2)  //50ms*2=0.1s{timer = timer +1;}else if(timer == 2)    //时间达到0.1s{timer = 0;  //将定时计数清零num++;P0 = table0[num / 10];P2 = table2[num % 10];}if(num == 99)   //计数器计数到99次后将计数值清零num = 0;}

基于51单片机——LED数码管秒表的制作相关推荐

  1. 基于51单片机的8*8LED显示屏设计制作的移动字幕

    基于51单片机的8*8LED显示屏设计制作的移动字幕 51单片机能实现很多功能,今天笔者介绍一种基于51单片机的8*8LED实现移动字幕,本文以"LOVE"移动字幕为例.笔者创建一 ...

  2. 基于51单片机的倒计时器秒表定时器数码管显示原理图方案设计

    系统的功能分析 (末尾附文件) 框架图: 原理图: 声光报警电路(低电平有效)设计 有源蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机.打印机.复印机.报警器.电子玩具.汽车电 ...

  3. 基于51单片机的数码管显示方案

    这一次给大家带来的项目是课堂作业级别的51单片机数码管显示,本次的项目着重于讲解原理,让大家明白单片机的io对于外界设备的控制是如何进行的. 共阳极和共阴极数码管的差异 (1)驱动方法的差异.一个数码 ...

  4. 基于51单片机的数码管闹钟设计

    系统功能:利用定时器实现时钟,时钟可以通过独立按键设置,设有一个闹钟,闹钟时间可通过按键进行设置,时钟界面和闹钟界面可通过按键切换,当时钟和闹钟时间相同,蜂鸣器响,提示闹钟时间到等. 此系统重点在于: ...

  5. 基于51单片机的数码录音放音系统设计

    摘  要 随着语言的处理技术在工业生产.交通.通信等方面的运用得到不断创新.数码录音放音系统已得到了越来越多的人的青睐,通过对多种录音放音系统的设计方案进行了比较和分析,本论文最终选定以STC89C5 ...

  6. 基于51单片机的数码时钟

    我是使用独立键盘控制,7位数码管显示来完成的数字时钟的显示部分,用蜂鸣器部分来完成声音的控制. 首先我是使用中断来完成该项目的时间调控和时间进位,并且在中断之中加入了声音调控的功能,与此同时,程序还一 ...

  7. 基于51单片机的数码管智能百叶窗

    设计要求:本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,用一台直流电机控制百叶窗叶片的旋转(正转/反转),用一个光敏电阻传感器测量室内光强度,并用两位数码管显示测量结果,设 ...

  8. 基于51单片机之数码管设计#扩展三位数码管电路,完成0-999递增或递减计数功能,递减间隔200ms左右

    这次给大家分享一个三位数码管实现0-999倒计时器 所需元器件如下: AT89C51芯片 *1 12MHz晶振 *1 33pF电容 *2 10uF电解电容 *1 10K电阻 *1 200Ω电阻 *21 ...

  9. 51单片机LED数码管

    LED显示器分为共阴极(发光二极管所有的阴极连接在一起)和共阳极(所有的阳极都连接在一起)两种. 共阴高电平有效 共阳低电平有效 char led[] = {0x3f,0x06,0x5b,0x4f,0 ...

最新文章

  1. 关于C#开发山寨操作系统,程序语言,浏览器,IDE,Office,Photoshop等大型程序的可行性歪论及意义...
  2. Redis第四集:redis的基本知识说明
  3. python 用途-python中的*和**的用途
  4. tcpdump抓两个网卡的包_tcpdump 抓包统计 分享助,请问用tcpdump抓包后,如何查看每个包...
  5. 7-42 整型关键字的散列映射 (25 分)(思路加详解)兄弟们 来呀 写题呀
  6. Sqring核心概念
  7. Java 底层知识:什么是 “桥接方法” ?
  8. 【英语学习】【WOTD】katzenjammer 释义/词源/示例
  9. 米家扫地机器人怎么加水_最省心的扫地机器人,米家扫地机器人1C:视觉动态导航实力强劲...
  10. Socket编程面试题
  11. Python-标准库(常用模块)
  12. php开发中控考勤机,中控考勤机
  13. xp启用计算机共享打印机,Win7如何共享xp的打印机
  14. Ubuntu连接不上网络问题的解决方法
  15. unity 三消游戏
  16. 登录企业邮箱imap服务器,企业邮箱IMAP客户端的同步设置
  17. 不知道怎么建设企业文化?这里有个案例给你!
  18. SSD固态硬盘优化方案,让新买的SSD速度不再慢
  19. JSon解析之JSonKit
  20. 2022第三届全国大学生网络安全精英赛练习题(5)

热门文章

  1. 企业管理的核心是什么?
  2. wordpress 手动更新方法
  3. 应急管理指挥中心大数据信息化管控平台建设方案(ppt可编辑)
  4. matlab的输入字符串接收,matlab字符串操作总结
  5. 年初离职季离职理由大图鉴!
  6. 渗透测试(1)- 信息收集来咯
  7. 渗透项目(八):IMF-1
  8. 鸿蒙生息 不朽凡人,不朽凡人
  9. JMeter函数自定义开发
  10. 光电技术与光纤基础期末复习笔记