節日彩燈控制器設計_第1頁
節日彩燈控制器設計_第2頁
節日彩燈控制器設計_第3頁
節日彩燈控制器設計_第4頁
節日彩燈控制器設計_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、1 0石家莊鐵道大學四方學院石家莊鐵道大學四方學院集中實踐報告書集中實踐報告書課題名稱課題名稱節日彩燈控制器設計節日彩燈控制器設計姓姓 名名吳春慧吳春慧學學 號號20137762系、系、 部部電氣工程系電氣工程系專業班級專業班級方方 1353-2指導教師指導教師牛曉燕牛曉燕2016 年年 7 月月 6 日日 20132013 級級單片機接口設計課程設計單片機接口設計課程設計1 1一、設計任務及要求:一、設計任務及要求:設計任務:設計任務:設計一個節日彩燈控制器,通過按鈕控制彩燈的各種變化。設計要求:設計要求:1.設計 4 個按鍵 S0、S1、S2、S3, S0開始按此鍵則燈開始流動(由上而下)

2、; S1停止,按此鍵則停止流動,所有燈為暗;S2上,按此鍵則燈由上向下流動; S3下,按此鍵則燈由下向上流動。2.由按鍵控制功能的流水燈,其中的 LED 采取共陽極接法,通過依次向連接LED 的 I/O 口送出低電平,可實現題目要求的功能。3.要求做出實物。二、指導教師評語:二、指導教師評語: 三、成績三、成績 指導教師簽名: 年 月 日 1 0目 錄第 1 章設計目的1第 2 章設計要求1第 3 章硬件電路設計13.1系統結構框圖13.2STC89C52 單片機23.3總電路圖3第 4 章軟件設計44.1主程序設計44.2LED 燈子程序設計64.2延時子程序設計64.3源程序7第 5 章結

3、論9參考文獻101第 1 章設計目的1、掌握單片機實際系統的開發步驟。2、熟悉節日彩燈控制器的工作原理。3、加深對單片機匯編語言的認識和理解,并會編程。第 2 章設計要求1、設計 4 個按鍵 S0、S1、S2、S3, S0開始按此鍵則燈開始流動(由上而下); S1停止,按此鍵則停止流動,所有燈為暗;S2上,按此鍵則燈由上向下流動; S3下,按此鍵則燈由下向上流動。2、由按鍵控制功能的流水燈,其中的 LED 采取共陽極接法,通過依次向連接LED 的 I/O 口送出低電平,可實現題目要求的功能。3、要求做出實物。第 3 章硬件電路設計3.1系統結構框圖 節日彩燈控制系統主要由單片機、LED 顯示器

4、、開關及電源組成。其結構框圖如圖 3-1 所示。圖 3-1 系統結構框圖八個 LED 燈顯示器開關單片機最小系統5V 電源23.2STC89C52 單片機89C52 本質是一種低耗高性能的微控制器。它的主要特性是擁有 8K 字節的程序存儲空間;512 字節的數據存儲空間;內帶 4K 字節的 EEPROM 存儲空間和可直接使用串行口下載。此外,它還是增強型的 80C51 單片機,有 6 時鐘/機器周期和 12 時鐘/機器周期可以任意選擇,同時它的指令代碼完全兼容傳統80C51 單片機。89C52 共有四個八位的并行雙向口,即有 32 根輸入輸出口線。各口的每一位均由鎖存器、輸出驅動器和輸入緩沖器

5、組成。STC89C52 芯片有 40 個引腳,引腳圖如圖 3-2 所示,各引腳功能介紹如下:VCC(40 引腳):電源電壓。VSS(20 引腳):接地。P1 端口(P1.0P1.7,18 引腳):P1 口是一個帶內部上拉電阻的 8 位雙向I/O 口。P1 的輸出緩沖器可驅動 4 個 TTL 負載。對端口寫入 1 時,通過內部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1 口作輸入口使用時,因為圖 3-2 STC89C52 引腳圖3有內部上拉電阻,那些被外部拉低的引腳會輸出一個電流。P1 口特點是輸出鎖存器,輸出時沒有條件。輸入緩沖,輸入時有條件,即需要先將該口設為輸入狀態,先輸出 1。此外

6、,P1.0 和 P1.1 是多功能的。P1.0 還可以作為定時器/計數器 2 的外部輸入端 T2。P1.1 還可以作為定時器/計數器 2 的外部控制端 T2EX。P3 端口(P3.0P3.7,1017 引腳):P3 是一個帶內部上拉電阻的 8 位雙向I/O 端口。P3 的輸出緩沖器可驅動 4 個 TTL 負載。對端口寫入 1 時,通過內部的上拉電阻把端口拉到高電位,這時可用作輸入口。P3 做輸入口使用時,因為有內部的上拉電阻,那些被外部信號拉低的引腳會輸入一個電流。P3 口除作為一般 I/O 口外,還有其他一些復用功能如下:P3.0-RXD,串行輸入口。P3.1-TXD,串行輸出口。P3.2-

7、INT0,外部中斷 0 的請求。P3.3-INT1,外部中斷 1 的請求。P3.4-T0,定時器/計數器 0 外部計數脈沖。P3.5-T1,定時器/計數器,1 外部計數脈沖。P3.6-WR,外部數據存儲器寫選通。P3.7-RD,外部數據存儲器讀選通。RST(9 引腳):復位輸入。當輸入連續兩個機器周期以上高電平時為有效,用來完成單片機單片機的復位初始化操作。ALE(30 引腳):地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。XTAL1(19 引腳)):振蕩器反相放大器和內部時鐘發生電路的輸入端。XTAL2(18 引腳):振蕩器反相放大器的輸入端。3.3總電路圖在

8、總電路圖中,復位電路與晶振電路是單片機最小系統中包括的電路,復位連在 AT89C52 的 9 引腳,而晶振電路的兩條接線分別與 18、19 引腳相連。對于本次設計,還需要將 8 個 LED 燈接入電阻中,并且分別與 8 個限流電阻相連保護發光二極管,與單片機的 P1 口相連。4 個按鍵 S0、S1、S2、S3 分別連單片機的 P3.4、P3.5、P3.3 和 P3.1 由這四個按鍵來控制燈的啟動、停止、由上而下、由下而上。由按鍵控制功能的 LED 工作的方式,其中的 LED 采取共陽極接法,通過依次向連接 LED 的 I/O 口送出低電平,可實現題目要求的功能。4節日彩燈控制器的總電路圖如圖

9、3-5 所示。圖 3-3 總電路圖第 4 章軟件設計4.1主程序設計節日彩燈控制器設計的功能是:當在沒有任何按鍵按下時,8 個 LED 燈均呈現滅燈的狀態,并一直在等待按鍵的按下。當按下開始鍵 S0 鍵后,8 個 LED燈自上而下循環流動,檢測有沒有按下停止鍵即 S1,若按下停止鍵 S1 則立即停止流動,否則檢測是否按下按鍵 S2 或者按鍵 S3,若都沒有按下則燈繼續保持原先的狀態流動。當按鍵 S3 被按下,燈自下而上流動,同樣也要檢測是否按下停止鍵 S1,按下則停止,否則燈將繼續自下而上流動。同理,當按鍵 S2 被按下時,燈自上而下流動,如果按下停止鍵 S1,按下則停止,否則燈將繼續自上而下

10、流動。當既按下 S2 又按下 S3 時,燈將先自上而下流動,后自下而上流動。通過四個鍵 S1、S2、S3、S4 的控制,實現彩燈的亮、滅和彩燈的流動顯示,以及在不同情況下的彩燈的流動變換。這是整個節日彩燈的完整控制與流動過程。5節日彩燈控制器的主程序流程圖如圖 4-1 所示圖 4-1 主程序流程圖YYYNYN開始鍵 1 接下?N調用 san 子程序鍵 2 接下?燈滅鍵 3 接下?調用 san 子程序鍵 4 接下?調用 wu 子程序6返回初始化8 次是否循環完?給 P1 賦值對應燈亮延時開始4.2LED 燈子程序設計在本設計中的 LED 燈的流動有兩個方向,分別為自上而下和自下而上,無論是哪種方

11、式,其 LED 燈的子程序都是一樣的過程。首先賦初值,取表中的數,將數值給 P1 口,然后判斷 LED 燈是否循環完了 8 次。如果循環完 8 次則對應 LED 燈亮,并延時輸出。如果沒有循環完 8 次,將返回原處重新開始。因而得到流程圖為圖 4-2 所示。圖 4-2 LED 燈子程序流程圖4.2延時子程序設計對于 LED 燈循環顯示程序來說,由于單片機運行速度非常快,以至于當燈亮時人眼看不見,不方便檢測與監控,因此在程序中需要添加延時子程序。同時延時子程序還可以有效的防止抖動。延時子程序運用了兩個 for 循環嵌套,外循環執行一次,內循環執行 z 次,因此延時時間為 100z。7延時子程序的

12、流程圖如圖 4-3 所示。4.3源程序#include#define uint unsigned int#define uchar unsigned charvoid san();void wu();void delay(uint);給 y 賦初值為 zy0?y 自減一x 自減一結束開始定義無符號整型數x、y給 x 賦初值為 100 x0?圖 4-3 子程序流程圖8sbit key2=P35;/關閉彩燈的開關sbit key1=P34;/啟動彩燈的開關sbit key3=P33;/控制彩燈右移的開關sbit key4=P31;/控制彩燈左移的開關uchar temp;/定義一個無符號字符型數據

13、變量uchar temp1;/定義一個無符號字符型數據變量uchar temp2;/定義一個無符號字符型數據變量uint a;int c;void main()/主程序 while(1)/判斷哪個開關被按下 if(key1=0) san(); if(key2=0) P1=0 xff; if(key3=0) san(); if(key4=0) wu(); void san() uchar table=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;/定義一個數組for(a=0;a0;x-) for(y=z;y0;y-); void wu() uch

14、ar table1=0 xfe,0 xfd,0 xfb,0 xf7,0 xef,0 xdf,0 xbf,0 x7f;/定義一個數組for(c=7;c-1;c-) temp1=table1c;/將數組賦值給變量temp1 P1=temp1; delay(300);/延時 第 5 章結論在本次課程設計中,我們用的是 Multisim 軟件畫圖,然后經過不斷地仿真、調試成功。最后根據本設計做出實物并與計算機相連,完成整個設計。本設計做的是實物,我主要負責軟件部分,但是我也參與了硬件部分,利用我們編好的程序成功寫入到了單片機當中,然后實現了 LED 燈的從上往下,從下往上,以及反復往返流動。本次設計主要運用 C 語言對單片機進行編程控制。只需要節日彩燈的程序分為三部分即可:主程序、LED 燈的程序,延時程序。主程序要根據題目要求畫出主程序框圖,依據主電路圖及主流程圖編程。LED 燈的程序分兩個流動方向,設置不同的初值及移動的方向就

溫馨提示

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

評論

0/150

提交評論