基于51单片机——LED数码管秒表的制作
设计要求:
制作一个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数码管秒表的制作相关推荐
- 基于51单片机的8*8LED显示屏设计制作的移动字幕
基于51单片机的8*8LED显示屏设计制作的移动字幕 51单片机能实现很多功能,今天笔者介绍一种基于51单片机的8*8LED实现移动字幕,本文以"LOVE"移动字幕为例.笔者创建一 ...
- 基于51单片机的倒计时器秒表定时器数码管显示原理图方案设计
系统的功能分析 (末尾附文件) 框架图: 原理图: 声光报警电路(低电平有效)设计 有源蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机.打印机.复印机.报警器.电子玩具.汽车电 ...
- 基于51单片机的数码管显示方案
这一次给大家带来的项目是课堂作业级别的51单片机数码管显示,本次的项目着重于讲解原理,让大家明白单片机的io对于外界设备的控制是如何进行的. 共阳极和共阴极数码管的差异 (1)驱动方法的差异.一个数码 ...
- 基于51单片机的数码管闹钟设计
系统功能:利用定时器实现时钟,时钟可以通过独立按键设置,设有一个闹钟,闹钟时间可通过按键进行设置,时钟界面和闹钟界面可通过按键切换,当时钟和闹钟时间相同,蜂鸣器响,提示闹钟时间到等. 此系统重点在于: ...
- 基于51单片机的数码录音放音系统设计
摘 要 随着语言的处理技术在工业生产.交通.通信等方面的运用得到不断创新.数码录音放音系统已得到了越来越多的人的青睐,通过对多种录音放音系统的设计方案进行了比较和分析,本论文最终选定以STC89C5 ...
- 基于51单片机的数码时钟
我是使用独立键盘控制,7位数码管显示来完成的数字时钟的显示部分,用蜂鸣器部分来完成声音的控制. 首先我是使用中断来完成该项目的时间调控和时间进位,并且在中断之中加入了声音调控的功能,与此同时,程序还一 ...
- 基于51单片机的数码管智能百叶窗
设计要求:本设计以MCS-51系列单片机为核心,采用常用电子器件设计,一个电源开关,用一台直流电机控制百叶窗叶片的旋转(正转/反转),用一个光敏电阻传感器测量室内光强度,并用两位数码管显示测量结果,设 ...
- 基于51单片机之数码管设计#扩展三位数码管电路,完成0-999递增或递减计数功能,递减间隔200ms左右
这次给大家分享一个三位数码管实现0-999倒计时器 所需元器件如下: AT89C51芯片 *1 12MHz晶振 *1 33pF电容 *2 10uF电解电容 *1 10K电阻 *1 200Ω电阻 *21 ...
- 51单片机LED数码管
LED显示器分为共阴极(发光二极管所有的阴极连接在一起)和共阳极(所有的阳极都连接在一起)两种. 共阴高电平有效 共阳低电平有效 char led[] = {0x3f,0x06,0x5b,0x4f,0 ...
最新文章
- 关于C#开发山寨操作系统,程序语言,浏览器,IDE,Office,Photoshop等大型程序的可行性歪论及意义...
- Redis第四集:redis的基本知识说明
- python 用途-python中的*和**的用途
- tcpdump抓两个网卡的包_tcpdump 抓包统计 分享助,请问用tcpdump抓包后,如何查看每个包...
- 7-42 整型关键字的散列映射 (25 分)(思路加详解)兄弟们 来呀 写题呀
- Sqring核心概念
- Java 底层知识:什么是 “桥接方法” ?
- 【英语学习】【WOTD】katzenjammer 释义/词源/示例
- 米家扫地机器人怎么加水_最省心的扫地机器人,米家扫地机器人1C:视觉动态导航实力强劲...
- Socket编程面试题
- Python-标准库(常用模块)
- php开发中控考勤机,中控考勤机
- xp启用计算机共享打印机,Win7如何共享xp的打印机
- Ubuntu连接不上网络问题的解决方法
- unity 三消游戏
- 登录企业邮箱imap服务器,企业邮箱IMAP客户端的同步设置
- 不知道怎么建设企业文化?这里有个案例给你!
- SSD固态硬盘优化方案,让新买的SSD速度不再慢
- JSon解析之JSonKit
- 2022第三届全国大学生网络安全精英赛练习题(5)