本文目錄一覽:
- 1、急需一個延時10秒的C語言程序,求大師幫忙,謝謝
- 2、彙編/C語言設計繼電器控制程序,繼電器每10s閉合一次,時間為10s,斷開時蜂鳴器蜂鳴(用定時計數器延時)
- 3、52單片機C語言中“Delay”是什麼意思,怎麼用?
- 4、求單片機C語言延時程序(延時10s)
- 5、用C語言怎麼在單片機AT89C51上編寫一個延時10秒的程序?
- 6、單片機中延遲10sC語言程序可以這樣寫嗎,如果不可以哪兒錯了?
急需一個延時10秒的C語言程序,求大師幫忙,謝謝
#includedos.h
void fun()
{
delay(10000);
}
調用系統的延遲函數delay,該函數的延時單位是毫秒,所以括號內寫10000毫秒,即延遲10秒
彙編/C語言設計繼電器控制程序,繼電器每10s閉合一次,時間為10s,斷開時蜂鳴器蜂鳴(用定時計數器延時)
#includereg51.h
#define uchar unsigned char
uchar times;
sibt jdq=P1^4;
sbit fmq=P1^5;
void t0isr() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
times++;
if(times=200)
{
jdq=~jdq;
fmq=~jdq;
}
}
main()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
TR0=1;
ET0=1;
EA=1;
jdq=0;
fmq=0;
while(1);
}
52單片機C語言中“Delay”是什麼意思,怎麼用?
一般延時1ms的程序是:
void Delay(uint x)
{
uchar i;
while(x–)
{
for(i=120;i0;i–);
}
}
那麼當你在別的函數中用到Delay(10000);就是延時10000ms,也就是10S
求單片機C語言延時程序(延時10s)
用定時器做吧,DELAY了不能做別的事情,效率太低了。做一個1ms的定時程序,再到計數10000次的時候執行一次你要的程序(比如說置位某個變量),這樣就可以了。51就那麼幾個寄存器,看一下就可以了設定了,TH和TL只要記住計數到0的時候,會產生中斷就可以了
用C語言怎麼在單片機AT89C51上編寫一個延時10秒的程序?
1、十秒對於單片機來說是很長很長的時間了,單片機十秒的時間什麼事都不能做,只在跑這延時程序,那是什麼概念,用中斷的話,單片機正常運行其他程序,只是時間到了才過來處理延時以後的程序,效率不知道高了多少 。
2、例程:
//假設晶振12MHZ
#include “reg51.h”
unsigned int YSJS=0;
void main(void)
{
TMOD |= 0X10; //定時器1工作於方式1,16位定時器
TH1 = 0XFF; //定時器1定時時間=500uS
TL1 = 0X06;
ET1 = 1; //使能定時器1中斷
EA =1; //開總中斷
while(1)
{
}
}
void TIMER1(void) interrupt 3 //定時器1中斷函數使用默認寄存器組
{
TH1 = 0XFF; //定時器1定時時間=500us
TL1 = 0X06;
YSJS++;
if(YSJS==20000) //500uS*20000=10000000us=10s
{
P1 = P1 ^ 0X01; //P1.0十秒鐘翻轉一次
YSJS = 0
}
}
單片機中延遲10sC語言程序可以這樣寫嗎,如果不可以哪兒錯了?
這樣倒是也行啊。。一個是你要按照你的時鐘周期算好循環次數,在一個for循環嵌套也可以 不過你單片機就不用干別的了。。光在這循環進行延時了。。很浪費MCU的說
一般超過10ms都建議用定時器中斷。開個定時器中斷設置比如設定定時器0,計數方式1,即16位定時器。如果是12MHZ外部晶振的話,1個時鐘是1us 定時器設為50ms中斷,定義一個全局變量比如SEC 然後在中斷里進行+1 20次中斷就是1秒,200次中斷就到10秒。。在中斷進行加1後判斷是否==200是的話就到10秒了。。
你的這個方法的話這樣好些,我按你外部晶振12MHZ算這樣1個延時對應1us
void delay10s(void)
{
unsigned char i,j,k;
for (i=200,i0,i–) ‘200*50ms=10s
{
for (j=200,j0,j–) ‘200*250us=50ms
{
for(k=250,k0,k–) ‘250us
{;}
}
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/312884.html