2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  1 引言1</b></p><p>  2設(shè)計方案及原理1</p><p>  2.1 LED廣告燈設(shè)計原理1</p><p>  2.2 LED廣告燈設(shè)計方案1</p><p><b

2、>  3 硬件設(shè)計2</b></p><p><b>  4 軟件設(shè)計3</b></p><p>  4.1程序流程圖3</p><p><b>  4.2源程序4</b></p><p><b>  總結(jié)5</b></p><p

3、><b>  參考文獻(xiàn)5</b></p><p><b>  附錄6</b></p><p><b>  1 引言</b></p><p>  在21世紀(jì),隨著人們生活水平的不斷提高,環(huán)境的不斷改善和美化,在許多場合我們可以看到很多彩色的霓虹燈。特別是現(xiàn)在是一個充滿競爭的時代,各地政府為了吸

4、引游客和投資者,在城市的沿街、沿道、沿河、沿線等地用霓虹燈造景,實施"亮化工程",以美化環(huán)境、樹立城市形象,由此可見,LED燈的利用為城市的美化做出了突出的貢獻(xiàn)。  但是目前市場上各種式樣的LED彩燈多半是采用全硬件電路實現(xiàn),電路結(jié)構(gòu)復(fù)雜、功能單一,這樣一旦制成成品只能按照固定的模式閃亮,不能根據(jù)不同場合、不同時間段的需要來調(diào)節(jié)亮燈時間、模式、閃爍頻率等動態(tài)參數(shù)。同時這種彩燈控制器結(jié)構(gòu)往往有芯片

5、過多、電路復(fù)雜、功率損耗大等缺點。此外從功能上來看,亮燈模式少而且樣式單調(diào),缺乏用戶可操作性,影響亮燈效果。因此有必要對現(xiàn)有的彩燈控制器進(jìn)行改進(jìn)。 本設(shè)計提出了一種基于89C51單片機(jī)的廣告燈控制方案,以實現(xiàn)對LED彩燈的控制。本方案以89C51單片機(jī)作為控制核心,配合20盞LED彩燈,可以以不同頻率顯示不同的圖案,實際應(yīng)用效果較好,亮燈模式多,用戶可以根據(jù)不同場合和時間來調(diào)節(jié)亮燈頻率和亮燈時間。與普通LED彩燈相比,具有體積小

6、,價格低,控</p><p><b>  2設(shè)計方案及原理</b></p><p>  2.1 LED廣告燈設(shè)計原理</p><p>  LED燈也就是發(fā)光二極管,根據(jù)我們在模擬電子技術(shù)中所學(xué)到的知識可知,當(dāng)給二極管的陽極接正電源正極,陰極接電源負(fù)極,只要電壓足夠大,大約超過管壓降( 0.7V),就可以點亮發(fā)光二極管,不同顏色的發(fā)光二極管就可

7、以使發(fā)光二極管發(fā)出相應(yīng)顏色的光,組合多個LED燈并且控制其高低電平就可以顯示不同的圖案。當(dāng)供電的電壓較高,電流較大時,我們就需要串聯(lián)大電阻進(jìn)行分壓,以防燒毀二極管。本文中設(shè)計的是利用20個LED燈,以顯示倒計時數(shù)字3、2、1以及各種變化多端的圖案。</p><p>  2.2 LED廣告燈設(shè)計方案</p><p>  本文設(shè)計的是根據(jù)不同的模式選擇開關(guān)狀態(tài)來顯示不同的圖案,在P0,P1輸

8、入00時即模式1,顯示3、2、1的倒計時;在P0,P1輸入01時即模式2,LED外圍先亮起,內(nèi)核后亮起;在P0,P1輸入10時即模式3,LED內(nèi)核先亮起,外圍后亮起;在P0,P1輸入11時即模式4,LED燈所有全亮后全滅。</p><p>  圖1是20個LED燈排列成的矩陣,共連接20個I/O口,各個燈所連接的I/0口如圖中分配。</p><p>  圖1 LED燈I/O口分配</

9、p><p>  為了在確定的時間點亮可以輸出確定的圖案,就需要在確定的時間給相應(yīng)的I/O口輸出高電平,以點亮相應(yīng)的燈顯示圖案,如在顯示數(shù)字3的時候需要輸出高電平的I/O口分別是P3.1、P3.2、P3.6、P1.2、P1.1、P1.6、P2.2、P2.1,就可以顯示數(shù)字3,顯示數(shù)字2、1時同理。在顯示每一個數(shù)字后都加了相應(yīng)的延時程序,其中延時程序是采用了空循環(huán)來進(jìn)行延時。點亮LED燈我們可以采用2種方式,第一種:單片

10、機(jī)的I/O口分別接各個LED燈的陽極,另一端共陰極接地,在主程序開始的時候,把I/O口初始化為低電平,而后當(dāng)程序使單片機(jī)I/O口輸出高電平的時候就可以點亮LED燈,當(dāng)我們想要點亮某一盞LED燈時給連在該I/0口的燈輸出即可。第二種是單片機(jī)的I/O口接各個LED燈的陰極,而LED的共陽極接+5V電源,在主程序開始的時候把I/O初始化為高電平,當(dāng)需要點亮某一盞LED燈時,就可以給相應(yīng)的連在該燈的I/O口地址送低電平0,就可以點亮相應(yīng)的LED

11、燈。</p><p><b>  3 硬件設(shè)計</b></p><p>  圖2是在PROTEUS中進(jìn)行硬件連線仿真電路概略圖,設(shè)計中應(yīng)用了單片機(jī)AT89C51,LED燈采用共陰極連線方式。</p><p>  圖2 廣告燈設(shè)計概略圖</p><p>  圖3是在PROTEUS中進(jìn)行硬件連線仿真電路,圖中采用總線連線方式

12、,SW3是總開關(guān),SW4是手動和自動選擇開關(guān),SW1和SW2是亮燈模式選擇開關(guān)。</p><p>  圖3 廣告燈在PROTEUS中的硬件連線圖</p><p>  在該硬件連線圖中,SW3是用來開啟或者停止LED顯示的選擇開關(guān),它通過P0.2來輸入單片機(jī)。SW1和SW2是用來選擇廣告燈LED顯示模式的選擇開關(guān),他們分別是通過P0.0和P0.1來輸入單片機(jī)的。D1~D7是用P3口的輸出來控

13、制,D12~D16是利用P1口來控制,D17~D20是利用P2口的P2.0、P2.1、P2.2、以及P2、P3輸出來進(jìn)行控制。圖中選擇的狀態(tài)是所有燈顯示開啟,模式選擇開關(guān)SW1和SW2是00狀態(tài),即選擇的是模式1,運(yùn)行的該電路,顯示的是3、2、1的倒數(shù)計時。</p><p><b>  4 軟件設(shè)計</b></p><p><b>  4.1程序流程圖<

14、;/b></p><p>  圖4是LED廣告燈設(shè)計的程序流程圖,在該程序中,首先判斷的是LED燈的開關(guān)位P0.2的狀態(tài),如果程序檢測到P0.2的值為1,則開始按照模式選擇開關(guān)所選擇的模式運(yùn)行程序,如果程序檢測到P0.2的值為0,關(guān)閉所有LED燈,并不斷檢測開關(guān)位P0.2的狀態(tài)。</p><p><b>  圖4 程序流程圖</b></p><

15、;p>  在軟件設(shè)計中,通過首先通過檢測P0.2的狀態(tài),決定是否進(jìn)入運(yùn)行模式,當(dāng)P0.2輸入為高電平時,進(jìn)入運(yùn)行模式,然后根據(jù)不同的P0.0和P0.1的狀態(tài)來選擇運(yùn)行不同的模式。</p><p><b>  4.2源程序</b></p><p><b>  源程序見附錄。</b></p><p><b> 

16、 總結(jié)</b></p><p>  本設(shè)計是采用AT89C51單片機(jī),通過程序控制單片機(jī)的I/O口進(jìn)行輸出來點亮LED燈,然后對LED等進(jìn)行組合,利用20盞LED燈來顯示數(shù)字和圖案,外部加了模式選擇開關(guān)和總的LED顯示開關(guān)。在程序運(yùn)行中可以檢測模式選擇位以及LED顯示開關(guān)的狀態(tài),并對系統(tǒng)的輸出顯示加以控制,適合于經(jīng)常需要對LED顯示</p><p>  輸出顯示進(jìn)行改變的場合。

17、</p><p>  在本設(shè)計的過程中,我認(rèn)識到了當(dāng)軟件和硬件相結(jié)合的時候,并不僅僅是只是考慮軟件設(shè)計那么簡單,而是需要把硬件的輸出情況也加以考慮,才能得到正確的結(jié)果。在以后的學(xué)習(xí)生活中,我要加強(qiáng)動手能力的鍛煉,以更好的適應(yīng)社會。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李華,王思明,張金敏.單片機(jī)原理及應(yīng)用[

18、M].蘭州:蘭州大學(xué)出版社,2003.</p><p>  [2] 何欽銘,顏輝.C語言程序設(shè)計[M].北京:高等教育出版社,2010.</p><p><b>  附錄</b></p><p>  #include <AT89X51.h></p><p>  void delay(int ms)

19、 //延時子程序</p><p><b>  {</b></p><p>  int i1,j1;</p><p>  for(i1=0;i1<ms;i1++)</p><p><b>  {</b></p><p>  for(j1=0;j1<1141;j

20、1++);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void natural() //讀取P0.0以及P0.1錯誤時調(diào)用的子程序</p><p><b>  {</b></p>&

21、lt;p><b>  P1=0X00;</b></p><p><b>  P2=0X00;</b></p><p><b>  P3=0Xff;</b></p><p><b>  }</b></p><p>  void mode1()</

22、p><p><b>  {</b></p><p>  P3=0X46; //顯示3</p><p><b>  P1=0X46;</b></p><p><b>  P2=0X06;</b></p><p>  delay(150);

23、</p><p>  P3=0X46; //顯示2</p><p><b>  P1=0X26;</b></p><p><b>  P2=0X06;</b></p><p>  delay(150);</p><p>  P3=0X64;

24、 //顯示1</p><p><b>  P1=0X44;</b></p><p><b>  P2=0X0E;</b></p><p>  delay(100);</p><p><b>  }</b></p><p>  void mode2

25、()</p><p><b>  {</b></p><p>  P3=0X9F; //外圍亮起</p><p><b>  P2=0X0F;</b></p><p>  P1=0X99; </p><p>  delay(100);

26、 //暫停即延時</p><p>  P3=0x60; //內(nèi)核亮起</p><p><b>  P1=0x66;</b></p><p><b>  P2=0X00;</b></p><p>  delay(100); //暫停即延時</p&

27、gt;<p><b>  }</b></p><p>  void mode3()</p><p><b>  {</b></p><p><b>  int n=0;</b></p><p>  for(n=0;n<=10;n++)</p>

28、<p><b>  {</b></p><p>  P3=0x60; //內(nèi)核亮起</p><p><b>  P1=0x66;</b></p><p><b>  P2=0X00;</b></p><p>  delay(100);</p&

29、gt;<p>  P3=0X9F; //外圍亮起</p><p><b>  P2=0X0F;</b></p><p><b>  P1=0X99;</b></p><p>  delay(100);</p><p><b>  }</b><

30、;/p><p><b>  }</b></p><p>  void mode4()</p><p><b>  {</b></p><p><b>  int k=0;</b></p><p>  for(k=0;k<=10;k++)</p&g

31、t;<p><b>  {</b></p><p>  P3=0XFF; //燈全亮</p><p><b>  P1=0XFF;</b></p><p><b>  P2=0XFF;</b></p><p><b>  delay(

32、5);</b></p><p>  P3=0X00; //燈全滅</p><p><b>  P1=0X00;</b></p><p><b>  P2=0X00;</b></p><p><b>  }</b></p><

33、p><b>  }</b></p><p>  void read() //讀取P0.0以及P0.1口的狀態(tài)</p><p><b>  {</b></p><p>  if((P0_0==0)&&(P0_1==0))</p><p><b&g

34、t;  {</b></p><p><b>  mode1();</b></p><p>  delay(10);</p><p><b>  }</b></p><p>  else if((P0_0==0)&&(P0_1==1))</p><p&g

35、t;<b>  {</b></p><p><b>  mode2();</b></p><p>  delay(10);</p><p><b>  }</b></p><p>  else if((P0_0==1)&&(P0_1==0))</p>

36、<p><b>  {</b></p><p><b>  mode3();</b></p><p>  delay(10);</p><p><b>  }</b></p><p>  else if((P0_0==1)&&(P0_1==1))&

37、lt;/p><p><b>  {</b></p><p><b>  mode4();</b></p><p>  delay(10);</p><p><b>  }</b></p><p><b>  else</b></p

38、><p>  natural();</p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p>  if(P0_2==1) //判斷P0.2的狀態(tài)</p><

39、p><b>  {</b></p><p>  if(P0_3==0)</p><p><b>  {</b></p><p><b>  IE=0;</b></p><p><b>  P1=0X00;</b></p><p&g

40、t;<b>  P2=0X00;</b></p><p><b>  P3=0X00;</b></p><p>  delay(200); //調(diào)用延時子程序</p><p><b>  read();</b></p><p><b>  }&

41、lt;/b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  mode1();</b></p><p><b>  mode2();</b></p><p>&

42、lt;b>  mode3();</b></p><p><b>  mode4();</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p>

43、<p><b>  {</b></p><p><b>  P1=0X00;</b></p><p><b>  P2=0X00;</b></p><p><b>  P3=0X00;</b></p><p><b>  }<

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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

提交評論