節(jié)日彩燈控制器設(shè)計_第1頁
節(jié)日彩燈控制器設(shè)計_第2頁
節(jié)日彩燈控制器設(shè)計_第3頁
節(jié)日彩燈控制器設(shè)計_第4頁
節(jié)日彩燈控制器設(shè)計_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

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

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

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

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

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

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

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

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

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

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

11、式,其 LED 燈的子程序都是一樣的過程。首先賦初值,取表中的數(shù),將數(shù)值給 P1 口,然后判斷 LED 燈是否循環(huán)完了 8 次。如果循環(huán)完 8 次則對應(yīng) LED 燈亮,并延時輸出。如果沒有循環(huán)完 8 次,將返回原處重新開始。因而得到流程圖為圖 4-2 所示。圖 4-2 LED 燈子程序流程圖4.2延時子程序設(shè)計對于 LED 燈循環(huán)顯示程序來說,由于單片機(jī)運行速度非???,以至于當(dāng)燈亮?xí)r人眼看不見,不方便檢測與監(jiān)控,因此在程序中需要添加延時子程序。同時延時子程序還可以有效的防止抖動。延時子程序運用了兩個 for 循環(huán)嵌套,外循環(huán)執(zhí)行一次,內(nèi)循環(huán)執(zhí)行 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 自減一結(jié)束開始定義無符號整型數(shù)x、y給 x 賦初值為 100 x0?圖 4-3 子程序流程圖8sbit key2=P35;/關(guān)閉彩燈的開關(guān)sbit key1=P34;/啟動彩燈的開關(guān)sbit key3=P33;/控制彩燈右移的開關(guān)sbit key4=P31;/控制彩燈左移的開關(guān)uchar temp;/定義一個無符號字符型數(shù)據(jù)

13、變量uchar temp1;/定義一個無符號字符型數(shù)據(jù)變量uchar temp2;/定義一個無符號字符型數(shù)據(jù)變量uint a;int c;void main()/主程序 while(1)/判斷哪個開關(guān)被按下 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;/定義一個數(shù)組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;/定義一個數(shù)組for(c=7;c-1;c-) temp1=table1c;/將數(shù)組賦值給變量temp1 P1=temp1; delay(300);/延時 第 5 章結(jié)論在本次課程設(shè)計中,我們用的是 Multisim 軟件畫圖,然后經(jīng)過不斷地仿真、調(diào)試成功。最后根據(jù)本設(shè)計做出實物并與計算機(jī)相連,完成整個設(shè)計。本設(shè)計做的是實物,我主要負(fù)責(zé)軟件部分,但是我也參與了硬件部分,利用我們編好的程序成功寫入到了單片機(jī)當(dāng)中,然后實現(xiàn)了 LED 燈的從上往下,從下往上,以及反復(fù)往返流動。本次設(shè)計主要運用 C 語言對單片機(jī)進(jìn)行編程控制。只需要節(jié)日彩燈的程序分為三部分即可:主程序、LED 燈的程序,延時程序。主程序要根據(jù)題目要求畫出主程序框圖,依據(jù)主電路圖及主流程圖編程。LED 燈的程序分兩個流動方向,設(shè)置不同的初值及移動的方向就

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論