0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于51单片机秒表计时

科技绿洲 来源:香蕉1373 作者:香蕉1373 2023-09-11 09:48 次阅读

51单片机秒表计时,四位数码管显示。上电前显示00.00,一共2个按键,一个启动停止,另一个清零功能,60秒后自动归零,程序可自行修改。

图片图片

原理图


程序

#include<89C51.h>

#define uchar unsigned char

#define uint unsigned int

void delay(uint c);

#define dula P22

#define wela P23

void keycan();

void init();

void display();

uchar table[]={0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

							0x7f,0x6f,0x77,0x7c,

							0x39,0x5e,0x79,0x71};

uint num,dis,n;

uint ms=0;

uint sec=0;

void main()

{

init();

TR0=0;

while(1)

{

display();	

keycan();

}

}

void init()

{

TMOD=0X01;

TH0=(65536-10000)/256;

TL0=(65536-10000)%256;

EA=1;

ET0=1;

TR0=1;

EX0=1;

IT0=1;

}

void Time0() interrupt 1

{

TH0=(65536-10000)/256;

TL0=(65536-10000)%256;

ms++;

if(ms==100)

{

	ms=0;

	sec++;

	if(sec==60)

	{

		sec=0;

		TR0=0;

	}

}

}

void keycan()

{

if(P10==0)

	{

		delay(5);

		if(P10==0)

		{

			while(!P10);

			TR0=~TR0;

		}

		}

	 if(P11==0)

	{

		delay(5);

		if(P11==0)

		{

			while(!P11);

			sec=0;

			ms=0;

	}	

	}

}

void display()

{

wela=1;

	P0=0xfe;

	wela=0;

  P0=0;

  dula=1;

	P0=table[sec/10];

	dula=0;

  delay(5);



	wela=1;

	P0=0xfd;

	wela=0;

  P0=0;

  dula=1;

	P0=table[sec%10]|0x80;

	dula=0;

	delay(5);



  wela=1;

	P0=0xfb;

	wela=0;

	P0=0;

  dula=1;

	P0=table[ms/10];

	dula=0;

	delay(5);

	

	wela=1;

	P0=0xf7;

	wela=0;

	P0=0;

  dula=1;

	P0=table[ms%10];

	dula=0;

	delay(5);

}

void delay(uint c)

{

uint a,b;

for(a=c;a >0;a--)

for(b=115;b >0;b--);

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 51单片机
    +关注

    关注

    274

    文章

    5702

    浏览量

    123480
  • 数码管
    +关注

    关注

    32

    文章

    1882

    浏览量

    91060
  • 秒表
    +关注

    关注

    3

    文章

    77

    浏览量

    22012
收藏 人收藏

    评论

    相关推荐

    C51单片机秒表计时(C语言) 相关资料下载

    功能描述:本设计实现在99秒内的秒表计时,一个按键实现开始、暂停、复位。原理概述:P1接四位七段数码管,P3.2接一按键产生外部中断0,P3.4-P3.7控制扫描显示。计时使用定时器0产生...
    发表于 07-01 07:34

    单片机控制秒表C语言程序

    C51单片机秒表计时(C语言).doc南开大学滨海学院C51嵌入式软件设计(C语言) 题目计时
    发表于 07-14 08:14

    基于单片机的数字秒表的设计简介

    的时间以及倒计时完成播报;秒表计时可以实现毫秒级别。标签:51单片机、LCD12864、语音播报、倒计时
    发表于 12-08 06:31

    基于51单片机lcd1602怎么显示倒计时秒表

    基于51单片机,lcd1602怎么显示倒计时秒表
    发表于 10-18 07:11

    秒表protues仿真 51单片机秒表仿真程序设计 protue

    秒表protues仿真 51单片机秒表仿真程序设计 protues秒表仿真设计
    发表于 01-14 22:32 112次下载

    使用51单片机实现秒表的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机实现秒表的程序免费下载。实现简单秒表,按键控制秒表的开始、暂停与重置
    发表于 08-21 17:31 50次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>实现<b class='flag-5'>秒表</b>的程序免费下载

    使用51单片机模拟秒表的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机模拟秒表的程序免费下载。
    发表于 07-04 17:41 7次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>模拟<b class='flag-5'>秒表</b>的程序免费下载

    使用51单片机进行秒表的程序示例免费下载

    本文档的主要内容详细介绍的是使用51单片机进行秒表的程序示例免费下载。
    发表于 06-18 17:44 3次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>进行<b class='flag-5'>秒表</b>的程序示例免费下载

    51单片机计时

    51单片机计时器文章目录51单片机计时51
    发表于 11-23 16:20 47次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>计时</b>器

    基于单片机的数字秒表

    目前的时间以及倒计时完成播报; 秒表计时可以实现毫秒级别。标签:51单片机、LCD12864、语音播报、倒
    发表于 11-25 17:06 39次下载
    基于<b class='flag-5'>单片机</b>的数字<b class='flag-5'>秒表</b>

    单片机秒表实验文件分享

    51单片机秒表实验文件分享
    发表于 10-08 09:33 4次下载

    基于51单片机的简易秒表

    本设计是一个秒表计时器,采用51单片机实现。简易秒表主要实现启动、停止、清零等基础功能。接通电源后,秒表
    发表于 12-21 11:42 13次下载

    基于51单片机数字秒表proteus仿真设计

    基于51单片机数字秒表proteus仿真设计,资料包含仿真及源程序
    发表于 04-20 16:16 2次下载

    基于51单片机的1602显示秒表例程源代码

    基于51单片机的1602显示秒表例程源代码文件
    发表于 05-12 16:42 6次下载

    基于89C51单片机秒表源程序

    基于89C51单片机秒表源程序
    发表于 05-15 10:37 12次下载