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

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  本設計使用單片機AT98S51構成的最小系統(tǒng)作為主控制模塊,利用簡單的外圍電路來驅動16×16點陣LED顯示屏。本設計通過兩片74HC138 3線-8線譯碼器作為點陣行驅動,兩片74HC595 8位串入并出移位鎖存寄存器級聯(lián)后構成點陣列驅動,最終能夠實現(xiàn)分時循環(huán)顯示“河南理工大學電氣學院”十個漢字。</p>

2、;<p>  硬件方面,主要包括四個部分:由時鐘電路、復位電路構成的單片機最小系統(tǒng);由兩片74HC138構成的行驅動電路;由兩片74HC595構成的列驅動電路; 16*16 LED點陣屏。</p><p>  軟件方面,在繪制出硬件電路圖的基礎上,用單片機C語言C51編寫出源程序后,通過proteus軟件構成仿真電路,進行仿真調試,找出程序的錯誤,直至能夠調試出設計要求的結果。</p>

3、<p>  最后,進行硬件調試。通過燒錄器,將源程序生成的HEX文件燒寫入單片機,并插入已經(jīng)焊好的電路板進行調試,找出虛焊及設計不合理的地方,進行修改。</p><p>  通過以上步棸設計出的顯示屏,字體顯示清晰,肉眼觀察無明顯閃動,能夠基本滿足題目要求。</p><p><b>  目 錄</b></p><p><b&g

4、t;  1 概述3</b></p><p>  1.1 LED及LED顯示屏3</p><p>  1.2 功能要求4</p><p>  1.3 方案論證4</p><p>  2 系統(tǒng)總體方案及硬件設計5</p><p>  2.1 顯示屏總體方案5</p><p

5、>  2.2 行驅動電路5</p><p>  2.3 列驅動電路7</p><p><b>  3 軟件設計10</b></p><p>  3.1 系統(tǒng)主體流程10</p><p>  3.2 顯示一個漢字10</p><p>  3.3 列驅動輸出更新11<

6、/p><p>  3.4 行驅動輸出更新12</p><p>  4 Proteus軟件仿真13</p><p>  4.1 Proteus軟件簡介13</p><p>  4.2 Proteus仿真過程13</p><p>  4.3 Proteus仿真效果圖14</p><p>

7、;  5 課程設計體會15</p><p><b>  參考文獻16</b></p><p>  附1 源程序代碼17</p><p>  附2 系統(tǒng)原理圖20</p><p><b>  1 概述</b></p><p>  1.1 LED及LED顯示屏</

8、p><p>  LED發(fā)光二極管,是一種能夠將電能轉化為可見光的半導體器件。它利用固體半導體晶片作為發(fā)光材料,在半導體中通過載流子發(fā)生復合,放出過剩的能量而引起光子發(fā)射,直接發(fā)出紅、黃、藍、綠、青、橙、紫、白色的光。LED的內在特征,決定了它與傳統(tǒng)光源相比具有很多的優(yōu)點,如體積小、耗電量低、使用壽命長、高亮度低熱量、環(huán)保、堅固耐用等。</p><p>  LED顯示屏,則是利用眾多LED發(fā)光二

9、極管按一定規(guī)則排列構成的點陣顯示屏,是一種通過控制燈的亮滅,來顯示文字、圖形、圖像、動畫、行情、視頻等各種信息的顯示屏幕。LED顯示屏按顏色劃分,可以分為以下幾種:全彩顯示屏,單基色顯示屏(單紅、單白、單黃)和雙基色顯示屏(紅綠色、藍綠色);按顯示性能,則可分為:視頻顯示屏(一般為全彩),文本顯示屏(一般為單基色),圖文顯示屏(一般為雙基色),行情顯示屏(一般為數(shù)碼管或單基色)。</p><p>  LED點陣顯

10、示屏與其他顯示屏相比,具有以下優(yōu)點:</p><p>  亮度高:戶外LED顯示屏的亮度大于8000mcd/m2,是目前唯一能夠在戶外全天候使用的大型顯示終端。</p><p>  壽命長:LED壽命長達100,000小時(十年)以上,保證了顯示屏的長期有效利用。</p><p>  視角大:室內視角可大于160度,戶外視角可大于120度。視角的大小取決于LED發(fā)光

11、二極管的形狀。</p><p>  使用靈活:屏幕面積可大可小,小至不到一平米,大則可達幾百、上千平米。與電腦借口簡便,可方便修改顯示的圖像、文字內容。</p><p>  正是基于以上這些優(yōu)點,現(xiàn)在的LED顯示屏已經(jīng)廣泛運用于日常的生產(chǎn)生活服務中,如:商場促銷宣傳,發(fā)布促銷廣告信息,起到公告板的作用;廠礦企業(yè)、機關、學校等主要建筑正門上方,顯示歡迎語,節(jié)日助詞等,既烘托了氣氛,又省去了懸

12、掛橫幅的浪費與麻煩;廣場矗立大型顯示屏,播放文明宣傳圖文及新聞、天氣、時事等,豐富人民的文化需求……</p><p><b>  1.2 功能要求</b></p><p>  設計一個16*16點陣LED顯示屏,分時顯示“河南理工大學電氣學院”十個漢字。要求屏幕各點亮度均勻、充足;顯示字體清晰、穩(wěn)定,無串擾及明顯的閃動;相鄰漢字切換時,不能因余輝而顯示重疊,出現(xiàn)馬賽

13、克。</p><p><b>  1.3 方案論證</b></p><p>  16*16點陣LED顯示屏共有256個發(fā)光二極管,顯然51單片機沒有這么多端口。如果我們采用鎖存器來擴展端口,按8位的鎖存器來計算,16×16的點陣需要256/8=32個鎖存器。這個數(shù)字很龐大,這里我們僅僅是16×16的點陣,顯然已不合算,而在實際中的顯示屏往往要大的

14、多,這樣在鎖存器上的花銷將是一個很龐大的數(shù)字。因此在現(xiàn)實應用中的顯示屏幾乎都不采用這種設計,而采用另一種稱為動態(tài)掃描的顯示方法。</p><p>  動態(tài)掃描,簡單的說就是逐行輪流掃描。具體到本設計,就是LED點陣16行的每一行(LED陰極)分別連在一起,用兩片74HC138的16個端口分別驅動,用于選中要顯示的那一行(低電平選中);每一列的LED陽極分別連在一起,用兩片74HC595的16個端口分別驅動,用于輸

15、出字型碼(高電平點亮該列的LED)。先送出對應第一行發(fā)光管亮滅的數(shù)據(jù)于74HC595的16個端口并鎖存,然后選通第一行使其點亮一定的時間,然后熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第二行使其點亮相同的時間,然后熄滅…… 第十六行之后又重新燃亮第一行,這樣反復輪回刷新掃描。當刷新的速度足夠快時,由于人眼的視覺暫留現(xiàn)象,我們就能看到點陣屏上的圖形穩(wěn)定顯示了。</p><p>  2 系統(tǒng)總體方案及硬件設計</

16、p><p>  2.1 顯示屏總體方案</p><p>  2.2 行驅動電路</p><p>  行驅動電路采用兩片74HC138 3線-8線譯碼器來實現(xiàn)。</p><p>  74HC138是一款高速CMOS器件,引腳兼容低功耗肖特基TTL(LSTTL)系列。</p><p>  圖2-1 74HC138管腳圖&

17、lt;/p><p>  表2-1 74HC138管腳說明</p><p>  表2-2 74HC138真值表</p><p>  74HC138(1)與74HC138(2)譯碼地址輸入端C、B、A分別連在一起,共用單片機P2^2,P2^1,P2^0端口。74HC138(1)的使能端E3與74HC138(2)的使能端、連在一起后接至單片機P2^3端口,同理,74HC1

18、38(2)的使能端E3同74HC138(1)的、連接在一起后接至單片機P2^4端口。如圖2-2所示。</p><p>  圖2-2 兩片74HC138連接圖</p><p>  這樣,74HC138(1)被選中時,因74HC138(2)的E3=0,=1,=1而輸出~均為高電平。</p><p>  2.3 列驅動電路</p><p>  

19、列驅動電路采用兩片74HC595級聯(lián)實現(xiàn)。通過74HC595(1)的QH與74HC595(2)的SI端相連實現(xiàn)。</p><p>  74HC595是一款漏極開路輸出的CMOS移位寄存器,輸出端口為可控的三態(tài)輸出端。</p><p>  圖2-3 74HC595管腳圖</p><p>  表2-3 74HC595管腳說明</p><p>

20、  表2-4 74HC595真值表</p><p>  由于74HC595是8位串入并出移位鎖存寄存器,因而采用串行傳輸?shù)姆椒ǎ挥靡桓鶖?shù)據(jù)總線就可以將16位的列代碼輸送到74HC595的輸出端,本設計采用P1^2作為串行數(shù)據(jù)輸出端口,與74HC595的數(shù)據(jù)端口SI相連。P1^0作為數(shù)據(jù)輸入時鐘線,與74HC595的SCK端相連,在SCK的每一個上升沿,都會從SI端移入下一位數(shù)據(jù)到74HC595的最低位Q0。當

21、74HC595的16個輸出端口數(shù)據(jù)全部更新一遍后,單片機的P1^1端口(與RCK端相連)產(chǎn)生一個上升沿,將數(shù)據(jù)鎖存到74HC595的16個端口上。最后,行選通后就可以刷新顯示一行了。如圖2-4所示。</p><p>  圖2-4 兩片74HC595級聯(lián)圖</p><p><b>  3 軟件設計</b></p><p>  3.1 系統(tǒng)主體

22、流程</p><p>  3.2 顯示一個漢字</p><p>  3.3 列驅動輸出更新</p><p>  當兩片74HC595的16個輸出端均更新完一遍后,給RCK一個上升沿,則該行的字型碼就鎖存到了74HC595的16個輸出端上。</p><p>  3.4 行驅動輸出更新</p><p>  行驅動輸出

23、更新采用查表方式。當74HC138(1)的E3=1,==0時,片1有效,片2輸出全為高電平(E3=0)。當C B A端分別為0 0 0時,選通輸出74HC138(1)的第一行=0。此時,P2^4=0,P2^3=1,P2^2=P2^1=P2^0=0,則P2口輸出行選碼0x08 。同理,16*16點陣的上8行的行選通碼為:0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,下8行的行選通碼為:0x10,0x11,

24、0x12,0x13,0x14,0x15,0x16,0x17 ,均從P2口輸出。</p><p>  4 Proteus軟件仿真</p><p>  4.1 Proteus軟件簡介</p><p>  Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目

25、前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產(chǎn)品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/1

26、6/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。</p><p>  4.2 Proteus仿真過程</p><p>  將Keil編譯源程序后生成的.HEX文件裝入Proteus的AT89C51仿真模型中。設置好單片機的時鐘頻率為12MHz,點擊“運行”,即可看到

27、仿真結果。</p><p>  4.3 Proteus仿真效果圖</p><p><b>  5 課程設計體會</b></p><p>  在這次課程設計的過程中,我和我的搭檔通過查閱大量的相關資料,詳細了解了LED的發(fā)光原理和LED顯示屏的原理,了解了LED的現(xiàn)狀,清楚地了解了LED顯示屏與其它顯示屏相比較有那些優(yōu)點,明確了研究目標,為將來

28、畢業(yè)設計奠定了基礎。在設計過程中,我熟練掌握了proteus仿真軟件的基本應用,與此同時也感到proteus仿真軟件對我們電氣專業(yè)的學生來說是一門相當有用的課程。不僅如此,通過這次單片機課程設計,復習并進一步學習了MCS-51單片機以及C51編程語言。</p><p>  尤其是在焊接硬件的過程中,由于出線較多,很容易出現(xiàn)串線、接錯焊點的現(xiàn)象。在調試程序的時候,當?shù)谝淮伟殉绦蛳螺d到單片機并運行時,發(fā)現(xiàn)四塊8*8

29、LED點陣屏的上兩塊和下兩塊顯示的字形一樣,均是一個漢字的上半部分。經(jīng)過認真檢查接線,發(fā)現(xiàn)兩片74HC138 的片選線接成了一樣,造成上下兩塊LED點陣對應行被同時選通,出現(xiàn)錯誤結果。互換兩條接線后,同時只能選中一片74HC138。再次通電后,顯示結果正確無誤。</p><p>  總之,從這次設計中,我們最重要的感受是:做任何事都有耐心和毅力,否則將一事無成。</p><p><b

30、>  參考文獻</b></p><p>  [1] 何立民.MCS-51系列單片機應用系統(tǒng)設計與接口技術[M].北京:北京航空航天大學出版社,1990.</p><p>  [2] 何立民.單片機應用技術選編[M].北京:北京航空航天大學出版社,2000.</p><p>  [3] 鄔寬明.單片機外圍器件實用手冊[M].北京:北京航空航天大學出

31、版社,1998.</p><p>  [4] 張毅剛等.MCS-51單片機應用設計[M].哈爾濱:哈爾濱工業(yè)電子出版社,1996.</p><p>  [5] 張新成,楊志邦.C語言程序設計[M].鄭州:河南科學技術出版社,2009.</p><p>  [6] 余發(fā)山,王福忠.單片機原理及應用技術[M].徐州:中國礦大出版社,2004.</p>&l

32、t;p>  [7] 胡漢才.單片機原理及接口技術(第二版)[M].北京:清華大學出版社,2003.</p><p>  [8] 李勛,李新民.MCS-96系列8089單微型計算機[M].北京:北京航空航天大學出版社,1991.</p><p>  [9] 張凱,馬忠梅.MCS-51單片機綜合系統(tǒng)及其設計開發(fā)[M].北京:科學出版社,1996.</p><p>

33、  [10] 陳偉人.MCS-51系列單片機實用子程序集錦[M].北京:清華大學出版社,1993.</p><p><b>  附1 源程序代碼</b></p><p>  /********************************************************************</p><p>  16*16字

34、符點陣顯示“河南理工大學電氣學院”共10個漢字</p><p>  ********************************************************************/</p><p>  #include<reg51.h></p><p>  #include <intrins.h></p>

35、<p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  #define N 10 //共顯示N個漢字</p><p>  sbit SCK = P1^0;//引腳定義</p><p>  sbit RCK = P1^1

36、; </p><p>  sbit SI = P1^2; </p><p>  uchar code lie[N][32] = {</p><p>  {0x40,0x04,0x3F,0xFE,0x10,0x08,0x00,0x08,0x80,0x48,0x67,0xE8,0x24,0x48,0x0C,0x48,</p><p>  0x

37、14,0x48,0x24,0x48,0xE7,0xC8,0x24,0x48,0x20,0x08,0x20,0x08,0x20,0x28,0x20,0x10},//河</p><p>  {0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x01,0x04,0x7F,0xFE,0x48,0x24,0x44,0x44,</p><p>  0x5F,0xF4,

38、0x41,0x04,0x41,0x04,0x5F,0xF4,0x41,0x04,0x41,0x04,0x41,0x14,0x40,0x08},//南</p><p>  {0x00,0x08,0x13,0xFC,0xFA,0x48,0x22,0x48,0x23,0xF8,0x22,0x48,0xFA,0x48,0x23,0xF8,</p><p>  0x20,0x40,0x20,0x5

39、0,0x23,0xF8,0x3C,0x40,0xE0,0x40,0x40,0x44,0x0F,0xFE,0x00,0x00},//理</p><p>  {0x00,0x00,0x00,0x08,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,</p><p>  0x01,0x00,0x01,0x00,0x01,0

40、x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00,0x00,0x00},//工</p><p>  {0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x02,0x80,</p><p>  0x02,0x80,0x02,0x40,0x04,0x40,0x04

41、,0x20,0x08,0x10,0x10,0x0E,0x60,0x04,0x00,0x00},//大</p><p>  {0x22,0x08,0x11,0x08,0x11,0x10,0x00,0x20,0x7F,0xFE,0x40,0x02,0x80,0x04,0x1F,0xE0,</p><p>  0x00,0x40,0x01,0x84,0xFF,0xFE,0x01,0x00,0x

42、01,0x00,0x01,0x00,0x05,0x00,0x02,0x00},//學</p><p>  {0x02,0x00,0x02,0x00,0x02,0x10,0x7F,0xF8,0x42,0x10,0x42,0x10,0x7F,0xF0,0x42,0x10,</p><p>  0x42,0x10,0x7F,0xF0,0x42,0x10,0x02,0x00,0x02,0x04,

43、0x02,0x04,0x01,0xFC,0x00,0x00},//電</p><p>  {0x10,0x00,0x10,0x08,0x1F,0xFC,0x20,0x00,0x2F,0xF0,0x40,0x00,0xBF,0xE0,0x00,0x20,</p><p>  0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x22,0x00,0x1

44、2,0x00,0x0A,0x00,0x04},//氣</p><p>  {0x22,0x08,0x11,0x08,0x11,0x10,0x00,0x20,0x7F,0xFE,0x40,0x02,0x80,0x04,0x1F,0xE0,</p><p>  0x00,0x40,0x01,0x84,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0

45、x00,0x02,0x00},//學</p><p>  {0x00,0x80,0x78,0x40,0x4F,0xFE,0x54,0x02,0x58,0x14,0x63,0xF8,0x50,0x00,0x48,0x08,</p><p>  0x4F,0xFC,0x48,0xA0,0x68,0xA0,0x50,0xA0,0x41,0x22,0x41,0x22,0x42,0x1E,0x4C

46、,0x00}//院</p><p><b>  };</b></p><p>  /*-----------------------------------------------</p><p>  x ms 延時子程序</p><p>  *-------------------------------------

47、---------*/</p><p>  void delayxms(uint x)</p><p><b>  {</b></p><p><b>  uint i;</b></p><p><b>  while(x)</b></p><p>&

48、lt;b>  {</b></p><p>  for(i=0;i<125;i++);//12MHz時鐘頻率</p><p><b>  x--;</b></p><p><b>  }</b></p><p><b>  }</b></p>

49、<p>  /*-----------------------------------------------</p><p><b>  主程序</b></p><p>  *-----------------------------------------------*/</p><p>  void main(void)

50、</p><p><b>  {</b></p><p>  uchar data hang[16] = {0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,//上8行選通碼</p><p>  0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17 };//下8行選通碼</

51、p><p>  uchar row = 0;</p><p>  uchar n = 0;</p><p>  uchar count = 0;</p><p>  uchar subcode = 0;</p><p>  uchar i,j;</p><p>  uchar shuaxin=15;

52、//一個漢字刷新次數(shù)</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  for(count=0;count<N;count++)//共有N個漢字需要顯示</p><p><b>  {</b></p

53、><p>  P2 = 0x00;//每顯示一個漢字,全滅0.5s鐘</p><p>  delayxms(500);</p><p>  //先顯示1個漢字</p><p>  for(shuaxin=0;shuaxin<15;shuaxin++) //每個漢字刷新shuaxin次。</p><p><

54、;b>  {</b></p><p>  for(i=0;i<32;i++)//1個漢字共32個字型碼,每2個字型碼可以點亮一行</p><p><b>  {</b></p><p>  for(n=0;n<2;n++)//每次取兩個字型碼,輸出一次,一行</p><p><b

55、>  {</b></p><p>  subcode = lie[count][i++];//暫存</p><p>  for(j=0;j<8;j++)</p><p><b>  {</b></p><p>  SI = subcode & 0x80;//取字模代碼最高位</p

56、><p>  subcode <<= 1; //左移1位</p><p><b>  SCK = 0;</b></p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p>  

57、SCK = 1; //上升沿時移入一位</p><p><b>  }</b></p><p>  }//此時74HC595的16個輸出端全部更新了一遍</p><p>  row = (i-1)/2;//row = 0--15 共16行</p><p>  P2 = hang[row];//行選通</p

58、><p>  RCK = 0; //輸出鎖存準備</p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p>  RCK = 1;//上升沿時74HC595并行輸出,顯示1行</p><p>  delayxms

59、(1);//延時10ms增亮</p><p>  P2 = 0x00;//行全為高電平</p><p>  delayxms(1);//全滅,消除拖尾余輝</p><p><b>  i--; </b></p><p><b>  }</b></p><p><b

溫馨提示

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

評論

0/150

提交評論