標(biāo)題:
如何編寫C語(yǔ)言的延遲函數(shù),實(shí)現(xiàn)p1.0口的led閃爍1/2/3次和不斷閃爍與常亮呢?
[打印本頁(yè)]
作者:
HuJohn
時(shí)間:
2017-4-18 20:23
標(biāo)題:
如何編寫C語(yǔ)言的延遲函數(shù),實(shí)現(xiàn)p1.0口的led閃爍1/2/3次和不斷閃爍與常亮呢?
如何編寫延遲函數(shù),實(shí)現(xiàn)p1.0口的led閃爍1/2/3次和不斷閃爍與常亮呢?
作者:
HuJohn
時(shí)間:
2017-4-18 20:26
還有怎樣用p3.2口的高低電平來(lái)控制閃爍的狀態(tài)呢?
作者:
HuJohn
時(shí)間:
2017-4-18 22:30
請(qǐng)問(wèn)下怎么改下面程序呀?就是閃爍次數(shù)不對(duì),改延時(shí)么?
#include<reg51.h>
#define uchar unsigned char
sbit key=P3^3;
sbit led=P1^1;
uchar timeCnt=0;
void delay( unsigned int t)
{
uchar i,j;
for(i=t;i>0;i--)
for(j=3;j>0;j--);
}
void shanshuo1()
{
led=~led;
delay(0);
}
void shanshuo2()
{
led=~led;
delay(10);
}
void shanshuo3()
{
led=~led;
delay(100);
}
void shanshuo4()
{
led=0;
delay(1500);
led=1;
delay(1500);
}
void shanshuo5()
{
led=0;
delay(60000);
led=1;
delay(60000);
}
void main()
{
while(1)
{
if(key==0)
{
timeCnt++;
if(timeCnt==6) timeCnt=0;
}
if(timeCnt==1) shanshuo1();
if(timeCnt==2) shanshuo2();
if(timeCnt==3) shanshuo3();
if(timeCnt==4) shanshuo4();
if(timeCnt==5) shanshuo5();
}
}
作者:
XIN_XIN
時(shí)間:
2017-4-19 15:43
在多機(jī)通信中,主機(jī)必須要能對(duì)各個(gè)從機(jī)進(jìn)行識(shí)別,在51系列單片機(jī)中可以通過(guò)SCON寄存器的SM2位來(lái)實(shí)現(xiàn)。當(dāng)串口以方式2或方式3發(fā)送數(shù)據(jù)時(shí),每一幀信息都是11位,第9位是數(shù)據(jù)可編程位,通過(guò)給TB8置1或置0來(lái)區(qū)別地址幀和數(shù)據(jù)幀,當(dāng)該位為1時(shí),發(fā)送地址幀;該位為0時(shí),發(fā)送數(shù)據(jù)幀。 在多機(jī)通信過(guò)程中,主機(jī)先發(fā)送某一從機(jī)的地址,等待從機(jī)的應(yīng)答,所有的從機(jī)接收到地址幀后與本機(jī)地址進(jìn)行比較,若相同,則將SM2置0準(zhǔn)備接收數(shù)據(jù);若不同,則丟棄當(dāng)前數(shù)據(jù),SM2位不變。
作者:
·零點(diǎn)·
時(shí)間:
2017-4-19 15:56
循環(huán)語(yǔ)句加上延時(shí);常亮不加延時(shí)
作者:
HuJohn
時(shí)間:
2017-4-19 17:19
·零點(diǎn)· 發(fā)表于 2017-4-19 15:56
循環(huán)語(yǔ)句加上延時(shí);常亮不加延時(shí)
是這樣加么?
uchar i,j;
for(i=t;i>0;i--)
for(j=250;j>0;j--);
}
void shanshuo1()
{
led1=0;
delay(5000);
led2=2;
delay(5000);
led3=1;
delay(5000);
}
void shanshuo2()
{
led2=0;
delay(5000);
led1=1;
delay(5000);
led3=1;
delay(5000);
}
void shanshuo3()
{
led3=0;
delay(5000);
led1=1;
delay(5000);
led2=1;
delay(5000);
}
void shanshuo4()
{
led1=0;
delay(5000);
led2=0;
delay(5000);
led3=1;
delay(5000);
}
void shanshuo5()
{
led2=0;
delay(5000);
led3=0;
delay(5000);
led1=1;
delay(5000);
}
void main()
{
while(1)
{
if(s2==0)
{
timeCnt++;
if(timeCnt==6) timeCnt=0;
}
if(timeCnt==1) shanshuo1();
if(timeCnt==2) shanshuo2();
if(timeCnt==3) shanshuo3();
if(timeCnt==4) shanshuo4();
if(timeCnt==5) shanshuo5();
}
}
作者:
HuJohn
時(shí)間:
2017-4-19 17:20
·零點(diǎn)· 發(fā)表于 2017-4-19 15:56
循環(huán)語(yǔ)句加上延時(shí);常亮不加延時(shí)
親吻怎么添加進(jìn)去呢?似乎是缺少頭文件還是怎么修改呢
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1