彩燈變化[分享借鑒]_第1頁
彩燈變化[分享借鑒]_第2頁
彩燈變化[分享借鑒]_第3頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2013級單片機課程設計 石家莊鐵道大學四方學院集中實踐報告書課題名稱節(jié)日彩燈控制器姓 名學 號系、 部電氣工程系專業(yè)班級方指導教師高迎霞 孫秀婷2016年 7月 2日 材料分享#1、 設計任務及要求:設計任務:1.了解節(jié)日彩燈控制器的工作原理;2.掌握電路板的實物焊接;3.掌握獨立電源設計方法和原理;要 求: 設計4個按鍵S0、S1、S2、S3:S0開始,按此鍵則燈開始流動(由上而下);S1停止,按此鍵則停止流動,所有燈為暗;S2上,按此鍵則燈由上向下加速流動;S3下,按此鍵則燈由下向上流動;二、指導教師評語: 三、成績 指導教師簽名: 年 月 日 節(jié)日彩燈控制器一、設計目的 1.了解節(jié)日彩

2、燈控制器的工作原理; 2.掌握電路板的實物焊接; 3.掌握獨立電源設計方法和原理;二、設計要求 設計4個按鍵S0、S1、S2、S3: S0開始,按此鍵則燈開始流動(由上而下); S1停止,按此鍵則停止流動,所有燈為暗; S2上,按此鍵則燈由上向下加速流動; S3下,按此鍵則燈由下向上流動;3、 硬件電路設計3.1系統(tǒng)結構框圖電源8個LED燈顯示器 單片機開關圖3-1 節(jié)日彩燈控制系統(tǒng)框圖節(jié)日彩燈控制系統(tǒng)主要由單片機、LED燈、5V電源及開關組成幾部分組成。系統(tǒng)框圖如圖3-1所示。3.2 STC89C52單片機介紹VCC:供電電壓。 GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每

3、腳可吸收8個TTL門電流。當P0口的管腳第一次寫“1”時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個TTL門電流。P1口管腳寫入“1”后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門

4、電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL

5、)這是由于上拉的緣故。P3口作為AT89C51的一些特殊功能口,管腳備選功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(計時器0外部輸入)P3.5 T1(計時器1外部輸入)P3.6 /WR(片外數(shù)據(jù)存儲器寫引腳)P3.7/RD(片外數(shù)據(jù)存儲器讀引腳)圖3-2 STC89C52引腳圖3.3復位電路如圖3-3所示:圖3-3 復位電路圖復位是單片機的初始化操作,其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。單片機的RST引腳為主機提供了一個外部復位信號輸入口。利用的是

6、上電自動復位方式,只要VCC的上升時間不超過1ms,那么電源接通后就完成了系統(tǒng)的復位初始化。3.4晶振電路如圖3-4所示:圖3-4 晶振電路外接石英晶體或者陶瓷諧振器以及電容C1、C2接在放大器的反饋回路(AT89C52內部有一個用于構成內部振蕩器的高增益反相放大電路,XTAL1、XTAL2分別是該放大器的輸入和輸出端)中構成并聯(lián)振蕩電路。為了使裝置能夠被外部時鐘信號激活,XATL1應該有效,而XTAL2應該被懸空。由于輸入到內部的時鐘信號電路通過了一個二分頻的信號,外部信號的工作周期比沒有別的要求,但是最大值和最小值的大小可以在數(shù)據(jù)表上觀察出來。當正常工作時,外部振蕩器可以計算出XTAL1上

7、的電容,最大可達到100pF。這是由于振蕩器電容和反饋電容之間的相互作用。當外部信號是標準高電平或者低電平時,電容不會超過20PF。 3.5開關控制電路:圖3-5 開關控制電路開關控制電路由四個撥檔開關組成。四個開關一端共同接地,另外一端分別接單片機最小系統(tǒng)的P2口。通過P2口檢測開關狀態(tài)控制發(fā)光二極管亮燈方式。開光控制電路如圖3-3所示。3.6 LED顯示電路圖3-6發(fā)光二極管顯示電路主要由8個LED燈與保護電阻組成。LED采取共陽極接法,通過依次向連接LED的I/O口送出低電平,可實現(xiàn)流水燈。電源接最小系統(tǒng)+5V電壓,發(fā)光二極管顯示電路如圖3-6所示。3.7系統(tǒng)電路原理圖由按鍵控制功能的L

8、ED工作的方式,其中的LED采取共陽極接法通過依次向連接LED的I/O口送出低電平,可實現(xiàn)題目要求的功能。圖3-7系統(tǒng)電路原理圖LED彩燈系統(tǒng)包括5大部分,即閃爍系統(tǒng)、脈沖震蕩系統(tǒng)、核心控件(89C52主控模塊)、復位電路。主控模塊,具有控制功能,閃爍系統(tǒng)是受控模塊,上面焊有八個白色LED燈及八個大小為1k的電阻。脈沖震蕩系統(tǒng)是由一個12MHz的晶振及兩個12pf的電容組成。核心控件主要由89C52芯片組成,是整個彩燈循環(huán)系統(tǒng)的核心是控制彩燈循環(huán)閃爍等等一切功能的部件。復位開關連接控制器的RST端,實現(xiàn)復位控制?;?9C52單片機的彩燈控制方案,實現(xiàn)對LED彩燈的控制。本方案以89C52單片

9、機作為主控核心,與驅動等模塊組成核心主控制模塊。在主控模塊上設有晶振電路和8個LED顯示二極管,根據(jù)用戶需要可以編寫若干種亮燈模式,利用其兩個外部中斷實現(xiàn)花型的切換及快慢的切換,在不同時刻輸出燈亮或燈滅的控制信號,硬件主電路圖如圖3-5所示。節(jié)日彩燈控 制 器開關4發(fā)光二極管8電阻1k8排針14排線14導線若干表1 元器件清單3.8實物圖圖3-8 實物圖四、程序流程圖設計4.1主程序流程圖如圖4-1所示:圖4-1程序流程圖主程序是設置p1口作為輸出調用san()函數(shù)和wu()函數(shù),并且對其進行查表for循環(huán),賦值給p1口后使其輸出,觀察LED燈顯示當調用san()函數(shù)時LED燈由上而下流動點亮

10、,當調用wu()函數(shù)時LED燈由下而上流動點亮。4.2主程序流程圖如圖4-2所示:開始給a賦值a8?查表輸出LED亮延時a加1返回圖4-2 子程序調用san()函數(shù)流程圖子程序調用san()函數(shù)首先給a賦值看a是否小于8,當小于8時進行查表輸出否則返回主程序,當a進行查表輸出,LED燈亮,此時延時a加1,LED燈由上而下流水點亮。五、程序設計#include#define uchar unsigned char sbit s0=P24;sbit s1=P25;sbit s2=P26;sbit s3=P27;int i,a=1,a1=1,a2=0;bit flag=1;int number1,n

11、umber2; uchar lsd=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;uchar lsd1=0x18,0x24,0x42,0x81,0x81,0x42,0x24,0x18;void delay(int z) int x,y; for(x=z;x0;x-) for(y=110;y0;y-);void main() int n0,n1,n2,n3,n4; if(s0=0) n0=0;n1=0;n2=0;n3=0;n4=1; while(n4)/啟動 n0=1;n1=0;n2=0;n3=0; while(n0) for(i=0;i8;i+)P1=lsdi

12、; if(s1=0) a=1;n1=1;n0=0;n2=0;n3=0;break;if(s2=0) a=1;n2=1;n0=0;n1=0;n3=0;break; if(s3=0) a=1; n3=1;n0=0;n2=0;n1=0;break; delay(100);while(n1) /暫停 P1=0xff;if(s0=0) a=1; n0=1;n1=0;n2=0;n3=0;break;while(n2) / if(a=1) for(i=0;i8;i+) if(s1=0) a=1;n1=1;n0=0;n2=0;n3=0;break;if(s0=0) a=1;n0=1;n2=0;n1=0;n3=

13、0;break; if(s3=0) a=1;n3=1;n0=0;n2=0;n1=0;break; if(s2=0) a=a+1; n2=1;n0=0;n1=0;n3=0;break; P1=lsdi; delay(170); if(a=2) for(i=0;i8;i+) if(s1=0) a=1;n1=1;n0=0;n2=0;n3=0;break;if(s0=0) a=1;n0=1;n2=0;n1=0;n3=0;break; if(s3=0) a=1;n3=1;n0=0;n2=0;n1=0;break; if(s2=0) a=a+1; n2=1;n0=0;n1=0;n3=0;break; P1

14、=lsdi; delay(110); if(a=3) for(i=0;i=0;i-) P1=lsdi; delay(100); if(s1=0) a=1;n1=1;n0=0;n2=0;n3=0;break;if(s2=0) a=1;n2=1;n0=0;n1=0;n3=0;break; if(s0=0) a=1;n0=1;n3=0;n2=0;n1=0;break; 六、設計總結 程序寫入之后,按下按鍵S0,LED燈依次從上向下流動;按下按鍵S1,LED燈停止全滅;按下按鍵S2,LED燈從上往下加速流動;按下按鍵S3,LED從下往上依次流動。切換花式的同時,燈的亮滅速度與順序改變。實現(xiàn)所有課題設計

15、要求。在這次課程設計中我遇到了一些困難,但在老師的指導和同學的幫助,再加上自己查閱了些許資料的情況下都解決了。雖然課程設計進行的不夠順利,但還是完成了任務,使自己的專業(yè)知識又得到了提升。在制作過程中熟練了Portel 的制圖方法,同時對單片機有了進一步的認識,鞏固了課上學習的理論知識,對于計算機匯編語言的系統(tǒng)化整體化有了更深的認識。在編寫程序的過程中遇到了很多困難經過反復修改不斷修正最終才能得以執(zhí)行。整個設計過程最大的收獲就是意識到理論知識扎實的重要性,實踐是建立在理論之上。在做的過程中也遇到一些問題,首先是程序的編寫,我們用的是keil軟件,經過不斷的調試修改終于使程序編譯成功,然后將其加到Portel中設計好的電氣圖中進行仿真,沒有錯誤。在硬件焊接的過程中主要是端口的選擇,開始由于端口沒連對,使我們的四個按鍵無法控制彩燈亮的方式,還有就是焊接時要小心別焊錯了。在這次難得的課程設計過程中我們鍛煉了自己的思考能力和動手能力。通過題

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論