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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

5、。各口的每一位均由鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器組成。STC89C52 芯片有 40 個(gè)引腳,引腳圖如圖 3-2 所示,各引腳功能介紹如下:VCC(40 引腳):電源電壓。VSS(20 引腳):接地。P1 端口(P1.0P1.7,18 引腳):P1 口是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 I/O口。P1 的輸出緩沖器可驅(qū)動(dòng) 4 個(gè) TTL 負(fù)載。對(duì)端口寫入 1 時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1 口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上圖 3-2 STC89C52 引腳圖.wd拉電阻,那些被外部拉低的引腳會(huì)輸出一個(gè)電流。P1 口特點(diǎn)是輸出鎖存器,輸出時(shí)沒有條件。輸入緩沖,輸入時(shí)

6、有條件,即需要先將該口設(shè)為輸入狀態(tài),先輸出1。此外,P1.0 和 P1.1 是多功能的。P1.0 還可以作為定時(shí)器/計(jì)數(shù)器 2 的外部輸入端 T2。P1.1 還可以作為定時(shí)器/計(jì)數(shù)器 2 的外部控制端 T2EX。P3 端口(P3.0P3.7,1017 引腳):P3 是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 I/O端口。P3 的輸出緩沖器可驅(qū)動(dòng) 4 個(gè) TTL 負(fù)載。對(duì)端口寫入 1 時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3 做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸入一個(gè)電流。P3 口除作為一般 I/O 口外,還有其他一些復(fù)用功能如下:P3.0-RXD,串

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

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

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

10、上而下流動(dòng),如果按下停頓鍵 S1,按下那么停頓,否那么燈將繼續(xù)自上而下流動(dòng)。當(dāng)既按下 S2 又按下 S3 時(shí),燈將先自上而下流動(dòng),后自下而上流動(dòng)。通過四個(gè)鍵 S1、S2、S3、S4 的控制,實(shí)現(xiàn)彩燈的亮、滅和彩燈的流動(dòng)顯示,以及在不同情況下的彩燈的流動(dòng)變換。這是整個(gè)節(jié)日彩燈的完整控制與流動(dòng)過程。.wd節(jié)日彩燈控制器的主程序流程圖如圖 4-1 所示圖 4-1 主程序流程圖YYYNYN開場(chǎng)鍵 1 接下?N調(diào)用 san 子程序鍵 2 接下?燈滅鍵 3 接下?調(diào)用 san 子程序鍵 4 接下?調(diào)用 wu 子程序.wd返回初始化8 次是否循環(huán)完?給 P1 賦值對(duì)應(yīng)燈亮延時(shí)開場(chǎng)4.2LED 燈子程序設(shè)計(jì)在

11、本設(shè)計(jì)中的 LED 燈的流動(dòng)有兩個(gè)方向,分別為自上而下和自下而上,無論是哪種方式,其 LED 燈的子程序都是一樣的過程。首先賦初值,取表中的數(shù),將數(shù)值給 P1 口,然后判斷 LED 燈是否循環(huán)完了8 次。如果循環(huán)完 8 次那么對(duì)應(yīng) LED 燈亮,并延時(shí)輸出。如果沒有循環(huán)完 8 次,將返回原處重新開場(chǎng)。因而得到流程圖為圖 4-2 所示。圖 4-2 LED 燈子程序流程圖4.2延時(shí)子程序設(shè)計(jì)對(duì)于 LED 燈循環(huán)顯示程序來說,由于單片機(jī)運(yùn)行速度非???,以至于當(dāng)燈亮?xí)r人眼看不見,不方便檢測(cè)與監(jiān)控,因此在程序中需要添加延時(shí)子程序。同時(shí)延時(shí)子程序還可以有效的防止抖動(dòng)。延時(shí)子程序運(yùn)用了兩個(gè) for 循環(huán)嵌套

12、,外循環(huán)執(zhí)行一次,內(nèi)循環(huán)執(zhí)行 z 次,因此延時(shí)時(shí)間為 100z。延時(shí)子程序的流程圖如圖 4-3 所示。4.3源程序給 y 賦初值為 zy0?y 自減一x 自減一完畢開場(chǎng)定義無符號(hào)整型數(shù)x、y給 x 賦初值為 100 x0?圖 4-3 子程序流程圖.wd#include#define uint unsigned int#define uchar unsigned charvoid san();void wu();void delay(uint);.wdsbit key2=P35;/關(guān)閉彩燈的開關(guān)sbit key1=P34;/啟動(dòng)彩燈的開關(guān)sbit key3=P33;/控制彩燈右移的開關(guān)sbit

13、key4=P31;/控制彩燈左移的開關(guān)uchar temp;/定義一個(gè)無符號(hào)字符型數(shù)據(jù)變量uchar temp1;/定義一個(gè)無符號(hào)字符型數(shù)據(jù)變量uchar temp2;/定義一個(gè)無符號(hào)字符型數(shù)據(jù)變量uint a;int c;void main()/主程序 while(1)/判斷哪個(gè)開關(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;/定義一個(gè)數(shù)組f

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論