用C语言编一个倒计时以控制鞭炮的燃放

供稿:hz-xin.com     日期:2025-01-12
c语言中如何用倒计时控制循环

有一个获取时间的函数能搞定 #include #include void main( void ) { int t = GetTickCount(); while(true) { if(GetTickCount()-t>5000)//5秒后退出循环 break; } }

麻烦采纳,谢谢!

#include
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^5;
sbit RW=P2^6;
sbit EN=P2^7;
uchar code temp[]="00";
uint aa,ee,date1;
void delay(uint aa)
{
uint bb,cc;
for(bb=0;bb<aa;bb++)
for(cc=0;cc<100;cc++);
}
void write_zhiling(uint com)
{
RS=0;
P0=com;
delay(5);
EN=1;
delay(10);
EN=0;
}
void write_shuju(uint shuju)
{
RS=1;
P0=shuju;
delay(5);
EN=1;
delay(10);
EN=0;
}
void inite() //中断、1602初始化
{
TMOD=0x01;
TH0=(65536-46080)/256;
TH0=(65536-46080)%256;
EA=1;
ET0=1;
TR0=1;
RW=0;
EN=0;
date1=60;
write_zhiling(0x38);
write_zhiling(0x0c);
write_zhiling(0x06);
write_zhiling(0x80);
write_zhiling(0x01);
write_zhiling(0x80+7);

for(aa=0;aa<2;aa++)
{
write_shuju(temp[aa]);
delay(5);
}
}
void display(uint date)
{
uint ge,shi;
ge=date%10;
shi=date/10;
write_shuju(0x30+shi);//0x30--0x39对应的是1602显示0--9的ASCLL码值
write_shuju(0x30+ge);
}
void timer0() interrupt 1
{
TH0=(65536-46080)/256;//11.0592MHZ晶振50Ms
TH0=(65536-46080)%256;
ee++;
if(ee==14)//加上前面延时子函数的延时, 在我的板子上ee=14的时候大概就是一秒钟
{
ee=0;
date1--;
if(date1==0)
{
date1=60;
}
write_zhiling(0x80+7);
display(date1);
}
}
void main()
{
inite();
while(1);
}

小弟不才,希望这个程序对你有帮助!

用SetTimerAPI函数即可实现

求一个C语言写的倒计时程序,要求显示从30秒到0秒
include main(){ clock_t start,end;int n;printf("How many seconds do you want to count? ");scanf("%d",&n);getchar();clrscr();start=end=clock();while((n-(int)(end-start)\/19)>=0){ printf("the time is: %d",n-(int)(end-start)\/19);sleep(1);end=clock();clr...

请尝试编写一个2分钟的倒计时.形如:2:00 1:59……用C语言啊~~~不要C++...
include <stdio.h> include <stdlib.h> include <windows.h> int main(){ int a,b,c;a=120;system("color 0a");while(a>=0){ system("cls");b=a\/60;c=a%60;printf("%d:%.2d",b,c);a=a-1;Sleep(1000);} Sleep(50000);return 0;...

求用单片机c语言编写的倒计时60s程序,为什么在百度上找的程序验证了现象...
嘎嘎嘎,刚好写过 60秒倒计时程序 include<reg52.h> define uchar unsigned char define uint unsigned int uchar temp,bai,shi,ge,num;uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void delay(uint);void main(){...

c语言 倒计时时钟程序
如果你有TC,可以试一试。VC 的 kbhit() 不能返回 键名。23:59:59 -- 86400 秒 include <stdio.h> include <windows.h> include <conio.h> void main(){ long int t;int flag =0;t = 86400;printf("press S start, press E stop\\n");while(1){ if (kbhit() == 'S' || ...

单片机,倒计时120和正计时150程序怎么写?
根据您提到的单片机以及倒计时和正计时需求,您可以使用相应的编程语言(如C语言)编写程序来实现这些功能。以下是一个简单的示例代码,用于倒计时120和正计时150:倒计时120程序示例:```c include void delay() { \/\/ 延时函数,可根据实际情况进行调整 unsigned int i, j;for (i = 0; i < 120...

基于51单片机的999倒计时C语言程序。
\/ 要求是能进行9999秒倒计时 用C语言实现 \/ include<at89X51.h> define uchar unsigned char define uint unsigned int uchar num_qian,num_bai,num_shi,num_ge;\/\/定义千位,百位,十位,个位。uint time;\/\/要显示的时间0~9999 uint tcnt;\/\/计时单元 \/\/***\/\/ \/\/以下是端口定义 \/\/*...

求单片机数码管倒计时程序
sbit RCK_595=P0^2; \/\/输出锁存器控制脉冲 ---接板卡上SPK STcp锁存信号输入端 uchar code duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uchar num...

求高手帮忙给做个用C语言编写倒计时器,60分钟的倒计时,求源代码,在 ...
include "stdio.h"#include "Windows.h"int main() {printf("请输入倒计时时间(例如:01:26:30):");int hour=0, min=0, sec=0;scanf("%d:%d:%d", &hour, &min, &sec);if(hour>24 || hour<0 || min>60 || min<0 || sec>60 || sec<0) {printf("输入有误!\\n");...

霓红闪烁C语言编程代码
sbit p37=P3^7;\/***p37,p36,p35为东西方向绿,红,蓝;p34,p31,p30为南北方向的绿,红,蓝***\/ sbit p36=P3^6;sbit p35=P3^5;sbit p34=P3^4;sbit p31=P3^1;sbit p30=P3^0;bit start,stop;\/***开始和停止的标志位***\/ unsigned int N=0,M=0,i=0;\/***N控制二极管的计时...

如何用单片机做一个简单的倒计时器
计数值:你要定时多长时间,如果定时1毫秒,就是1000微秒,(单位为微秒),如果定时10毫秒,就是10000(微秒),当然,最大定时被定时器本身位数限制了,最大2的16次方(16位定时计数器),只能定时65.535毫秒。定时1S当然不可能1S定时器中断。下面为实现99秒倒计时C语言源程序 \/*了解定时器,这样的...