閃爍LED燈的程序

閃爍LED燈的程序

ID:39906008

大?。?.65 MB

頁(yè)數(shù):29頁(yè)

時(shí)間:2019-07-14

閃爍LED燈的程序_第1頁(yè)
閃爍LED燈的程序_第2頁(yè)
閃爍LED燈的程序_第3頁(yè)
閃爍LED燈的程序_第4頁(yè)
閃爍LED燈的程序_第5頁(yè)
資源描述:

《閃爍LED燈的程序》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、閃爍LED燈軟件描述:/*文件描述:使用的是P1.0口,可以用其他的端口,如果用其他的端口只需把程序里的P1.0改成相應(yīng)的端口,程序?qū)崿F(xiàn)的功能是單片機(jī)通過對(duì)端口高低電平的控制實(shí)現(xiàn)led燈的亮和滅。賦值1就是高電平,0是低電平,具體賦什么值才亮要結(jié)合硬件部分,看led燈的接法。這里是賦0就會(huì)亮。*/#includesbitLED=P1^0;//用sbit關(guān)鍵字定義LED到P1.0端口,//LED是自己任意定義且容易記憶的符號(hào)voidDelay(unsignedintt);//函數(shù)聲明c語(yǔ)言有voidmain(void)

2、{while(1){LED=1;//P1.0口置1led燈滅Delay(50000);//延時(shí)50ms更改數(shù)可以更改延時(shí)時(shí)間LED=0;//P1.0口置0led燈亮Delay(50000);//延時(shí)50ms更改數(shù)可以更改延時(shí)時(shí)間}}voidDelay(unsignedintt)//延時(shí)程序t的值代表幾u(yù)s{while(--t);}程序編譯過程:下面就建立一個(gè)工程:點(diǎn)擊project菜單下的newproject按鈕,出現(xiàn)下圖然后鍵入文件名(自己起名字)比如流水燈。點(diǎn)擊保存按鈕。選擇單片機(jī)型號(hào)一般選擇ATMEL下面的AT89C52.點(diǎn)擊確

3、定就好了。之后就需要在工程里面添加文件了(就是寫程序代碼的地方)。點(diǎn)擊file菜單下的new按鈕就建立了新文件;鍵入程序點(diǎn)擊保存按鈕。鍵入文件名但必須以.c為后綴,因?yàn)槟銓懙氖莄語(yǔ)言文件。如果是匯編就是.asm了。一般用c語(yǔ)言寫,這里我就用test1.了,點(diǎn)擊保存。然后就是設(shè)置了。右擊target1,選擇第一項(xiàng)的optionsfortarget“target1”。選擇output在createHEX前勾上對(duì)號(hào)。點(diǎn)擊確定。之后就是添加文件了,就是把c語(yǔ)言文件添加到工程里面去。右擊上圖灰色的部分,再左擊Addfilesto‘sourceg

4、roup1‘,點(diǎn)擊文件名text1.c,點(diǎn)擊Add;文件添加完畢,關(guān)閉對(duì)話框就可以了。下面就是編譯了,就是安從左到右的3個(gè)按鍵即可。創(chuàng)建了hex文件,這個(gè)文件就是燒寫到單片機(jī)的文件;下面就是燒寫程序了。打開燒寫程序選擇單片機(jī)型號(hào)一般不用該默認(rèn)c52.打開需要下載的文件即點(diǎn)擊openfile按鈕;選擇下載的文件;點(diǎn)擊打開即可;選擇端口。一般這個(gè)電腦就是com1.點(diǎn)擊下載即可。給單片機(jī)上電;硬件描述:硬件部分就是一個(gè)led燈。但是需要串聯(lián)一個(gè)限流電阻,如果只加入一個(gè)led燈就是燒掉,限流電阻的選擇要合適,這個(gè)自己百度看看很簡(jiǎn)單的在這里就不

5、必說了,應(yīng)該串聯(lián)個(gè)500R左右的電阻,因?yàn)檗k公室里沒有所以就用了2個(gè)1K的并聯(lián)。我建議同學(xué)自己焊下電路板,然后下載上程序看看。下載后的狀態(tài):定時(shí)器/*文件描述:這個(gè)led口用的也是是P1.0口,可以用其他的端口,如果用其他的端口只需把程序里的P1.0改成相應(yīng)的端口,這個(gè)程序?qū)嵭械墓δ苁抢枚〞r(shí)器0的計(jì)數(shù)功能實(shí)現(xiàn)上面閃爍led燈的功能。*/#includesbitLED=P1^0;unsignedcharTime=0;//計(jì)時(shí)次數(shù)intmain(void){LED=1;//P1.0口置1熄滅led燈TMOD=0x01;

6、//定時(shí)器0工作方式1TH0=0xdb;//T0賦初值,延時(shí)0.01秒(賦值有計(jì)算公式)TL0=0xff;ET0=1;//開定時(shí)器0中斷EA=1;//開總中斷TR0=1;//開始計(jì)數(shù)while(1)//等待定時(shí)器中斷什么也不做相當(dāng)與while(1);{}}voidtimer0_int()interrupt1//定時(shí)器0中斷{TH0=0xdb;//T0賦初值,延時(shí)0.01秒如果不賦值就會(huì)從0計(jì)數(shù)TL0=0xff;Time++;if(Time==100)//判斷是否計(jì)時(shí)到1秒{Time=0;LED=~LED;}}與上面的一樣,在這里就不必

7、多說了。串口中斷/*文件描述:串口實(shí)現(xiàn)的功能就是對(duì)串口進(jìn)行測(cè)試,單片機(jī)發(fā)送字符到電腦,在由電腦發(fā)送回來,*/#includevoidmain(){TMOD=0x20;//定時(shí)器工作方式2TH1=0XFD;//有公式TL1=0XFD;TR1=1;SCON=0x50;//串口工作方式1EA=1;/*打開總中斷*/ES=1;/*打開串口中斷*/while(1);//等待串口中斷}voidUART_SER(void)interrupt4//串行中斷服務(wù)程序{unsignedcharTemp;//定義臨時(shí)變量if(RI)//判

8、斷是接收中斷產(chǎn)生{RI=0;//標(biāo)志位清零Temp=SBUF;//讀入緩沖區(qū)的值SBUF=Temp;//把接收到的值再發(fā)回電腦端}if(TI)/*如果是發(fā)送標(biāo)志位,清零應(yīng)該是先接收了數(shù)據(jù)才可以發(fā)送如果先發(fā)送的話沒有數(shù)據(jù)直

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。