编程实现倒计时的秒表,2位LED数码管显示,延时采用硬件延时的方法

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-29
求编程实现倒计时的秒表,2位LED数码管显示,延时采用硬件延时的方法

用单片机的定时器T0定时,计时1秒,实现倒计时的秒表的功能。
程序如下
#include
unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管段码表
unsigned char second;//秒倒计时变量
unsigned char t0n;//T0中断次数计数
sbit k1=P3^2;//定义按键
void delay()
{
unsigned int j;
for(j=400;j>0;j--);
}
void display()//显示子程序
{
P2=0x01;
P0=tab[second/10];//显示十位
delay();
P2=0x02;
P0=tab[second%10];//显示个位
delay();
}
void main()
{
TMOD=0x01;//用T0定时,中断方式
TH0 =0x3C;//晶振12M,定时50ms
TL0 =0xB0;
IE =0x82;
while(1)
{
display();//调显示子程序
if(k1==0)//按键按下
{
if(TR0==0)
{
TR0=1;//启动开始计时
second=60;//从60秒开始倒计时
}
else
TR0=0;
while(k1==0);//等待按键释放
}
}
}
//T0中断程序
void T0_int() interrupt 1
{
TH0 =0x3C;
TL0 =0xB0;
t0n++;
if(t0n>=20)//1秒到
{
t0n=0;
second--;//减1秒
if(second==0)TR0=0;
}
}
仿真图如下

#include "reg51.h"
void delay1s();
void display(unsigned char x);
void main()
{
unsigned char i;
while(1)
{
for(i=99;i>0;i--)
{
display(i);
delay1s();}
}
}
void delay1s()
{
unsigned char i,j,k;
for(i=10;i>0;i--)
for(j=200;j>0;j--)
for(k=250;k>0;k--);
}
void display(unsigned char x)
{
unsigned char dispcode[10]={0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,0x7f,0x6f};
P2=dispcode[x/10];
P1=dispcode[x%10];
}

编程实现倒计时的秒表,2位LED数码管显示,延时采用硬件延时的方法
用单片机的定时器T0定时,计时1秒,实现倒计时的秒表的功能。
程序如下
#include<reg51.h>
unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管段码表
unsigned char second;//秒倒计时变量
unsigned char t0n;//T0中断次数计数
sbit k1=P3^2;//定义按键
void delay()
{
unsigned int j;
for(j=400;j>0;j--);
}
void display()//显示子程序
{
P2=0x01;
P0=tab[second/10];//显示十位
delay();
P2=0x02;
P0=tab[second%10];//显示个位
delay();
}
void main()
{
TMOD=0x01;//用T0定时,中断方式
TH0 =0x3C;//晶振12M,定时50ms
TL0 =0xB0;
IE =0x82;
while(1)
{
display();//调显示子程序
if(k1==0)//按键按下
{
if(TR0==0)
{
TR0=1;//启动开始计时
second=60;//从60秒开始倒计时
}
else
TR0=0;
while(k1==0);//等待按键释放
}
}
}
//T0中断程序
void T0_int() interrupt 1
{
TH0 =0x3C;
TL0 =0xB0;
t0n++;
if(t0n>=20)//1秒到
{
t0n=0;
second--;//减1秒
if(second==0)TR0=0;
}
}

  • 编程实现倒计时的秒表,2位LED数码管显示,延时采用硬件延时的方法
    答:用单片机的定时器T0定时,计时1秒,实现倒计时的秒表的功能。程序如下 include<reg51.h> unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管段码表 unsigned char second;//秒倒计时变量 unsigned char t0n;//T0中断次数计数 sbit k1=P3^2;/...
  • 编程实现倒计时的秒表,2位LED数码管显示,延时采用软件延时的方法。求...
    答:void delay1s();void display(unsigned char x);void main(){ unsigned char i;while(1){ for(i=99;i>0;i--){ display(i);delay1s();} } } void delay1s(){ unsigned char i,j,k;for(i=10;i>0;i--)for(j=200;j>0;j--)for(k=250;k>0;k--);} void display(unsigned...
  • 用单片机设计一个两位LED显示的秒表,按下计时键时,进行60s倒计时...
    答:unsigned char code dispcode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0x00};unsigned char second=60;unsigned char keycnt;unsigned int tcnt;void main(void){ unsigned char i,j;TMOD=0x02;ET0=1;EA=1;second=0;P1=dispcode...
  • 用定时器设计一个最大99的两位数倒计时秒表 的编程怎么写啊 请帮我...
    答:SECOND EQU 30H; 定义 TCOUNT EQU 31H ;定义 ORG 00H ; 起始 LJMP START; 跳转 ORG 1BH ; 中断矢量地址 LJMP INT0X ; 跳转 START:MOV SECOND,#00H ; 设置计数0送入SECOND MOV TCOUNT,#00H ; 设置计数0送入TCOUNT MOV TMOD,#10H ; 设置计数器1 MOV TH1,#(65536-50000) / 256 ...
  • excel如何制作一个30分钟的倒计时excel制作倒计时秒表
    答:1.打开EXCEL工作表,选中需要倒计时的单元格。2.插入DATA函数。3.分别输入想要截止的年月日。4.确认后,在函数的后面减去今天的日期,然后按照天来显示,整个工式为=DATE(2020,1;24)-TODAY()&\"天\"。5.回车确认后,就可以看到计时的时间了。
  • 设计一个单片机编程,两位的简易秒表,记时单位60-50s,用两位的数码管
    答:void ConfigTimer0(){ TMOD = 0x01;TH0 = 0xFC;TL0 = 0x18;ET0 = 1;TR0= 1;EA = 1;} void main(){ ConfigTimer0();while(1){ P0 = ledchar[sec/10];P2 = ledchar[sec%10];} } void Timer0() interrupt 1 { static unsigend int t = 0;TH0 = 0xFC;TL0 = 0x18;...
  • 求篮球30秒倒计时器的设计和制作,数字电路课程设计,详细论文
    答:图2 控制流程图 三、软件程序设计 1、数码管驱动程序 到计时器的两个数码管以动态显示的方式显示计时时间“time”(全局变量),LED1显示“time”的十位,LED2显示“time”的个位。 (1)定义段码数据口和片选信号 根据实际电路,在C51中定义段码的数据口为P1,两个片选信号为P3.0和P3.1。定义如下: #define duan ...
  • 如何在Excel中实现交单日期的倒计时提醒及进度条显示?
    答:今天,我们将一起探索如何用Excel的智能功能制作一个倒计时秒表提醒,让你的项目管理如丝般流畅。以下是五个实用步骤,帮你轻松搞定任务进度跟踪:第一步:到期预警使用IF函数和DATEDIF,为你的工作添加一道安全网。一旦"当前日期"超过"交单日期",只需一行代码,Excel就能自动标记为"已过期"。如果需要,...
  • 如何用单片机做一个简单的倒计时器?
    答:LSA=0;LSB=0;LSC=0; break;//显示第0位 case(1):LSA=1;LSB=0;LSC=0; break;//显示第1位 case(2):LSA=0;LSB=1;LSC=0; break;//显示第2位 case(3):LSA=1;LSB=1;LSC=0; break;//显示第3位 case(4):LSA=0;LSB=0;LSC=1; break;//显示第4位 case(5):LSA=1;LSB=0;...
  • jquery如何实现倒计时效果
    答:首先获取当前时间与目标时间的时间差,然后通过定时器更新这个时间差,就实现了倒计时效果。实现上述过程需要以下两个函数:getTime() // 返回距1970年1月1日之间的毫秒数,这样将时间差(毫秒数)÷3600÷24即为天数,时分秒类似setTimeout(code,millisec); // 在指定的毫秒数后调用函数实例...