單片機(jī)課程設(shè)計(jì)-LED廣告燈的設(shè)計(jì)_第1頁
單片機(jī)課程設(shè)計(jì)-LED廣告燈的設(shè)計(jì)_第2頁
單片機(jī)課程設(shè)計(jì)-LED廣告燈的設(shè)計(jì)_第3頁
單片機(jī)課程設(shè)計(jì)-LED廣告燈的設(shè)計(jì)_第4頁
單片機(jī)課程設(shè)計(jì)-LED廣告燈的設(shè)計(jì)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

PAGE第1頁單片機(jī)課程設(shè)計(jì)設(shè)計(jì)題目:LED廣告燈的設(shè)計(jì)院系:信息與電氣工程學(xué)院專業(yè)班級(jí):電氣工程及其自動(dòng)化學(xué)生姓名:學(xué)號(hào):指導(dǎo)老師:目錄一、目的 3二、設(shè)計(jì)要求 3三、系統(tǒng)設(shè)計(jì) 3四、功能設(shè)計(jì) 4五、硬件設(shè)計(jì)1、單片機(jī) 42、LED燈 63、按鍵 6六、軟件設(shè)計(jì)1、程序流程圖 72、設(shè)計(jì)程序 7七、系統(tǒng)調(diào)試1、硬件調(diào)試 112、軟件調(diào)試 11參考文獻(xiàn) 11摘要:本文介紹了采用STC12C5A60S2單片機(jī)控制LED燈變換顯示的實(shí)用電路,設(shè)計(jì)了按鍵控制變換功能。已經(jīng)過軟件和硬件測試,并達(dá)到設(shè)計(jì)項(xiàng)目一要求。關(guān)鍵字:單片機(jī);LED;按鍵;一目的、設(shè)計(jì)要求課程設(shè)計(jì)目的:1、通過單片機(jī)課程設(shè)計(jì),熟練C語言的編程方法,將理論聯(lián)系到實(shí)踐中去, 提高我們的動(dòng)腦和動(dòng)手的能力。2、通過廣告燈控制系統(tǒng)的設(shè)計(jì),掌握按鍵及l(fā)ed燈的使用方法。3、通過此次課程設(shè)計(jì),熟練掌握電路板焊接技能,及keil編程軟件、stc單 片機(jī)下載程序的使用方法。二、設(shè)計(jì)要求(1)掌握硬件原理基礎(chǔ)上,編寫C程序?qū)ED進(jìn)行控制。(2)設(shè)置按鍵,按不同的按鍵控制LED不同的亮法。(3)在電路板上的現(xiàn)有電路編寫程序來實(shí)現(xiàn)功能。(4)調(diào)試,并且完成課程設(shè)計(jì)報(bào)告。最終實(shí)現(xiàn):鍵盤輸入使8個(gè)led發(fā)光二極管作16種不同的變換的亮法。二設(shè)計(jì)方案一、系統(tǒng)設(shè)計(jì)1、LED顯示控制系統(tǒng)框圖如圖1所示。按鍵按鍵輸入STC12C5A60S2單片機(jī)P1輸出控制LED燈顯示圖1主要由3個(gè)模塊組成:LED顯示、鍵盤、單片機(jī)最小工作電路(包括復(fù)位,電源VCC,接地GND,晶振電路等);功能設(shè)計(jì):1、通過電源總開關(guān)實(shí)現(xiàn)系統(tǒng)通斷電;2、上電初始時(shí)8個(gè)LED燈全亮,通過按鍵控制LED亮法,具體如下:1)、按下按鍵S4(最左端),8個(gè)LED全部熄滅;2)、按下按鍵S3(中間),8個(gè)LED按第一種亮法開始點(diǎn)亮,再次按下S3鍵 換下一種亮法,總共16種亮法通過按鍵循環(huán)變換;3)、按下按鍵S2(最右端),8個(gè)LED顯示全亮;3、通過“復(fù)位”鍵使LED回到初始狀態(tài);三硬件設(shè)計(jì)單片機(jī)簡介:單片微型機(jī)計(jì)算機(jī)是微型計(jì)算機(jī)的一個(gè)重要分支,也是具有生命力的機(jī)種,單片微型計(jì)算機(jī)簡稱單片機(jī)。特別適用于控制領(lǐng)域,故又稱為微控制器。通常,單片機(jī)由單塊集成電路芯片構(gòu)成,內(nèi)部包含有計(jì)算機(jī)的基本功能部件;中央處理器、存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要和適當(dāng)?shù)能浖巴獠坎考O(shè)備和結(jié)合,便可成為一個(gè)單片機(jī)控制系統(tǒng)。本課程設(shè)計(jì)所采用的單片機(jī)型號(hào)是STC12C5A60S2,其管腳圖如圖2所示。圖2該系列單片機(jī)正常工作所需的最小應(yīng)用電路如圖3所示:圖3此次課程設(shè)計(jì)所用電路板的單片機(jī)的最小應(yīng)用電路如圖4:圖4LED燈本課程LED燈顯示部分的硬件原理圖如圖5所示。圖5其中LED燈采用共陽極接法,故要使LED點(diǎn)亮應(yīng)使LED的負(fù)極為低電平。LED1~LED8分別接單片機(jī)的P1^0~P1^7口,這樣就可以通過控制單片機(jī)P1口的值來控制8個(gè)LED的亮滅。3、按鍵鍵盤部分,設(shè)定全滅、換亮法、全亮等功能操作。本課程設(shè)計(jì)電路板的按鍵原理圖如圖6所示:圖6其中按鍵S2,KEY1接單片機(jī)的P3^3引腳;按鍵S3,KEY2接單片機(jī)的P3^4引腳;按鍵S4,KEY3接單片機(jī)的P3^5引腳;按鍵按下時(shí),單片機(jī)的引腳由高電平變成低電平,由此來判定是否有按鍵按下。四軟件設(shè)計(jì)1、程序流程圖程序流程圖如圖7所示。此流程圖采用流程圖繪制軟件——億圖繪制。圖7設(shè)計(jì)程序先定義頭文件key.h以方便程序編寫及改動(dòng),頭文件程序如下:/********************************************************key.h包含1.按鍵等端口定義 2.數(shù)據(jù)類型定義 3.延時(shí)函數(shù)**********************************************************/#ifndef_KEY_H_#define_KEY_H_#defineucharunsignedchar //定義數(shù)據(jù)類型#defineuintunsignedint/********************端口定義**************************/#defineledP1 // P1口接led/**********定義按鍵及按鍵要實(shí)現(xiàn)的功能******************/sbitkey1=P3^3; //開始啟動(dòng) 全亮sbitkey2=P3^4; //換下一個(gè)亮法sbitkey3=P3^5; //結(jié)束復(fù)位全滅/************延時(shí)函數(shù)*********/voiddelay(uintx){ uinti,j; for(i=x;i>0;i--) //i=x,大約延時(shí)X毫秒即Xms for(j=110;j>0;j--);} #endif主程序led.c如下:/******************************************************************按鍵控制led程序功能:key1,key2,key3分別實(shí)現(xiàn)三種功能 key1:開始啟動(dòng)按鈕顯示全亮 key2:顯示切換按鈕按一下?lián)Q一種亮法,一共16種,可以繼續(xù)增加 key3:結(jié)束按鈕顯示全滅程序完成時(shí)間:2012年11月10日晚 已經(jīng)過測試測試時(shí)間:2012年11月10日晚******************************************************************/#include<STC12C5A.H>#include<intrins.h> //包含_crol_函數(shù)的頭文件 _crol_左移,_cror_右移#include"key.h" //包含1.按鍵等端口定義2.數(shù)據(jù)類型定義3.延時(shí)函數(shù)/********************函數(shù)聲明**************************/voidKey_Control(); //按鍵控制函數(shù)voidledxs(uint); //顯示函數(shù)聲明voiddelay(uint);//延時(shí)函數(shù)聲明/******************定義變量****************************/uintn=0; //用來計(jì)按鍵數(shù)的uchara[]={0x00,0xfe,0xfc,0xf8, 0xf0,0xe0,0xc0,0x80, 0xaa,0x99,0x88,0x84, //數(shù)組中變量即為要顯示的8位 0x7f,0x3f,0x1f,0x0f, 0x07,0xff}; /******************************************************主函數(shù)*******************************************************/voidmain(){ led=0xff;//小燈初始化,使燈全滅 while(1) { Key_Control();//按鍵控制 ledxs(n); //led顯示 }}/******************************************************按鍵控制*******************************************************/voidKey_Control(){ if(key1==0) //按鍵按下時(shí)值由1變?yōu)? { delay(10); //按鍵延時(shí)去抖 if(key1==0) //key1開始啟動(dòng) { n=0;//啟動(dòng)按鍵按下時(shí),為n=0狀態(tài),led顯示全亮 while(!key1);//等待按鍵釋放 //delay(10); //while(!key1); } } if(key2==0) // { delay(10); if(key2==0) //key2按下顯示下一個(gè)亮法,按鍵計(jì)數(shù)n加1 { n++; if(n>16) n=1; while(!key2); } } if(key3==0) { delay(10); if(key3==0) //啟動(dòng)按鍵按下時(shí),led顯示全滅 { n=17; //led=0xff; } while(!key3); }}/******************************************************led顯示函數(shù)*******************************************************/voidledxs(uintn){ led=a[n]; if(n>0&&n<8) { while(key1&&key2&&key3) { delay(5000); led=_crol_(led,1); //左移 } } elseif(n>7&&n<17) { while(key1&&key2&&key3) { delay(5000); led=_cror_(led,1); //右移 } }} 五系統(tǒng)調(diào)試1、硬件調(diào)試檢測各硬件模塊是否斷路或者短路,根據(jù)電路圖查看接線線路是否正確。檢測接線無誤后,接入電源,測量各芯片的供電電壓,檢查無誤后,進(jìn)入軟件調(diào)試階段。2、軟件調(diào)試首先使用keil編譯好程序,生成HEX文件,安裝好PL2303驅(qū)動(dòng)程序,使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論