版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
年4月19日單片機課程設(shè)計報告心形流水燈文檔僅供參考,不當之處,請聯(lián)系改正。井岡山大學機電工程學院單片機課程設(shè)計報告課程名稱:單片機設(shè)計題目:心形流水燈姓名:彭玉紅專業(yè):生物醫(yī)學工程班級:11級醫(yī)工本一班學號:指導(dǎo)教師:王佑湖11月27日目錄1引言…………..21.1設(shè)計任務(wù)……….……….21.2設(shè)計要求………………..22課題綜述…………………….22.1課題的來源……………..22.2面正確問題……………23系統(tǒng)分析…………………….23.1STC89C52單片機引腳圖及引腳功能介紹……………24系統(tǒng)設(shè)計…………………….44.1硬件設(shè)計………………...44.1.1硬件框圖…………..44.1.2硬件詳細設(shè)計……..54.2軟件設(shè)計………54.3硬件原理圖……………..64.4元件清單………………..64.5硬件焊接圖……………..64.6代碼編寫………………..75心得體會……………………...76致謝…………..8參考文獻……………………81引言單片機課程設(shè)計主要是為了讓我們增進對STC89C51單片機電路的感性認識,加深對理論方面的理解。了解軟硬件的有關(guān)知識,并掌握軟硬件設(shè)計過程、方法及實現(xiàn),為以后設(shè)計和實現(xiàn)應(yīng)用系統(tǒng)打下良好基礎(chǔ)。另外,經(jīng)過簡單課題的設(shè)計練習,使我們了解必須提交的各項工程文件,達到鞏固、充實和綜合運用所學知識解決實際問題的目的。1.1設(shè)計任務(wù)設(shè)計一個單片機控制的流水燈系統(tǒng)1.2設(shè)計要求(1)32個LED燈;(2)可實現(xiàn)多種的亮燈(如左循環(huán),右循環(huán),間隔閃,90度交叉閃等)。2課題綜述2.1課題的來源當今社會,這種由單片機芯片控制各種硬件工作的技術(shù)也日益成熟,并普及在交通、化工、機械等各個領(lǐng)域。而流水燈這項技術(shù)在生活中的應(yīng)用更是廣泛,較為貼近生活。而流水燈控制的設(shè)計所需要的知識也正好吻合了我們本學期對于單片機這門課程的學習,因此設(shè)計流水燈控制的這個課題讓我們對知識的學習和鞏固都有了進一步的加深。2.2面正確問題這次課程設(shè)計是經(jīng)過STC89C52位單片機實現(xiàn)。但面正確問題卻是兩方面的:一個是軟件的設(shè)計,也就是實現(xiàn)流水燈控制功能的程序編輯;另一個是硬件的設(shè)計,需要我們自己連接、焊接電路板。而更為嚴峻的就是設(shè)計的最后還要將軟硬件相結(jié)合。3系統(tǒng)分析3.1STC89C52單片機引腳圖及引腳功能介紹本次設(shè)計的目的在于加深STC89C52單片機的理解,首先來簡單認識一下,它的引腳如圖3-1所示:圖3.1STC89C52STC89C52引腳能夠分為四個部分,各個引腳功能如下:主電源引腳(2根)Vcc:電源輸入,接+5V電源GND:接地線外接晶振引腳(2根)XTAL1:片內(nèi)振蕩電路的輸入端XTAL2:片內(nèi)振蕩電路的輸出端控制引腳(4根)RST/PROG:復(fù)位引腳,引腳上出現(xiàn)2個機器周期的高電平將使單片機復(fù)位。ALE/VPP:地址鎖存允許信號PESN:外部存儲器選通信號EA/VPP:程序存儲器的內(nèi)外部選通,接低電平從外部程序存儲器讀指令,如果接高電平則從內(nèi)部程序存儲器讀指令??删幊梯斎?輸出引腳(32根)STC89C52單片機有4組8位的可編程I/O口,分別為P0、P1、P2、P3口,每個口有8位(8根引腳),共32根。P0口:8位雙向I/O口線P1口:8位準雙向I/O口線P1口:8位雙向I/O口線P2口:8位準雙向I/O口線P3口:8位準雙向I/O口線4系統(tǒng)設(shè)計4.1硬件設(shè)計4.1.1.硬件框圖按照單片機系統(tǒng)擴展與系統(tǒng)配置狀況,單片機應(yīng)用系統(tǒng)可分為最小系統(tǒng)、最小功耗系統(tǒng)及典型系統(tǒng)等。STC89C52單片機是本次課程設(shè)計運用的主要原件。流水燈控制設(shè)計是用一個帶有32個發(fā)光二極管的單片機最小應(yīng)用系統(tǒng),即為由發(fā)光二極管、晶振、復(fù)位、電源等電路和必要的軟件組成的單個單片機。從原理圖中能夠看出,如果要讓接在P1、P2、P3、P0口的LED亮起來,那么只要把P2、P1、P3、P0口的電平變?yōu)榈碗娖骄湍軌蛄?;因此,要實現(xiàn)流水燈功能,我們只要將發(fā)光二極管LED1~LED32依次點亮、熄滅,32只LED燈便會一亮一暗的做流水燈了。在此我們還應(yīng)注意一點,由于人眼的視覺暫留效應(yīng)以及單片機執(zhí)行每條指令的時間很短,我們在控制二極管亮滅的時候應(yīng)該延時一段時間,否則我們就看不到“流水”效果了。4.1.2.硬件詳細設(shè)計(1)復(fù)位電路部分當要對晶體重置時,只要對此引腳電平提升至高電平并保持兩個及其周期以上的時間便能完成系統(tǒng)重置的各項動作,使得內(nèi)部特殊功能寄存器內(nèi)容均被設(shè)成已知狀態(tài)。(2)晶振部分4.2軟件設(shè)計單片機的應(yīng)用系統(tǒng)由硬件和軟件組成,在硬件原理圖搭建完成上電之后,我們還不能看到流水燈循環(huán)點亮的現(xiàn)象,我們還需要編寫程序控制單片機管腳電平的高低變化,來實現(xiàn)發(fā)光二極管的一亮一滅。4.3硬件原理圖 4.4元件清單表4-1元件清單元件名稱型號數(shù)量(個)單片機STC89C521單片機芯片底座DIP401晶振12MHz1瓷介電容30pF2電解電容10uF1按鈕開關(guān)/2普通電阻10kΩ1貼片電阻47032發(fā)光二級管紅色32電源+5V(VCC)1USB連接線/1萬能板9*1514.5效果實物圖(1)背面實物圖(2)正面實物圖4.6代碼編寫#include<REGX52.H>#define uint unsignedint#define uchar unsignedcharucharcodetable0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//LED從低位往高位移ucharcodetable1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};//LED從高位往低位移ucharcodetable2[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//LED從1個亮到8個都點亮(從低位往高位)ucharcodetable3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00};//LED從1個亮到8個都點亮(從高位往低位)ucharcodetable4[]={0x00,0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};//LED從8個全亮到一個都不亮(從低位往高位)ucharcodetable5[]={0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};//LED從8個全亮到一個都不亮(從高位往低位)ucharcodetable6[]={0xfe,0xfc,0xfa,0xf6,0xee,0xde,0xbe,0x7e};//LED從低位往高位移(最低位始終為0)ucharcodetable7[]={0x7f,0x3f,0x5f,0x6f,0x77,0x7b,0x7d,0x7e};//LED從高位往低位移(最高位始終為0)uchari,j; uinttt=70; voiddelay(uinttime) //延時函數(shù){ uintx,y; for(x=time;x>0;x--) for(y=110;y>0;y--);}voiddisp0() //狀態(tài)0所有LED閃爍3次{ for(i=0;i<3;i++) { P0=0x00;P2=0x00;P3=0x00;P1=0x00; delay(300); P0=0xff;P2=0xff;P3=0xff;P1=0xff; delay(300); }}voiddisp1() //狀態(tài)1LED順時針轉(zhuǎn)一圈{ for(i=0;i<8;i++) { P2=table1[i]; delay(100); } P2=0xff; for(i=0;i<8;i++) { P3=table1[i]; delay(100); } P3=0xff; for(i=0;i<8;i++) { P1=table1[i]; delay(100); } P1=0xff; for(i=0;i<8;i++) { P0=table0[i]; delay(100); } P0=0xff;}voiddisp2() //狀態(tài)2LED逆時針轉(zhuǎn)一圈{ for(i=0;i<8;i++) { P0=table1[i]; delay(100); } P0=0xff; for(i=0;i<8;i++) { P1=table0[i]; delay(100); } P1=0xff; for(i=0;i<8;i++) { P3=table0[i]; delay(100); } P3=0xff; for(i=0;i<8;i++) { P2=table0[i]; delay(100); } P2=0xff;}voiddisp3() //狀態(tài)34個LED同時順時、逆時針移動1/4圈{ for(i=0;i<8;i++) { P0=table1[i]; P1=table1[i]; P2=table1[i]; P3=table0[i]; delay(100); } for(i=0;i<8;i++) { P0=table0[i]; P1=table0[i]; P2=table0[i]; P3=table1[i]; delay(100); } P3=0xff;P0=0xff;}voiddisp4() //狀態(tài)42個LED同時順時針移動半圈{ for(i=0;i<8;i++) { P2=table1[i]; P1=table1[i]; delay(100); } P2=0xff;P1=0xff; for(i=0;i<8;i++) { P3=table1[i]; P0=table0[i]; delay(100); } P3=0xff;P0=0xff;}voiddisp5() //狀態(tài)52個LED同時逆時針移動半圈{ for(i=0;i<8;i++) { P0=table1[i]; P3=table0[i]; delay(100); } P0=0xff;P3=0xff; for(i=0;i<8;i++) { P1=table0[i]; P2=table0[i]; delay(100); } P1=0xff;P2=0xff;}voiddisp6() //狀態(tài)6LED自上而下逐漸點亮(一半點亮一半不亮){ for(i=0;i<8;i++) { P0=table3[i]; P2=table3[i]; delay(100); } P0=0xff;P2=0xff; for(i=0;i<8;i++) { P1=table2[i]; P3=table3[i]; delay(100); } P1=0xff;P3=0xff;}voiddisp7() //狀態(tài)7LED自下而上逐漸點亮(直到全部點亮){ for(i=0;i<8;i++) { P1=table3[i]; P3=table2[i]; delay(100); } for(i=0;i<8;i++) { P0=table2[i]; P2=table2[i]; delay(100); }}voiddisp8() //狀態(tài)8間斷8格的4個LED亮并逆時針旋轉(zhuǎn){ for(j=0;j<2;j++) { for(i=0;i<8;i++) { P0=table1[i]; P2=table0[i]; P1=table0[i]; P3=table0[i]; delay(100); } P0=0xff;P2=0xff;P1=0xff;P3=0xff; for(i=0;i<8;i++) { P0=table1[i]; P2=table0[i]; P1=table0[i]; P3=table0[i]; delay(100); } P0=0xff;P2=0xff;P1=0xff;P3=0xff; }}voiddisp9() //狀態(tài)9間斷8格的4個LED亮,然后逆時針逐漸點亮(直到全部點亮){ for(i=0;i<8;i++) { P0=table3[i]; P2=table2[i]; P1=table2[i]; P3=table2[i]; delay(100); } delay(500); }voiddisp10() //狀態(tài)10從LED全部亮到全不亮(間斷8格的4個LED開始逆時針熄滅){ for(i=0;i<9;i++) { P0=table5[i]; P2=table4[i]; P1=table4[i]; P3=table4[i]; delay(100); } delay(300);}voiddisp11() //狀態(tài)11間斷8格的4個LED亮并順時針旋轉(zhuǎn){ for(j=0;j<2;j++) { for(i=0;i<8;i++) { P0=table0[i]; P2=table1[i]; P1=table1[i]; P3=table1[i]; delay(100); } P0=0xff;P2=0xff;P1=0xff;P3=0xff; for(i=0;i<8;i++) { P0=table0[i]; P2=table1[i]; P1=table1[i]; P3=table1[i]; delay(100); } P0=0xff;P2=0xff;P1=0xff;P3=0xff; }}voiddisp12() //間斷8格的4個LED亮,然后順時針逐漸點亮(直到全部點亮){ for(i=0;i<8;i++) { P0=table2[i]; P2=table3[i]; P1=table3[i]; P3=table3[i]; delay(100); } delay(1000);}voiddisp13() //狀態(tài)13從LED全部亮到全不亮(間斷8格的4個LED開始順時針熄滅){ for(i=0;i<9;i++) { P0=table4[i]; P2=table5[i]; P1=table5[i]; P3=table5[i]; delay(100); } delay(300);}voiddisp14() //狀態(tài)14從LED不亮到全亮(從P0.0、P1.0、P2.0、P3.7開始逐步點亮){ for(i=0;i<8;i++) { P0=table2[i]; P1=table2[i]; P2=table2[i]; P3=table3[i]; delay(100); }}voiddisp15()//狀態(tài)15從LED全亮到全不亮(P0.7、P1.7、P2.7、P3.0逐步熄滅){ for(i=0;i<9;i++) { P0=table5[i]; P1=table5[i]; P2=table5[i]; P3=table4[i]; delay(100); } delay(300);}voiddisp16() //狀態(tài)16LED燈交替閃爍(頻率有慢變快){ for(i=0;i<5;i++) { P0=0xaa;P1=0xaa;P2=0xaa;P3=0xaa; delay(100); P0=~P0;P1=~P1;P2=~P2;P3=~P3; delay(100); } for(i=0;i<5;i++) { P0=0xaa;P1=0xaa;P2=0xaa;P3=0xaa; delay(200); P0=~P0;P1=~P1;P2=~P2;P3=~P3; delay(200); } for(i=0;i<5;i++) { P0=0xaa;P1=0xaa;P2=0xaa;P3=0xaa; delay(300); P0=~P0;P1=~P1;P2=~P2;P3=~P3; delay(300); } P0=0xff;P2=0xff;P1=0xff;P3=0xff; delay(300);}voiddisp17() //狀態(tài)17從P0.7開始逆時針逐步點亮,(循環(huán)2次)而且速度會逐步提高{ for(i=0;i<8;i++) { P0=table3[i]; delay(100); } for(i=0;i<8;i++) { P1=table2[i]; delay(100); } for(i=0;i<8;i++) { P3=table2[i]; delay(100); } for(i=0;i<8;i++) { P2=table2[i]; delay(100); } P0=0xff;P1=0xff;P3=0xff;P2=0xff; for(i=0;i<8;i++) { P0=table3[i]; delay(50); } for(i=0;i<8;i++) { P1=table2[i]; delay(50); } for(i=0;i<8;i++) { P3=table2[i]; delay(50); } for(i=0;i<8;i++) { P2=table2[i]; delay(50); } P0=0xff;P1=0xff;P3=0xff;P2=0xff; }voiddisp18() //狀態(tài)18LED從P0.7開始逆時針逐步點亮(每亮8位后就熄滅){ for(i=0;i<8;i++) { P0=table3[i]; delay(100); } P0=0xff; for(i=0;i<8;i++) { P1=table2[i]; delay(100); } P1=0xff; for(i=0;i<8;i++) { P3=table2[i]; delay(100); } P3=0xff; for(i=0;i<8;i++) { P2=table2[i]; delay(100); } P2=0xff; }voiddisp19() //狀態(tài)19LED從P2.7開始順時針逐步點亮,(循環(huán)2次)而且速度會逐步提高{ for(i=0;i<8;i++) { P2=table3[i]; delay(100); } for(i=0;i<8;i++) { P3=table3[i]; delay(100); } for(i=0;i<8;i++) { P1=table3[i]; delay(100); } for(i=0;i<8;i++) { P0=table2[i]; delay(100); } P0=0xff;P1=0xff;P3=0xff;P2=0xff; for(i=0;i<8;i++) { P2=table3[i]; delay(50); } for(i=0;i<8;i++) { P3=table3[i]; delay(50); } for(i=0;i<8;i++) { P1=table3[i]; delay(50); } for(i=0;i<8;i++) { P0=table2[i]; delay(50); } P0=0xff;P1=0xff;P3=0xff;P2=0xff; }voiddisp20() //狀態(tài)20LED從P2.7開始順時針逐步點亮(每亮8位后就熄滅){ for(i=0;i<8;i++) { P2=table3[i]; delay(100); } P2=0xff; for(i=0;i<8;i++) { P3=table3[i]; delay(100); } P3=0xff; for(i=0;i<8;i++) { P1=table3[i]; delay(100); } P1=0xff; for(i=0;i<8;i++) { P0=table2[i]; delay(100); } P0=0xff; }voiddisp21() //狀態(tài)212個LED開始上下移動半圈{ for(i=0;i<8;i++) { P0=table1[i]; P2=table1[i]; delay(100); } P0=0xff;P2=0xff; for(i=0;i<8;i++) { P1=table0[i]; P3=table1[i]; delay(100); } for(i=0;i<8;i++) { P1=table1[i]; P3=table0[i]; delay(100); } P1=0xff;P3=0xff; for(i=0;i<8;i++) { P0=table0[i]; P2=table0[i]; delay(100); }}voiddisp22() //裝態(tài)222個LED自上而下移動(循環(huán)5次,且頻率漸快,到最快時持續(xù)循環(huán)16次,然后循環(huán)5次頻率再逐漸降低){ for(j=0;j<5;j++) { for(i=0;i<8;i++) { P0=table1[i]; P2=table1[i]; delay(tt); } P0=0xff;P2=0xff; for(i=0;i<8;i++) { P1=table0[i]; P3=table1[i]; delay(tt); } P1=0xff;P3=0xff; tt=tt-10; } for(j=0;j<16;j++) { for(i=0;i<8;i++) { P0=table1[i]; P2=table1[i]; delay(20); } P0=0xff;P2=0xff; for(i=0;i<8;i++) { P1=table0[i]; P3=table1[i]; delay(20); } P1=0xff;P3=0xff; } tt=20; for(j=0;j<5;j++) { for(i=0;i<8;i++) { P0=table1[i]; P2=table1[i]; delay(tt); } P0=0xff;P2=0xff; for(i=0;i<8;i++) { P1=table0[i]; P3=table1[i]; delay(tt); } P1=0xff;P3=0xff; tt=tt+10; } tt=70; }voiddisp23() //狀態(tài)23LED上下交替閃爍{ for(i=0;i<2;i++) { P0=0x00;P2=0x00; delay(1000); P0=0xff;P2=0xff; P1=0x00;P3=0x00; delay(1000); P1=0xff;P3=0xff; }}voiddisp24() //狀態(tài)24LED左右交替閃爍{ P1=0xff;P3=0xff;P0=0xff;P2=0xff; for(i=0;i<2;i++) { P0=0x00;P1=0x00; delay(1000); P0=0xff;P1=0xff; P2=0x00;P3=0x00; delay(1000); P2=0xff;P3=0xff; }}voiddisp25() //狀態(tài)25LED交替閃爍{ for(i=0;i<5;i++) { P0=0xaa;P1=0xaa;P2=0xaa;P3=0xaa; delay(1000); P0=~P0;P1=~P1;P2=~P2;P3=~P3; delay(1000); }}voiddisp26() //狀態(tài)262個LED開始上下移動半圈(LED不亮流水){ P0=0x00;P1=0x00;P2=0x00;P3=0x00; for(i=0;i<8;i++) { P0=~table1[i]; P2=~table1[i]; delay(200); } P0=0x00;P2=0x00; for(i=0;i<8;i++) { P1=~table0[i]; P3=~table1[i]; delay(200); } for(i=0;i<8;i++) { P1=~table1[i]; P3=~table0[i]; delay(200); } P1=0x00;P3=0x00; for(i=0;i<8;i++) { P0=~table0[i]; P2=~table0[i]; delay(200); }}voiddisp27() //狀態(tài)27逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED{ P0=0xff;P1=0xff;P2=0xff;P3=0xff; for(j=0;j<2;j++) { for(i=0;i<8;i++) { P2=table3[i]; P1=table3[i]; delay(100); } P2=0xff;P1=0xff; for(i=0;i<8;i++) { P0=table2[i]; P3=table3[i]; delay(100); } P0=0xff;P3=0xff; }} voiddisp28() //狀態(tài)28P1、P2和P0、P3交替閃爍{ for(i=0;i<2;i++) { P1=0x00;P2=0x00;P0=0xff;P3=0xff; delay(1000); P1=0xff;P2=0xff;P0=0x00;P3=0x00; delay(1000); } P1=0xff;P2=0xff;P0=0xff;P3=0xff;}voiddisp29() //狀態(tài)29逐步順時針點亮P2、P1的LED,再順時熄滅后,再順時針點亮P0、P3的LED,再順時熄滅{ P0=0xff;P1=0xff;P2=0xff;P3=0xff; for(j=0;j<2;j++) { for(i=0;i<8;i++) { P2=table3[i]; P1=table3[i]; delay(100); } for(i=0;i<9;i++) { P2=table5[i]; P1=table5[i]; delay(100); } for(i=0;i<8;i++) { P0=table2[i]; P3=table3[i]; delay(100); } for(i=0;i<9;i++) { P0=table4[i]; P3=table5[i]; delay(100); } } delay(200); }voiddisp30() //狀態(tài)30逐步逆時針點亮P2、P1的LED,熄滅后,再逆時針點亮P0、P3的LED{ P0=0xff;P1=0xff;P2=0xff;P3=0xff; for(j=0;j<2;j++) { for(i=0;i<8;i++) { P2=table2[i]; P1=table2[i]; delay(100); } P2=0xff;P1=0xff; for(i=0;i<8;i++) { P0=table3[i]; P3=table2[i]; delay(100); } P0=0xff;P3=0xff; }}voiddisp31() //狀態(tài)31逐步逆時針點亮P2、P1的LED,再逆時熄滅后,再逆時針點亮P0、P3的LED,再逆時熄滅{ P0=0xff;P1=0xff;P2=0xff;P3=0xff; for(j=0;j<2;j++) { for(i=0;i<8;i++) { P2=table2[i]; P1=table2[i]; delay(100); } for(i=0;i<9;i++) { P2=table4[i]; P1=table4[i]; delay(100); } for(i=0;i<8;i++) { P0=table3[i]; P3=table2[i]; delay(100); } for(i=0;i<9;i++) { P0=table5[i]; P3=table4[i]; delay(100); } } delay(200); }voiddisp32() //狀態(tài)32LED自上而下逐步點亮,然后從下往上逐步熄滅{ for(i=0;i<8;i++) { P0=table3[i]; P2=table3[i]; delay(100); } for(i=0;i<8;i++) { P1=table2[i]; P3=table3[i]; delay(100); } for(i=0;i<9;i++) { P1=table5[i]; P3=table4[i]; delay(100); } for(i=0;i<9;i++) { P0=table4[i]; P2=table4[i]; delay(100); }}voiddisp33() //狀態(tài)33LED從左往右開始點亮(直到全亮),然后從左右兩邊開始熄滅(直到全部熄滅){ for(i=0;i<8;i++) { P0=table2[i]; P1=table2[i]; delay(100); } for(i=0;i<8;i++) { P2=table3[i]; P3=table2[i]; delay(100); } delay(500); for(i=0;i<9;i++) { P2=table4[i]; P3=table5[i]; P1=table4[i]; P0=table4[i]; delay(100); } delay(300);}voiddisp34() //狀態(tài)34LED從左往右開始點亮(直到全亮),然后從中間往左右邊熄滅{ for(i=0;i<8;i++) { P2=table2[i]; P3=table3[i]; delay(100); } for(i=0;i<8;i++) { P0=table3[i]; P1=table3[i]; delay(100); } delay(500); for(i=0;i<9;i++) { P2=table5[i]; P3=table4[i]; P1=table5[i]; P0=table5[i]; delay(100); } delay(300); }voiddisp35() //狀態(tài)35從P2.7、P1.7開始同時順時針旋轉(zhuǎn),直到LED全亮{ for(i=0;i<8;i++) { P2=table3[i]; P1=table3[i]; delay(100); } for(i=0;i<8;i++) { P3=table3[i]; P0=table2[i]; delay(100); }}voiddisp36() //狀態(tài)36從P0.7、P3.1開始同時逆時針旋轉(zhuǎn),直到LED全亮{ for(i=0;i<8;i++) { P0=table3[i]; P3=table2[i]; delay(100); } for(i=0;i<8;i++) { P1=table2[i]; P2=table2[i]; delay(100); }}voiddisp37() //狀態(tài)372個LED自上而下移動,并點亮最下2個LED,然后2個LED再自下而上回去,同時4個LED(上下各2個LED)再來回移動一次{ for(i=0;i<8;i++) { P0=table1[i]; P2=table1[i]; delay(100); } P0=0xff;P2=0xff; for(i=0;i<8;i++) { P1=table0[i]; P3=table1[i]; delay(100); } for(i=0;i<8;i++) { P1=table7[i]; P3=table6[i]; delay(100); } P1=0x7f;P3=0xfe; for(i=0;i<8;i++) { P0=table0[i]; P2=table0[i]; delay(100); } for(i=0;i<8;i++) { P0=table1[i]; P2=table1[i]; P1=table1[i]; P3=table0[i]; delay(200); } for(i=0;i<8;i++) { P0=table0[i]; P1=table0[i]; P2=table0[i]; P3=table1[i]; delay(200); } P0=0xff;P1=0xff;P2=0xff;P3=0xff;}voiddisp38() //狀態(tài)38逐步順時針點亮P2、P1的LED,熄滅后,再順時針點亮P0、P3的LED{ P0=0xff;P1=0xff;P2=0xff;P3=0xff; for(j=0;j<2;j++) { for(i=0;i<8;i++) { P2=table3[i]; P1=table3[i]; delay(100); } P2=0xff;P1=0xff; for(i=0;i<8;i++) { P0=table2[i]; P3=table3[i]; delay(100); } P0=0xff;P3=0xff; } }voiddisp39() //狀態(tài)39P1、P3LED(下半部分)一直亮,上半部分LED向外擴張亮,然后閃爍3次{ P1=0x00;P3=0x00; for(i=0;i<8;i++) { P0=table3[i]; P2=table3[i]; delay(150); } for(i=0;i<8;i++) { P0=table3[i]; P2=table3[i]; delay(300); } for(i=0;i<4;i++) { P0=~P0;P2=~P2; delay(300); } delay(1000);}voiddisp40() //狀態(tài)40LED從P3.0、P0.7開始逆時針同時熄滅,直到LED全部熄滅{ for(i=0;i<9;i++) { P3=table4[i]; P0=table5[i]; delay(100); } for(i=1;i<9;i++) { P2=table4[i]; P1=table4[i]; delay(100); } delay(300); }voiddisp41() //狀態(tài)41LED從P2.7、P1.7開始順時針同時熄滅,直到全部熄滅{ for(i=0;i<9;i++) { P2=table5[i]; P1=table5[i]; delay(100); } for(i=1;i<9;i++) { P0=table4[i]; P3=table5[i]; delay(100); } delay(300); }voidmain(){ while(1) { disp22(); //裝態(tài)222個LED自上而下移動(循環(huán)5次,且頻率漸快,到最快時持續(xù)循環(huán)16次,然后循環(huán)5次頻率再逐漸降低) disp0(); //狀態(tài)0所有LED閃爍3次 disp1(); //狀態(tài)1LED順時針轉(zhuǎn)一圈 disp2(); //狀態(tài)2LED逆時針轉(zhuǎn)一圈 disp3(); //狀態(tài)34個LED同時順時、逆時針移動1/4圈 disp4(); //狀態(tài)42個LED同時順時針移動 disp5(); //狀態(tài)52個LED同時逆時針移動半圈 disp6(); //狀態(tài)6LED自上而下逐漸點亮(一半點亮一半不亮) disp7(); //狀態(tài)7LED自下而上逐漸點亮(直到全部點亮) disp0(); //狀態(tài)0所有LED閃爍3次 disp8(); //狀態(tài)8間斷8格的4個LED亮并逆時針旋轉(zhuǎn) disp9(); //狀態(tài)9間斷8格的4個LED亮,然后逆時針逐漸點亮(直到全部點亮) disp10(); //狀態(tài)10從LED全部亮到全不亮(間斷8格的4個LED開始逆時針熄滅) disp11(); //狀態(tài)11間斷8格的4個LED亮并順時針旋轉(zhuǎn) disp12(); //間斷8格的4個LED亮,然后順時針逐漸點亮(直到全部點亮) disp13(); //狀態(tài)13從LED全部亮到全不亮(間斷8格的4個LED開始順時針熄滅) disp14(); //狀態(tài)14從LED不亮到全亮(從P0.0、P1.0、P2.0、P3.7開始逐布點亮) disp15(); //狀態(tài)15從LED全亮到全不亮(從P0.7、P1.7、P2.7、P3.0開始逐步熄滅) disp16(); //狀態(tài)16LED燈交替閃爍(頻率有慢變快) disp17(); //狀態(tài)17LED從P0.7開始逆時針逐步點亮,而且速度會逐步提高 disp18(); //狀態(tài)18LED從P0.7開始逆時針逐步點亮(每亮8位后就熄滅) disp19(); //狀態(tài)19LED從P2.7開始順時針逐步點亮,(循環(huán)2次)而且速度會逐步提高 disp20(); //狀態(tài)20LED從P2.7開始順時針逐步點亮(每亮8位后就熄滅) disp21(); //狀態(tài)212個LED開始上下移動半圈 disp22(); //裝態(tài)222個LED自上而下移動(循環(huán)5次,且頻率漸快,到最快時持續(xù)循環(huán)16次,然后循環(huán)5次頻率再逐漸降低 disp23(); //狀態(tài)23LED上下交替閃爍 disp39(); //狀態(tài)39P1、P3LED(下半部分)一直亮,上半部分LED向外擴張亮,然后閃爍3次 disp24(); //狀態(tài)24LED左右交替閃爍 disp25(); //狀態(tài)25LED交替閃爍 disp8(); //狀態(tài)8間斷8格的4個LED亮并逆時針旋轉(zhuǎn) disp9(); //狀態(tài)9間斷8格的4個LED亮,然后逆時針逐漸點亮(直到全部點亮) disp10(); //狀態(tài)10從LED全部亮到全不亮(間斷8格的4個LED開始逆時針熄滅) disp26(); //狀態(tài)262個LED開始上下移動半圈(LED不亮流水) disp27(); //狀態(tài)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026江西銅業(yè)鑫瑞科技有限公司第二批次校園招聘3人備考考試題庫及答案解析
- 2026年南昌大學共青學院人才招聘17人備考考試題庫及答案解析
- 2026廣東佛山順德昌教小學招聘英語臨聘教師1人參考考試題庫及答案解析
- 活動物料策劃方案(3篇)
- 正規(guī)弱電施工方案(3篇)
- 酒店財務(wù)采購管理制度匯編(3篇)
- 化妝拍攝活動策劃方案(3篇)
- 企業(yè)員工居家隔離管理制度(3篇)
- 2026江西省江銅南方公司社會招聘2人參考考試題庫及答案解析
- 2026山東臨沂蘭陵縣部分事業(yè)單位招聘綜合類崗位34人參考考試題庫及答案解析
- 2026年婦聯(lián)崗位面試高頻考點對應(yīng)練習題及解析
- 北京通州產(chǎn)業(yè)服務(wù)有限公司招聘筆試備考題庫及答案解析
- 2026屆江蘇省揚州市江都區(qū)大橋、丁溝、仙城中學生物高一上期末聯(lián)考模擬試題含解析
- 2026廣東廣州開發(fā)區(qū)統(tǒng)計局(廣州市黃埔區(qū)統(tǒng)計局)招聘市商業(yè)調(diào)查隊隊員1人參考題庫完美版
- 期末測試卷(試卷)2025-2026學年三年級數(shù)學上冊(人教版)
- 帶式輸送機運輸巷作為進風巷專項安全技術(shù)措施
- 人教版(2024)八年級下冊英語:課文+翻譯
- 水空調(diào)安裝協(xié)議書
- 工程投資估算與審核編制操作規(guī)程
- 《小企業(yè)會計準則》教案(2025-2026學年)
- 華為全員持股協(xié)議書
評論
0/150
提交評論