80c51单片机120秒延时程序怎么编写
发布网友
发布时间:2023-08-01 07:31
我来回答
共5个回答
热心网友
时间:2024-10-21 03:32
用定时器就可以了,很简单的 这是我的60s倒计时程序
#include"reg51.h"
char i,j,m,y;
unsigned char count=0;
unsigned char a[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
sbit p34=P3^4;
sbit p35=P3^5;
sbit warning=P3^7;
void delay()
{
TH0=0xd8;
TL0=0xf0;
TR0=1;
while(!TF0);
TF0=0;
}
main()
{ warning=0;
TMOD=0x01;
for(m=0;m<50;m++)
{
P0=a[6];
p35=1; p34=0;
delay();
P0=a[0];
p35=0; p34=1;
delay();}
while(1)
{
for(i=5;i>=0;i--)
for(j=9;j>=0;j--)
for(m=0;m<50;m++)
{ P0=a[i];
p35=1; p34=0;
if(i==1&j==0)
{warning=1;
if(m>25)
warning=0;}
if(i==0)
{warning=1;
if(m>25)
warning=0;}
delay();
P0=a[j];
p35=0;
p34=1;
delay();}
}
}
热心网友
时间:2024-10-21 03:33
你时钟频率是多少?
120秒的延时,一般都要用定时器来做的。
下面是直接延时的程序:(晶振设为12M)
delay(unsigned int i){while(--i);}
delay120(unsigned int s){
s=s*2;
for(;s>0;s--)delay(62469);//62469使delay大哟延时0.5秒
}
调用:
delay120(120);追问恩,谢啦
追答不用谢。
热心网友
时间:2024-10-21 03:33
这么长时间,建议还是定时器中断吧……直接软件等待120秒,单片机在延时就不干别的事情了?
热心网友
时间:2024-10-21 03:34
下个单片机小精灵里面只要设置时间就自动帮你写好延时程序了
热心网友
时间:2024-10-21 03:35
根据所使用的时钟计算,可以查看定时器使用方法那部分