單片機課程設計--點陣設計_第1頁
已閱讀1頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設計說明書</b></p><p>  題 目: 8X8點陣顯示數(shù)字 </p><p>  院 (系): 機電工程學院 </p><p>  專 業(yè):機械設計制造及其自動化</p><p><b>  學生姓名及學號:</b>

2、;</p><p>  2011年12月16日</p><p><b>  前言</b></p><p>  單片機的實際應用一直是單片機初學者難以掌握的問題。我們的課程設計方法也許不是最佳方案,但也是我們組經(jīng)過討論及整合各種資料,再加上自己的創(chuàng)意來完成屬于我們自己的課程設計。</p><p>  設計內(nèi)容:設計一塊電路

3、板,編程使板上的8X8點陣顯示器顯示數(shù)字。</p><p>  要求:1、在8X8點陣顯示0到9的數(shù)字,且顯示清晰。</p><p>  2、當按鍵按一次,則顯示的數(shù)字加一,從0 到 9 循環(huán)。</p><p>  LED點陣電子顯示屏是集微電子技術(shù),計算機技術(shù),信息處理技術(shù)于一體的大型顯示屏系統(tǒng)。隨著單片機技術(shù)的不斷發(fā)展,單片機的日益平民化以及LED技術(shù)的不斷創(chuàng)新

4、,使得高亮度高清晰的LED點陣顯示屏的成本逐漸降低。LED顯示屏可以隨時改變內(nèi)容,操作簡單,成本低,具有實用性,給人們的生活帶來了許多的用途和方便。點陣數(shù)高,可以顯示圖形或漢字,而且清晰度高,還有許多附加功能。近年LED顯示屏已廣泛應用于室內(nèi)、外需要進行服務內(nèi)容和服務宗旨宣傳的公眾場所如電信、郵政大廳、營業(yè)部、車站機場、港口體育場等信息的發(fā)布,政府機關(guān)政策、政令的發(fā)布,各類市場營銷的信息和宣傳等。</p><p>

5、;  系統(tǒng)采用51系列單片機控制,即AT89C51單片機作控制器。在電路設計時,選用P3.2、P3.3管腳,以外部中斷的方式實現(xiàn)按鍵信號的讀入。由于用中斷方式,不會影響到程序的流程控制,有利于控制程序的設計。硬件電路設計簡單,只需在I/O口(經(jīng)過上拉電阻后)與點陣之間接入限流電阻限流即可,同時也有利與程序的設計。經(jīng)過第一次試驗之后發(fā)現(xiàn)點陣不怎么亮,故經(jīng)過思考,在P0口與點陣之間接入74HC573進行驅(qū)動(將74HC573的11腳接高電平

6、后,輸出隨輸入改變);在完成設計任務功能的基礎上,還增加了擴展功能。</p><p><b>  目錄</b></p><p>  第1章 系統(tǒng)概述4</p><p>  1.1系統(tǒng)設計思路和方案4</p><p>  1.2可行性分析4</p><p>  1.3各功能模塊及其組成5&

7、lt;/p><p>  1.3.1 中斷按鍵5</p><p>  1.3.2 AT89C515</p><p>  1.3.3 74HC5735</p><p>  1.3.4 8*8點陣5</p><p>  第2章 單元電路設計與仿真7</p><p>  2.1 電路設計7&

8、lt;/p><p>  2.1.1 單片機最小系統(tǒng)電路7</p><p>  2.1.2 中斷按鍵電路8</p><p>  2.1.3 8*8點陣控制電路8</p><p>  2.2 程序設計9</p><p>  2.2.1 8*8點陣數(shù)字顯示編碼9</p><p>  2.2.2

9、程序設計10</p><p><b>  2.3 仿真12</b></p><p>  第3章 電路的安裝與調(diào)試12</p><p><b>  3.1 制版12</b></p><p><b>  3.2調(diào)試12</b></p><p> 

10、 3.3出現(xiàn)的問題13</p><p>  第4章 結(jié)束語13</p><p><b>  附件:14</b></p><p> ?。?元件清單表14</p><p><b>  2. 原理圖14</b></p><p>  3. PCB圖15</p>

11、;<p><b>  參考文獻:15</b></p><p><b>  第1章 系統(tǒng)概述</b></p><p>  1.1系統(tǒng)設計思路和方案</p><p>  系統(tǒng)采用51系列單片機控制,在電路設計時,選用P3.2、P3.3管腳,以外部中斷的方式實現(xiàn)按鍵信號的讀入。由于用中斷方式,不會影響到程序的流

12、程控制,有利于控制程序的設計。</p><p>  AT89C51單片機作控制器,點陣顯示器,其中,P0作為點陣列控制口,P2作為點陣行控制口字,第31腳(EA)接電源,P3.2、P3.3口分別接開關(guān)K2、K3。由于采用單片機直接控制點陣,所以硬件電路設計簡單,只需在I/O口(經(jīng)過上拉電阻后)與點陣之間接入限流電阻限流即可,同時也有利與程序的設計。經(jīng)過第一次試驗之后發(fā)現(xiàn)點陣不怎么亮,故經(jīng)過思考,在P0口與點陣之間

13、接入74HC573進行驅(qū)動(將74HC573的11腳接高電平后,輸出隨輸入改變),如下圖:</p><p>  在完成設計任務功能的基礎上,還增加了擴展功能,即增加了按鍵選擇模式,和動態(tài)掃描顯示0~9以及組員的學號(中間以心形隔開)。</p><p><b>  1.2可行性分析</b></p><p>  由于51系列單片機擁有兩個外部中斷,

14、用兩個按鍵來實現(xiàn)依次加一和減一功能較為簡單。其4組32個I/O口,能滿足利用兩組來控制點陣的要求。至于其他的擴展功能,通過編程也可以實現(xiàn)。</p><p>  1.3各功能模塊及其組成</p><p>  1.3.1 中斷按鍵</p><p>  通過按鍵(分別連INT0和INT1腳),輸入一個觸發(fā)源,經(jīng)過單片機處理后,使其按相應的設定改變I/O口的電平,從而控制

15、點陣做相應的顯示。</p><p>  1.3.2 AT89C51</p><p>  AT89C51最小系統(tǒng)模塊包括一個復位電路,一個晶振電路。本設計的復位電路由一個按鍵、一個極性電容和兩個串聯(lián)的電阻組成(連RST腳),晶振電路由一個11.0592M和兩個30pf的普通電容構(gòu)成(連XTAL1和XTAL2腳)。</p><p>  本設計所用到的I/O口為P0和P2

16、。</p><p>  1.3.3 74HC573</p><p>  八進制3態(tài)非反轉(zhuǎn)透明鎖存器,此處用它的放大功能(相當于三極管),將其鎖存端接高電平,其輸出隨輸入而改變。</p><p>  1.3.4 8*8點陣</p><p>  點陣上下兩排引腳,每排8個,一共16個,共由64個發(fā)光二極管組成,且每個發(fā)光二極管是放置在行線和列線

17、的交叉點上,當對應的某一行置1電平,某一列置0電平,則相應的二極管就亮;如要將第一個點點亮,則1腳接高電平a腳接低電平,則第一個點就亮了;如果要將第一行點亮,則第1腳要接高電平,而(a、b、c、d、e、f、g、h )這些引腳接低電平,那么第一行就會點亮;如要將第一列點亮,則第a腳接低電平,而(1、2、3、4、5、6、7、8)接高電平,那么第一列就會點亮。如下圖所示:</p><p>  本設計所用的點陣

18、封裝圖如下所示:</p><p>  第2章 單元電路設計與仿真</p><p><b>  2.1 電路設計</b></p><p>  2.1.1 單片機最小系統(tǒng)電路</p><p>  單片機最小系統(tǒng)主要有復位電路和晶振電路構(gòu)成。</p><p><b>  復位電路</b

19、></p><p>  在51單片機中最常見的復位電路有上電復位和手動復位,如下圖所示:</p><p>  RST引腳是復位信號的輸入端,復位信號為高電平有效,有效的持續(xù)時間在24個振蕩周期以上才能復位。這里選擇手動復位電路,能在單片機死機時及時復位。</p><p><b>  晶振電路</b></p><p>

20、;  單片機的振蕩時鐘有內(nèi)部時鐘和外部時鐘兩種方式。</p><p>  內(nèi)部振蕩方式:如下圖所示,單片機內(nèi)有一個用于構(gòu)成振蕩器的高增益反向放大器,引腳XTAL1和XTAL2分別是此放大器的輸入和輸出端。把放大器與作為反饋元件的晶體振蕩器或陶瓷諧振器連接,就構(gòu)成內(nèi)部自激振蕩器并產(chǎn)生振蕩時鐘脈沖。</p><p>  外部振蕩方式:將外部已有的時鐘脈沖信號引入單片機內(nèi)。</p>

21、<p>  本設計采用內(nèi)部振蕩方式。</p><p>  2.1.2 中斷按鍵電路</p><p>  中斷按鍵電路取決于控制程序的設計,在控制程序中選用中斷為負跳變觸發(fā)方式,因此中斷按鍵設計如下所示,當按鍵未按下時,相應管腳為高電平,當按鍵按下時,管腳電平負跳變,觸發(fā)中斷,使控制程序轉(zhuǎn)入中斷服務程序。</p><p>  2.1.3 8*8點陣控制電路

22、</p><p>  點陣內(nèi)部有64個LED組成,驅(qū)動時為了增加其亮度,P0口在加上拉電阻的前提下再加一個74HC573芯片(當三極管放大作用)。由資料知,LED發(fā)光二極管的壓緊一般為1.5-2V,工作電流一般為10-20mA,去I=15mA,U=2V,得出上拉電阻值為:R=200,這里取R=270??傠娐啡缦拢?lt;/p><p><b>  2.2 程序設計</b>&

23、lt;/p><p>  2.2.1 8*8點陣數(shù)字顯示編碼</p><p>  由1.3.4 點陣顯示原理知,當某行置低電平,某列置高電平時,對應的LED發(fā)光二極管就亮。</p><p>  下圖所示“0”字符的編碼,當選擇第一行時,將相應的行管腳置低,由于沒有二極管發(fā)亮,故對應的列全置低;當選擇第二行時,將相應的行管腳置低,由于3、4、5個二極管亮,故相應的列管腳置高

24、,依次可得選擇行的編碼為:</p><p>  {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};</p><p>  “0”的編碼為:{0x00,0x18,0x24,0x24,0x24,0x24,0x24,0x18};</p><p>  “1”的編碼為:{0x00,0x08,0x18,0x08,0x08,0x08,0x08,0x

25、08};</p><p>  “2”的編碼為:{0x00,0x18,0x24,0x24,0x08,0x10,0x20,0x3C};</p><p>  “3”的編碼為:{0x00,0x18,0x24,0x04,0x08,0x04,0x24,0x18};</p><p>  “4”的編碼為:{0x00,0x08,0x08,0x18,0x28,0x3C,0x08,0x0

26、8};</p><p>  “5”的編碼為:{0x00,0x3C,0x20,0x38,0x04,0x04,0x24,0x18};</p><p>  “6”的編碼為:{0x00,0x18,0x24,0x20,0x38,0x24,0x24,0x18};</p><p>  “7”的編碼為:{0x00,0x3C,0x24,0x04,0x08,0x10,0x10,0x10

27、};</p><p>  “8”的編碼為:{0x00,0x18,0x24,0x24,0x18,0x24,0x24,0x18};</p><p>  “9”的編碼為:{0x00,0x18,0x24,0x24,0x1C,0x4,0x24,0x18};</p><p>  “10”的編碼為:{0x4C,0xD2,0x52,0x52,0x52,0x52,0x52,0xEC}

28、;</p><p>  2.2.2 程序設計</p><p><b> ?。?)開機檢測程序</b></p><p>  開機檢測程序讓點陣全部點亮,以檢測屏幕是否有壞點。主要語句如下:</p><p>  P0=0xff;//列置高</p><p>  P2=0x00;//行置低,全亮</

29、p><p>  P0=0x00;//關(guān)閉所有LED</p><p><b>  數(shù)字顯示程序</b></p><p>  點陣以列動態(tài)掃描顯示的方式顯示0-9任意數(shù)字。程序如下:</p><p>  void display(int n)//n為待顯示的數(shù)</p><p><b>  {&l

30、t;/b></p><p><b>  int a;</b></p><p>  for(a=8;a>0;a--)</p><p><b>  {</b></p><p>  P2=table[a];//已編碼的行數(shù)表</p><p>  P0=graph[n][

31、a];//已編碼的列二維數(shù)表</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  外部中斷程序</b></p><p><b>  ①外部中斷1</b></p><p>  該

32、段程序用來控制依次加一功能,程序如下:</p><p>  void INT_0() interrupt 0 </p><p><b>  {</b></p><p><b>  EX0=0;</b></p><p>  delay(50);</p><p><b>

33、;  EX0=1;</b></p><p>  if(lie==12) lie=0;</p><p><b>  else </b></p><p><b>  {</b></p><p><b>  lie++;</b></p><p> 

34、 P0=graph[lie][hang];</p><p>  delay(500);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  ②外部中斷2</b></p><p>  該段程序用來控制

35、依次減一功能,程序如下:</p><p>  void INT_1() interrupt 2 </p><p><b>  {</b></p><p><b>  EX1=0;</b></p><p>  delay(50);</p><p><b>  EX1=

36、1;</b></p><p>  if(lie==0) lie=12;</p><p><b>  else </b></p><p><b>  {</b></p><p><b>  lie--;</b></p><p>  P0=gra

37、ph[lie][hang];</p><p>  delay(500);</p><p><b>  }</b></p><p><b>  }</b></p><p><b> ?、鄱〞r中斷</b></p><p>  動態(tài)掃描的時間為1ms,對定時器

38、0賦相應的值,程序如下:</p><p>  void t0(void) interrupt 1 </p><p><b>  {</b></p><p>  TH0=(65536-1000)/256;</p><p>  TL0=(65536-1000)%256; </p><p>  P2=t

39、ab[hang];</p><p>  P0=graph[lie][hang];</p><p><b>  hang++;</b></p><p>  if(hang==8)</p><p><b>  hang=0;</b></p><p><b>  }&l

40、t;/b></p><p><b>  2.3 仿真</b></p><p>  基于Proteus和Keil C對設計的程序和硬件進行聯(lián)調(diào)仿真,初步驗證了原理圖和程序的正確性,意味著可以進入下一步操作——用Protel 99進行PCB布線,制版。</p><p>  3.電路的安裝與調(diào)試</p><p><

41、b>  3.1 制版</b></p><p> ?、偃ゴ蛴〉臧旬嫼玫腜CB用專用的油紙打印出來</p><p>  ②用熨斗將油紙上電路線條印到銅板上</p><p> ?、蹖⒂『玫你~板泡到適量濃度的氯化鐵溶液中</p><p>  ④在預留的元件孔位上鉆孔</p><p> ?、莅卜旁⒃?/p>

42、焊錫將其焊在電路板上</p><p> ?、抻萌f用表測各個連接點,檢查電路的通斷情況</p><p> ?、呦螺d程序調(diào)試,直至符合要求為止</p><p><b>  3.2調(diào)試</b></p><p> ?、傧螺d開機檢測程序,檢查屏幕是否有壞點</p><p>  ②如果沒有壞點,則下載顯示單個

43、數(shù)字的程序進去(如下載顯示“0”的程序)檢查編碼是否出錯</p><p> ?、廴邕^編碼沒錯,則下載0-9依次遞增的程序,調(diào)節(jié)延遲程序,直到符合要求</p><p>  ④下載擴展其他功能的程序,調(diào)節(jié),直到達到預定的功能</p><p><b>  3.3出現(xiàn)的問題</b></p><p><b>  點陣顯示

44、的亮度不夠</b></p><p>  經(jīng)過小組討論分析,應該是流過二極管的電流不夠大,所以在第二次做板的時候加上了74HC573芯片,放大電流,第二次測試發(fā)現(xiàn)亮度果然增大。</p><p>  沒注意點陣封裝,導致編碼出現(xiàn)亂碼</p><p>  我們買的點陣型號是,原來沒測管腳,以為正負兩邊分,哪知不是,后來從網(wǎng)上找了的封裝文件,重新布圖,才成功。&

45、lt;/p><p>  有時按下一次按鍵,連跳幾個數(shù)字</p><p>  經(jīng)過測試,原來是消抖延遲的時間不夠長,加長消抖時間后,此現(xiàn)象消除。</p><p><b>  第四章 結(jié)束語</b></p><p>  本系統(tǒng)能夠完成設計任務,即能按要求顯示0-9數(shù)字,并能夠用按鍵控制</p><p> 

46、 數(shù)字的遞增或遞減,顯示也較為穩(wěn)定清晰。值得一提的是,本系統(tǒng)在實現(xiàn)設計任務外還能實現(xiàn)自動顯示指定數(shù)字的功能。對于本系統(tǒng),經(jīng)小組討論,主要有以下改進意見:用顏色點陣,這樣顯示的效果會更好;增加屏幕滾動顯示效果,增強動感,使可視界面更爽;增加鍵盤掃描輸入功能,方便及時輸入各種信息數(shù)據(jù)。</p><p>  學習單片機這門課程,要掌握單片機指令系統(tǒng)中C語言編程各種基本語法及C程序設計的基本知識和方法,以及單片機與其他設

47、備相連的輸入輸出中斷等接口技術(shù)。在本次課程設計中,主要使用了Protel 99、Protenus已經(jīng)Keil C等軟件進行硬件電路和控制程序的設計,同時,在制作硬件電路PCB板時,對熱轉(zhuǎn)印法制版的流程和應注意的問題有了更深的掌握,例如在腐蝕板電路時要注意腐蝕安全,還有環(huán)境保護等等。在PCB板布線時應根據(jù)實際元件的封裝來繪制PCB圖紙。這次單片機課程設計使我們從硬件軟件的結(jié)合上理論聯(lián)系實際,提高動手能力,從而更全面掌握單片機的應用。<

48、;/p><p><b>  附件:</b></p><p><b>  1.元件清單表</b></p><p><b>  2.原理圖</b></p><p><b>  3.PCB圖</b></p><p><b>  參考

49、文獻:</b></p><p>  陳海宴· 51單片機原理及應用:基于Keil C與Proteus·北京航空航天大學出版社·2010</p><p>  周向紅·51單片機課程設計·華中科技大學出版社·2011</p><p>  朱清慧·Proteus教程:電子線路設計、制作與仿真

50、·清華大學出版社·2008</p><p>  郭天祥·新概念51單片機C語言教程·電子工業(yè)出版社·2009</p><p>  溫子祺·51單片機C語言創(chuàng)新教程·北京航空航天大學出版社·2011</p><p>  雷伏容·51單片機常用模塊設計查詢手冊·清華大學出

溫馨提示

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

評論

0/150

提交評論