單片機LED點陣流水燈的製作及電路設計
下面是單片機 LED視頻,在視頻廣告時間你可以瀏覽後面的圖文資料哦~
/***************************************************程序名稱:單片機流水燈簡要說明:P0口、P2.0、P2.1輸出10路彩燈信號編 寫:***************************************************/#include<AT89X52.h>#define uchar unsigned char#define uint unsigned intsbit lie1=P0^6;sbit lie2=P0^5;sbit lie3=P0^4;sbit lie4=P0^3;sbit lie5=P0^2;sbit lie6=P0^1;/*****(n)ms延時子程序*****/void delayms(uint n){while(n--){uchar i;for(i=0;i<125;i++);}}/*****開機畫面*****/void kaiji(void){P0=P2=0xff;delayms(2000);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);}/*****流水顯示*****/void liushui1(void){uchar temp0,i;temp0=0x01;for(i=0;i<7;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui2(void){uchar temp0,i;temp0=0x03;for(i=0;i<6;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui3(void){uchar temp0,i;temp0=0x07;for(i=0;i<5;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui4(void){uchar temp0,i;temp0=0x0f;for(i=0;i<4;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui5(void){uchar temp0,i;temp0=0x1f;for(i=0;i<3;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui6(void){uchar temp0,i;temp0=0x3f;for(i=0;i<2;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui7(void){uchar temp0,i;temp0=0x7f;for(i=0;i<1;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui8(void){uchar temp0,i;temp0=0x05;for(i=0;i<5;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui9(void){uchar temp0,i;temp0=0x15;for(i=0;i<3;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui10(void){uchar temp0,i;temp0=0x55;for(i=0;i<1;i++){P0=temp0;delayms(200);temp0=temp0*2;}}/*****閃爍1*****/void shanshuo1(void){uchar i;for(i=0;i<5;i++){P2=0xff;P0=0x80;delayms(200);P0=0x7f;P2=0x00;delayms(200);}delayms(500);P0=P2=0x00;delayms(200);}/*****跑馬顯示*****/void paoma(uchar sudu){uchar i,j;uchar temp1=0x01;uchar temp2=0x40;for(i=0;i<6;i++){P0=temp1;delayms(sudu);temp1=temp1*2;}for(j=0;j<6;j++){P0=temp2;delayms(sudu);temp2=temp2/2;}}/*****閃爍2*****/void shanshuo2(void){uchar i;for(i=0;i<7;i++){P2=0xff;P0=0x80;delayms(200);P2=0x00;P0=0x00;delayms(200);}delayms(500);}/*****堆積顯示子程序*****/void duiji1(void){uchar temp0=0x01,i;for(i=0;i<7;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void duiji2(void){uchar temp0=0x01,i;for(i=0;i<6;i++){P0=temp0;lie1=1;delayms(200);temp0=temp0*2;}}void duiji3(void){uchar temp0=0x01,i;for(i=0;i<5;i++){P0=temp0;lie1=1;lie2=1;delayms(200);temp0=temp0*2;}}void duiji4(void){uchar temp0=0x01,i;for(i=0;i<4;i++){P0=temp0;lie1=1;lie2=1;lie3=1;delayms(200);temp0=temp0*2;}}void duiji5(void){uchar temp0=0x01,i;for(i=0;i<3;i++){P0=temp0;lie1=1;lie2=1;lie3=1;lie4=1;delayms(200);temp0=temp0*2;}}void duiji6(void){uchar temp0=0x01,i;for(i=0;i<2;i++){P0=temp0;lie1=1;lie2=1;lie3=1;lie4=1;lie5=1;delayms(200);temp0=temp0*2;}}void duiji7(void){uchar temp0=0x01,i;for(i=0;i<1;i++){P0=temp0;lie1=1;lie2=1;lie3=1;lie4=1;lie5=1;lie6=1;delayms(200);temp0=temp0*2;}}/*****閃爍3*****/void shanshuo3(void){uchar i;for(i=0;i<7;i++){P0=0x55;delayms(200);P0=0x7f;delayms(200);}delayms(500);}/*****主程序*****/void main(void){P0=P2=0x00;while(1){kaiji();liushui1();liushui2();liushui3();liushui4();liushui5();liushui6();liushui7();delayms(500);shanshuo1(); paoma(200);paoma(150);paoma(100);paoma(80);paoma(50);paoma(40);paoma(40);paoma(30);paoma(30);paoma(30);paoma(30);paoma(20);paoma(20);paoma(20);paoma(20);paoma(20);paoma(20);P0=0x41;delayms(1000);shanshuo2();duiji1();duiji2();duiji3();duiji4();duiji5();duiji6();duiji7();delayms(500);liushui8();liushui8();liushui8();liushui9();liushui9();liushui9();liushui10();liushui10();liushui10();shanshuo3();}}
圖1是單片機最小系統電路;圖2是驅動電路。共10路光源DS1~DS10,分別由AT89S52的P0口、P2的高兩位驅動;每一路光源由14只高亮LED並聯。圖2中的D1、D2起到給光源部分降壓的作用,這樣LED可以不加限流電阻,因爲VCC(5V)減去D1、D2、三極管的壓降之和後可以保證LED安全地工作。
圖1 AT89S52單片機最小系統
圖2 驅動與光源電路
單片機最小系統板是以前做的直接拿來用了,自己做了驅動板:
爲了不改動單片機最小系統板於是在驅動板上焊上排座,巧妙地實現兩塊板子間的電氣連接:
拆開彩燈的外殼,掏空原先的電路,只留下電源部分:
將電路板固定在上面:
換個角度看,鋁散熱片上固定的是LM7805穩壓塊:
再將那10路光源也就是顯示面板連接至驅動電路板:
軟件設計:
對於此作品,軟件上除了實現流水燈的功能就沒有其他技巧,但爲了儘量使彩燈好看一些,不得不挖空心思想一些新花樣。既便如此,一個51芯片也綽綽有餘。
/***************************************************程序名稱:單片機流水燈簡要說明:P0口、P2.0、P2.1輸出10路彩燈信號編 寫:***************************************************/#include<AT89X52.h>#define uchar unsigned char#define uint unsigned intsbit lie1=P0^6;sbit lie2=P0^5;sbit lie3=P0^4;sbit lie4=P0^3;sbit lie5=P0^2;sbit lie6=P0^1;/*****(n)ms延時子程序*****/void delayms(uint n){while(n--){uchar i;for(i=0;i<125;i++);}}/*****開機畫面*****/void kaiji(void){P0=P2=0xff;delayms(2000);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);P0=P2=0xff;delayms(200);P0=P2=0x00;delayms(200);}/*****流水顯示*****/void liushui1(void){uchar temp0,i;temp0=0x01;for(i=0;i<7;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui2(void){uchar temp0,i;temp0=0x03;for(i=0;i<6;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui3(void){uchar temp0,i;temp0=0x07;for(i=0;i<5;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui4(void){uchar temp0,i;temp0=0x0f;for(i=0;i<4;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui5(void){uchar temp0,i;temp0=0x1f;for(i=0;i<3;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui6(void){uchar temp0,i;temp0=0x3f;for(i=0;i<2;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui7(void){uchar temp0,i;temp0=0x7f;for(i=0;i<1;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui8(void){uchar temp0,i;temp0=0x05;for(i=0;i<5;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui9(void){uchar temp0,i;temp0=0x15;for(i=0;i<3;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void liushui10(void){uchar temp0,i;temp0=0x55;for(i=0;i<1;i++){P0=temp0;delayms(200);temp0=temp0*2;}}/*****閃爍1*****/void shanshuo1(void){uchar i;for(i=0;i<5;i++){P2=0xff;P0=0x80;delayms(200);P0=0x7f;P2=0x00;delayms(200);}delayms(500);P0=P2=0x00;delayms(200);}/*****跑馬顯示*****/void paoma(uchar sudu){uchar i,j;uchar temp1=0x01;uchar temp2=0x40;for(i=0;i<6;i++){P0=temp1;delayms(sudu);temp1=temp1*2;}for(j=0;j<6;j++){P0=temp2;delayms(sudu);temp2=temp2/2;}}/*****閃爍2*****/void shanshuo2(void){uchar i;for(i=0;i<7;i++){P2=0xff;P0=0x80;delayms(200);P2=0x00;P0=0x00;delayms(200);}delayms(500);}/*****堆積顯示子程序*****/void duiji1(void){uchar temp0=0x01,i;for(i=0;i<7;i++){P0=temp0;delayms(200);temp0=temp0*2;}}void duiji2(void){uchar temp0=0x01,i;for(i=0;i<6;i++){P0=temp0;lie1=1;delayms(200);temp0=temp0*2;}}void duiji3(void){uchar temp0=0x01,i;for(i=0;i<5;i++){P0=temp0;lie1=1;lie2=1;delayms(200);temp0=temp0*2;}}void duiji4(void){uchar temp0=0x01,i;for(i=0;i<4;i++){P0=temp0;lie1=1;lie2=1;lie3=1;delayms(200);temp0=temp0*2;}}void duiji5(void){uchar temp0=0x01,i;for(i=0;i<3;i++){P0=temp0;lie1=1;lie2=1;lie3=1;lie4=1;delayms(200);temp0=temp0*2;}}void duiji6(void){uchar temp0=0x01,i;for(i=0;i<2;i++){P0=temp0;lie1=1;lie2=1;lie3=1;lie4=1;lie5=1;delayms(200);temp0=temp0*2;}}void duiji7(void){uchar temp0=0x01,i;for(i=0;i<1;i++){P0=temp0;lie1=1;lie2=1;lie3=1;lie4=1;lie5=1;lie6=1;delayms(200);temp0=temp0*2;}}/*****閃爍3*****/void shanshuo3(void){uchar i;for(i=0;i<7;i++){P0=0x55;delayms(200);P0=0x7f;delayms(200);}delayms(500);}/*****主程序*****/void main(void){P0=P2=0x00;while(1){kaiji();liushui1();liushui2();liushui3();liushui4();liushui5();liushui6();liushui7();delayms(500);shanshuo1(); paoma(200);paoma(150);paoma(100);paoma(80);paoma(50);paoma(40);paoma(40);paoma(30);paoma(30);paoma(30);paoma(30);paoma(20);paoma(20);paoma(20);paoma(20);paoma(20);paoma(20);P0=0x41;delayms(1000);shanshuo2();duiji1();duiji2();duiji3();duiji4();duiji5();duiji6();duiji7();delayms(500);liushui8();liushui8();liushui8();liushui9();liushui9();liushui9();liushui10();liushui10();liushui10();shanshuo3();}}
相關文章
-
回形針製作有趣的簡單迴路LED燈設計作品
1、還“地球媽媽”一張潔白乾淨的“臉”吧!2、環境保護從我身邊做起。3、多種一棵翠綠的小樹,還我一片蔚藍的天空。4、發展經濟不能以犧牲環境爲代價。5、放下千斤斧,快去勤植樹!6、廢氣,stop!廢水,stop!染污,goaway!7、風清 -
LED燈泡製作的鐵管燈系列創意設計
這是使用新型的 T8LED 燈泡製作的燈具,新型的LED燈泡不經照明效果好而且重量更輕,產生的熱量更低,這給燈具的設計帶來了更多可能性。設計師使用彎曲的鐵棍和一個簡單的三角支撐架就組合出了這樣一系列的燈具。LED燈泡製 -
設計師Xie Ling Lin設計的手搖咖啡機圖片欣賞小製作
1.夢見鴿子一般是祥瑞;代表着婚姻美滿,會得到無數錢財。2.夢見抓鴿子,代表着你身強力壯。3.已婚者夢見抓鴿子,預示着你要出遠門,最好暫時不要外出。4.尋找工作者夢見抓鴿子,暗示着你要找工作,求職運氣繼續走高,能獲得別人看來 -
趣味紙電路製作套件(05驅動全綵LED燈)手工電子DIY教程
每一次開學我們要準備一篇自我介紹去認識新的好朋友吧,今天小編就給大家分享自我介紹指導,僅供大家參考初一學生自我介紹參考各位同學們,大家好,我的名字叫***。初次見面,想必大家對我還不是很熟悉。所以,下面我就爲大家做 -
路虎Land Rover汽車廣告創意設計圖片小製作
汽車廣告欣賞:路虎(Land Rover) -
LOVE生日彩燈祝福盒子的製作方法及線路圖小製作
下面是彩燈 盒子視頻,在視頻廣告時間你可以瀏覽後面的圖文資料哦~這是早期學習數字電路的時候的作品,很多愛好者向我詢問有沒有資料,於是靠着自己的回憶將資料整理出來分享給大家。此作品特別適合初學者製作,其本質就是用 -
LOVE生日彩燈祝福盒子的製作方法及線路圖
下面是彩燈 盒子視頻,在視頻廣告時間你可以瀏覽後面的圖文資料哦~這是早期學習數字電路的時候的作品,很多愛好者向我詢問有沒有資料,於是靠着自己的回憶將資料整理出來分享給大家。此作品特別適合初學者製作,其本質就是用 -
藝術家Alexander Wells的插畫設計圖片作品欣賞小製作
導語:情人節來到了,那麼情人之間應該準備什麼祝福短語呢?以下是小編爲大家蒐集的文章,歡迎大家閱讀與借鑑! 情人節祝福語英文短語(一) love and to be loved is the greatest happiness of existence.愛人和被人愛是人生 -
韓國設計師JUNG EEEUN產品設計:錄像帶燈及雪燈
如果家中還有老式的錄像帶,可以考慮按韓國設計師JUNG EEEUN的這個創意來做一個“錄像帶燈”,效果不錯,夠陰森。同時他還設計了一個所謂“雪燈”,用的材料是泡沫塑料。另外他還有一些趣味首飾設計值得一看,官方網站:另據@sh -
個性插畫設計圖片作品 設計師Alexander插畫設計小製作
設計師Alexander Kostenko的作品,很有趣的插畫設計,有點詼諧,卻傳播着快樂。個性插畫設計圖片作品設計師Alexander插畫設計設計師Alexander插畫設計設計師Alexander插畫設計設計師Alexander插畫設計設計師Alexander插畫