栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

60秒正计时时钟设计(仿真+源码)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

60秒正计时时钟设计(仿真+源码)

主要实现功能:利用定时器/计数器实现60秒正计时时钟,两只数码管从00开始静态显示正计时的秒值,当显示为59时,再从00开始显示正计时。

程序设计思想:用秒脉冲发生器、计数器、译码显示电路、控制电路四个模块组成。其中计数器和控制电路是系统的主要模块。计数器完成60秒计时功能,控制电路完成计数器的的显示功能。实现两只数码管从00开始静态显示正计时的秒值,当显示为59时,再从00开始显示正计时。

仿真图为:

源代码为:

不懂得地方可私聊博主!博主会进行讲解!!

博主还会提供Hex文件

#include
 #include 
typedef unsigned int u16;	
typedef unsigned char u8;
u8 code table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d};
u8 code table2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
					0x7f,0x6f};


u8 second;
u8 timer=0;
					
void init_T0()
{
	EA = 1;
	ET0 = 1;
	TMOD = 0x01;
	TH0 = 0xee;
	TL0 = 0x00;
	TR0 = 1;
}

void main()
{
	init_T0();
	while(1)
	{
		P0=table1[second/10];//
		P2=table2[second%10];
	}
}
void Timer0() interrupt 1
{
		TH0=0xee;       
		TL0=0x00; 
	  timer++;
	if(timer==200)
	{
		timer=0;
		second++;
	
	}
	
	if(second == 60)
	{
		second = 0;
	}

}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/664316.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号