日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]1、點(diǎn)亮閃爍的LED燈。#includesbitLED00=P0^0;//位定義,定義單片機(jī)引腳voiddelay(intt){inti,j;for(i=0;i

1、點(diǎn)亮閃爍的LED燈。


#include

sbitLED00=P0^0;//位定義,定義單片機(jī)引腳

voiddelay(intt)

{

inti,j;

for(i=0;i<100*t;i++)

{

for(j=0;j<125;j++)

{

;

}

}

}

voidmain(void)

{

while(1)

{

LED00=0;//此開發(fā)板是低電平點(diǎn)亮

delay(5);

LED00=1;//此開發(fā)板是高電平熄滅

delay(5);

}

}



2、流水燈。


/******************************************************************************

*說明:AT89S52芯片,12M晶振

*P0、P1兩個(gè)8位端口分別連接8個(gè)LED燈

*低電平點(diǎn)亮,高電平熄滅。

******************************************************************************/

#include

#include//是循環(huán)左移、右移函數(shù)的頭文件,參考網(wǎng)址如下

//http://baike.baidu.com/view/1745068.htm?fromTaglist

//http://wenku.baidu.com/view/06ba3d00b52acfc789ebc97b.html

//sbitLED00=P0^0;//位定義,定義單片機(jī)引腳

voiddelay(intt)

{

inti,j;

for(i=0;i<100*t;i++)

{

for(j=0;j<125;j++)

{

;

}

}

}

voidmain(void)

{

P0=0xfe;//0b11111110

P1=0x7f;//0b01111111

while(1)

{

P0=_crol_(P0,1);//循環(huán)左移,每次循環(huán)1位

P1=_cror_(P1,1);//循環(huán)右移,每次循環(huán)1位

delay(5);

}

}


3、繼電器的控制。


/******************************************************************************

*說明:AT89S52芯片,12M晶振

*此開發(fā)板繼電器的控制端口和單片機(jī)的P3^7引腳相連接

*因?yàn)槔^電器的工作電流比較大,

*所以P3^7連接的是一個(gè)三極管,通過三極管驅(qū)動(dòng)繼電器

******************************************************************************/

#include

sbitJDQ=P3^7;//位定義,定義單片機(jī)引腳

voiddelay(intt)

{

inti,j;

for(i=0;i<100*t;i++)

{

for(j=0;j<125;j++)

{

;

}

}

}

voidmain(void)

{

while(1)

{

JDQ=0;

delay(5);//延時(shí)0.5s

JDQ=1;

delay(5);

}

}

4、控制無源蜂鳴器每隔1s響1s (有一個(gè)疑問)


/******************************************************************************

*說明:AT89S52芯片,12M晶振

*此開發(fā)板蜂鳴器的控制端口和單片機(jī)的P3^6引腳相連接

*用三極管進(jìn)行驅(qū)動(dòng)

*無源蜂鳴器:需要寫函數(shù)產(chǎn)生1KHz左右的聲音頻率(方波)

******************************************************************************/

#include

sbitFMQ=P3^6;//位定義,定義單片機(jī)引腳

/******************************************************************************

*名稱:delay1ms()

*功能:延時(shí)1ms

*參數(shù):intt

*返回:無

******************************************************************************/

voiddelay1ms(intt)

{

unsignedchari;

while(t--)

{

for(i=0;i<125;i++)

{

;

}

}

}

/******************************************************************************

*名稱:delay500us()

*功能:延時(shí)500us

*參數(shù):無

*返回:無

******************************************************************************/

voiddelay500us(void)

{

inti;

for(i=0;i<63;i++)

{

;

}

}

/******************************************************************************

*名稱:beep_sound()

*功能:產(chǎn)生FMQ發(fā)聲需要的1KHz的聲音頻率

*參數(shù):無

*返回:無

******************************************************************************/

voidbeep_sound(void)

{

FMQ=0;

delay500us();

FMQ=1;

delay500us();

}

voidmain(void)

{

inti,t;

while(1)

{

t=1000;//蜂鳴器發(fā)聲1000*1ms1KHz頻率的方波,一個(gè)周期是1ms

for(i=0;i

{

beep_sound();

}

FMQ=1;//關(guān)掉FMQ1s(延時(shí))

delay1ms(1000);

}

}

注意:盡量使用定時(shí)器產(chǎn)生標(biāo)準(zhǔn)頻率的方波,或用延時(shí)函數(shù)產(chǎn)生時(shí),函數(shù)最好不要通過參數(shù)來改變延時(shí)效果。

疑問:把500us延時(shí)函數(shù)改成可以傳參數(shù)t的形式,結(jié)果蜂鳴器發(fā)出的聲音頻率和發(fā)聲的時(shí)長變得面目全非,很無解。有經(jīng)驗(yàn)的朋友歡迎通過評論的方式討論一下。

改過后的delay500ms()函數(shù) 和 beep_sound()函數(shù)內(nèi)容如下:


/******************************************************************************

*名稱:delay500us()

*功能:延時(shí)500us

*參數(shù):intt

*

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉