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

作者&投稿:百亲 (若有异议请与网页底部的电邮联系)
求编程实现倒计时的秒表,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;
}
}

如何实现倒计时59秒表的c语言程序,不用中断。谢谢啊,很急
答:我这个程序是在dos窗口下的计时器,比较简单:include include <stdio.h> include <stdlib.h> void main(){ clock_t start, finish, clsfinish;/*计算一次清屏操作所用的时钟数*/ double time_used_in_cls = 0;start = clock();system("CLS");clsfinish = clock();time_used_in_cls =...

JAVA秒表倒计时程序,用swing界面显示,请大家一定要帮帮小弟哈,我实在做...
答:import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class Tidy extends JFrame{private static final long serialVersionUID = 1L;private static final String[] NS = { "秒表倒计时器", "时", "分", "秒", "请输入...

如何在Excel中实现交单日期的倒计时提醒及进度条显示?
答:欢迎来到Excel时间管理神器的世界! 今天,我们将一起探索如何用Excel的智能功能制作一个倒计时秒表提醒,让你的项目管理如丝般流畅。以下是五个实用步骤,帮你轻松搞定任务进度跟踪:第一步:到期预警使用IF函数和DATEDIF,为你的工作添加一道安全网。一旦"当前日期"超过"交单日期",只需一行代码,Excel...

vb倒计时秒表的问题,求高手解决
答:timer1停止,timer2继续在变化,timer1运行的时候,当然读入的是timer2中的second 还是把两个变量分开来吧,代码如下(你说的不同步问题,我测试下来没发现)Dim Minute1, Second1, Minute2, Second2 As Long Private Sub Command1_Click()Minute1 = InputBox("输入分钟数", "倒计时时间")Minute2...

如何用c语言实现从现在到某天的倒计时
答:取得系统时间,用指定时间的年,月,日,时,分,秒,分别减去系统对应的位,所得时间换算成秒,然后就用秒表的原理,每过一秒,把剩余时间除以一年的秒数,余数再除以一个月的秒数,以此类推,然后把它输出到屏幕。time_t tTime; //距1900年1月1日的秒数 char str[80];struct tm* stTm; /...

...要有时钟 秒表 和倒计时的功能,秒表有暂停,开始功能的
答:时钟和倒计时很简单的了自己做一下 下面是 一个秒表程序,command 3个,label 1个.Option Explicit Dim PP As Boolean Dim SS As Boolean Dim TT As Single Private Sub Command1_Click() '开始 TT = 0 PP = False SS = False Command1.Enabled = False Command2.Enabled = True Command3....

采用AT89C51单片机设计一只电子秒表,倒计时(60~1每间隔1秒倒数)?_百 ...
答:硬件电路 有2位数码管可以显示秒表的时间 0~10秒 有3个按键 K1为开始计时 K2为停止计时 K3为清零 软件设计:K1按下则启动定时器定时 每到1秒 显示器缓冲单元内容加1 K2按下则停止定时器定时 K3按下则将显示器缓冲单元内容清零。

求下图倒计时秒表的汇编语言
答:以前做了一个,差不多类似,是正计时。KEYVALEQU 30H DATEQU 33H SCANLEDEQU 39H SEC1EQU 78H SEC2EQU 79H SEC_2EQU 7AH SEC_1 EQU 7BH DOTBIT 00H ORG 0000H LJMP MAIN ORG 0003H LJMP EXTINT0 ORG 000BH LJMP T0ISR;50ms定时 ORG 0013H LJMP EXTINT1 ORG 001BH LJMP T1...

jquery如何实现倒计时效果
答:首先获取当前时间与目标时间的时间差,然后通过定时器更新这个时间差,就实现了倒计时效果。实现上述过程需要以下两个函数:getTime() // 返回距1970年1月1日之间的毫秒数,这样将时间差(毫秒数)÷3600÷24即为天数,时分秒类似setTimeout(code,millisec); // 在指定的毫秒数后调用函数实例...

如何用C51单片机做出以下程序 “秒表是倒计时,从100秒开始倒计时 用数...
答:TL0=(65536-50000)%256;TR0=1;while(1){ P0=table[num/10];Delay1ms(2);P2=table[num%10];Delay1ms(2);} } void TIMER0()interrupt 1//中断程序 { TH0=(65536-50000)/256;TL0=(65536-50000)%256;time++;if(time==20){ time=0;num--;} if(num==0){ num=100;} } ...