單片機課程設計課題報告_第1頁
已閱讀1頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  電子線路CAD課程設計報告</p><p>  院、 系: 信息工程學院 </p><p>  專 業(yè): 電子信息工程 </p><p>  學 號: </p><p>  姓 名: </p>

2、;<p>  指導教師: </p><p>  2012 年 6 月 21 日</p><p><b>  目 錄</b></p><p>  課程設計目的……………………………………………………2</p><p>  課程設計題目……………………………………………………2&l

3、t;/p><p>  課程設計報告內(nèi)容………………………………………………2</p><p>  3、1………………………………………………………2</p><p>  3、2………………………………………………………5</p><p>  3、3………………………………………………………8</p><p>  3、4……

4、…………………………………………………15</p><p>  心得體會…………………………………………………………16</p><p>  參考文獻…………………………………………………………16</p><p>  第一部分 課程設計目的</p><p>  本課程設計是以電子線路CAD軟件設計原理為基礎,重點在硬件設計領域中實用的電子

5、線路設計軟件的應用,使學生掌握電子線路設計中使用CAD的方法,為后繼課程和設計打下基礎。同時能夠系統(tǒng)地運用已學的理論知識解決實際問題的能力和查閱資料的能力。培養(yǎng)一定的自學能力和獨立分析問題、解決問題的能力,能通過獨立思考、查閱工具書、參考文獻,尋找解決方案。通過此次電路設計,掌握硬件設計中原理圖設計、功能仿真、器件布局、在線仿真、PCB設計等硬件設計的重要環(huán)節(jié)。 </p><p>  第二部分 課程設計題目&l

6、t;/p><p>  本次課程設計采用的主控芯片為AT80C51,通過可編程的單片機來控制整個設計實現(xiàn)不同的功能。</p><p>  課程設計最終實現(xiàn)的功能:</p><p>  1、【音樂盒的播放】:利用I/O口產(chǎn)生一定頻率的波形,驅動蜂鳴器發(fā)出不同的音調,從而演奏樂曲,可以演奏多首樂曲。</p><p>  2、【流水燈的循環(huán)點亮】:利用I

7、/O產(chǎn)生一定輸出信號,控制6個彩色LED燈循環(huán)依次點亮。</p><p>  3、【串口通訊】:利用單片機的第二功能口實現(xiàn)單片機和上位機之間的通信顯示功能。</p><p>  4、【LED顯示撥碼開關的值】:撥碼開關按下的值送到單片機擴展I/O口實現(xiàn)動態(tài)顯示撥碼開關的數(shù)值。</p><p>  5、【電子時鐘】:用單片機擴展的I/O口,實現(xiàn)基本的數(shù)字電子鐘顯示功能

8、。</p><p>  6、【4*4鍵盤顯示】:利用按鍵組成一個4*4的鍵盤,然后將按鍵的值通過單片機的I/O口送到LED上顯示按鍵的數(shù)值A-F的顯示。</p><p>  第三部分 課程設計報告內(nèi)容</p><p>  3、1 設計原理和方案論證</p><p>  A1、CPU模塊原理:本次課程設計的核心部分為AT80C51,這個芯片是

9、一個可編程的芯片,一共有40個引腳。此芯片外接了一個晶振模塊產(chǎn)生一個12MHZ的時鐘頻率,還置了一個按鍵復位的部分實現(xiàn)單片機的按鍵復位功能。</p><p>  A2、 CPU模塊的方案驗證:通過單片機的I/O可以正常實現(xiàn)設計模塊的各個功能。</p><p>  B1、鍵盤顯示模塊:鍵盤顯示模塊是通過一個單片機外接的一個8255芯片實現(xiàn)單片機I/O口的外擴功能,鍵盤可以將數(shù)值送到8255的

10、輸入口,然后通過單片機的緩存,在從8255的輸出口將按鍵按下的值送到LED上進行顯示。</p><p>  B2:鍵盤顯示的方案論證:8255的PB口作為鍵盤值的輸入口,PA口作為鍵盤顯示的輸出口,PC口作為位碼選擇口,將鍵盤的值送到LED上實現(xiàn)按鍵的值的動態(tài)顯示過程。另外還可以實現(xiàn)一個簡易的電子鐘來實現(xiàn)LED的動態(tài)顯示過程。</p><p>  C1:蜂鳴器模塊原理:蜂鳴器接收單片機I/

11、O送到的不同頻率的矩形波,蜂鳴器可以由此產(chǎn)生不同的音調,實現(xiàn)音樂歌曲的播放過程。</p><p>  C2:蜂鳴器模塊論證方案:通過單片機的一個輸出口,將單片機輸出的不同頻率的波送到蜂鳴器,即可實現(xiàn)音樂播放器的播放過程。</p><p>  D1:流水燈模塊原理:由單片機的I/O(P1口)輸出高低電平來控制流水燈的亮和滅的循環(huán)過程。</p><p>  D2:流水燈

12、顯示模塊方案論證:通過單片機的I/O口輸出高低電平送到八個彩色的發(fā)光二極管燈上控制八個二極管輪流亮和滅的過程,從而實現(xiàn)流水燈的循環(huán)顯示過程。</p><p>  E1:A/D轉換模塊原理:A/D轉換實現(xiàn)的是將輸入的模擬量轉換為數(shù)字量顯示到發(fā)光二極管中,顯示出轉換的數(shù)值。ADC0808是采樣分辨率為8位的、以逐次逼近原理進行模/數(shù)轉換的器件。其內(nèi)部有一個8通道多路開關,它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模

13、擬輸入信號中的一個進行A/D轉換。單片機通過I/O口來控制A/D的ADDA,ADDB,ADDC從而控制輸入的模擬量從哪個通道輸入,然后通過控制START和ALE進行轉換,轉換結束以后由EOC輸出一個轉換結束信號的脈沖送到單片機的外部中斷INT0處,控制單片機將轉換的值緩存在單片機內(nèi),然后通過單片機輸出到八個發(fā)光二極管中,顯示轉換的結果。</p><p>  E2:A/D轉換模塊實現(xiàn)法案論證:通過單片機選中通道IN

14、0,然后利用滑動變阻器實現(xiàn)模擬量的輸入,然后通過通過EOC控制中斷的產(chǎn)生,最后將結果送到LED中嫉囊轉換結果顯示,從而實現(xiàn)8位A/D的轉換。</p><p>  F1:D/A轉換模塊的原理:D/A轉換是將數(shù)字量轉換為模擬量顯示到示波器中。通過一個鎖存器將單片機輸入的數(shù)字量送到鎖存器中進行鎖存,然后將DAC0808轉換的結果送到示波器中進行顯示。</p><p>  F2:D/A轉換模塊的實

15、現(xiàn)方案論證:將單片機中的數(shù)字量送到鎖存器中進行鎖存,通過DAC0808的轉換,然后將轉換的結果送到示波器中進行顯示,可以看到顯示的矩形波,鋸齒波等需要的方法,即為實現(xiàn)了D/A轉換。</p><p>  G1:I2C總線擴展:外圍器件及外設接口通過總線尋址,是具備總線仲裁和高低速設備同步等功能的高性能多主機總線。串行數(shù)據(jù)線SDA和串行時鐘線SCL構成的,可發(fā)送和接收數(shù)據(jù)。I2C總線在傳送數(shù)據(jù)過程中共有三種類型信號:

16、開始信號、停止信號和應答信號I2C總線的傳送格式為主從式,對系統(tǒng)中的某一器件來說有四種工作方式:主發(fā)送方式、從發(fā)送方式、主接收方式、從接收方式。</p><p>  G2:I2C總線模塊實現(xiàn)方案和論證:1)寫操作:傳送數(shù)據(jù)時,單片機首先發(fā)送一個字節(jié)的被寫入器件的存儲區(qū)的首地址,收到存儲器器件的應答后,單片機就逐個發(fā)送各數(shù)據(jù)字節(jié),但每發(fā)送一個字節(jié)后都要等待應答。2)讀操作: 單片機先發(fā)送該器件的7位地址碼和

17、寫方向位“0”(“偽寫”),發(fā)送完后釋放SDA線并在SCL線上產(chǎn)生第9個時鐘信號。被選中的存儲器器件在確認是自己的地址后,在SDA線上產(chǎn)生一個應答信號作為相應。 </p><p>  然后,再發(fā)一個字節(jié)的要讀出器件的存儲區(qū)的首地址,收到應答后,單片機要重復一次起始信號并發(fā)出器件地址和讀方向位(“1”),收到器件應答后就可以讀出數(shù)據(jù)字節(jié),每讀出一個字節(jié),單片機都要回復應答信號。當最后一個字節(jié)數(shù)據(jù)讀完后,單片機應返回

18、以“非應答”(高電平),并發(fā)出終止信號以結束讀出操作。</p><p>  H1:串口通信模塊原理:通過利用單片機的TXD,RXD,實現(xiàn)單片機和上位機(計算機)之間的通信。 </p><p>  H2:串口通信模塊實現(xiàn)方案和論證:當單片機的RXD有效時,可以接收到串口發(fā)送的數(shù)據(jù),當TXD有效時可以實現(xiàn)接收單片機發(fā)送的數(shù)據(jù),從而實現(xiàn)單片機和計算機之間的通信。</p><p

19、>  J1:4*4鍵盤顯示模塊原理:利用單片機的I/O接在鍵盤的行線和列線上面,然后利用鍵盤掃描的方法,將按鍵按下的值送到單片機中從單片機的I/O口輸出送到八段數(shù)碼管上進行顯示。</p><p>  J2:4*4鍵盤顯示模塊實現(xiàn)方案和論證:將單片機的P3口高四位,低四位分別作為行線和列線,通過單片機的P2口輸出,然后按下鍵的值通過單片機送到八段數(shù)碼管進行顯示。</p><p>  K

20、1:中斷模塊的實現(xiàn)原理:利用一些開關按鈕外接單片機的第二功能外部中斷的引腳即可實現(xiàn)對某個模塊的中斷的控制。例如撥碼開關按鍵顯示的模塊可以利用中斷來實現(xiàn)撥碼開關顯示開關按下的數(shù)值。</p><p>  3、2 protues電路圖的原理設計</p><p>  利用protues實現(xiàn)不同模塊的設計過程,首先將各個所需的原件拉到protues中,然后對應各個模塊的I/O用對應的相同線路標號標

21、好,將一些需要用總線連接的用總線連接在一塊,最后設計一個合適的模版,將設計好的模塊用矩形框框起來,合理布局到protues中,從而實現(xiàn)整個最終電路圖的設計。</p><p>  CPU模塊的protues電路圖</p><p>  2、8255鍵盤顯示模塊</p><p>  3、蜂鳴器模塊 </p><p><

22、;b>  4、流水燈模塊</b></p><p><b>  5、A/D轉換模塊</b></p><p><b>  6、D/A轉換模塊</b></p><p><b>  7、I2C總線模塊</b></p><p><b>  8、串口通信模塊&l

23、t;/b></p><p>  9、4*4鍵盤顯示模塊</p><p>  10、中斷和定時模塊</p><p>  3、3 軟件仿真方法和結果分析過程</p><p>  A、實現(xiàn)的軟件方法基本步驟為:首先根據(jù)連接的硬件圖形,編寫出對應的代碼然后進行編譯以后生成.hex文件,加載到單片機中即可實現(xiàn)仿真結果的測試。</p>

24、<p>  實現(xiàn)撥碼開關時用到了擴展的I/O口,匯編程序源代碼:</p><p><b>  ORG 0000H</b></p><p><b>  AJMP MAIN</b></p><p>  ORG 0013H</p><p><b>  AJMP ITOP</b

25、></p><p>  ORG 0100H</p><p>  MAIN: MOV 40H,#00H</p><p>  MOV 41H,#00H</p><p>  MOV 42H,#00H</p><p><b>  SETB EA</b></p><p>&l

26、t;b>  SETB EX1</b></p><p><b>  SETB IT1</b></p><p>  LED :MOV R0,#41H</p><p>  MOV R1,#01H</p><p><b>  MOV A,R1</b></p><p&g

27、t;  LD0: MOV DPTR,#79FFH ;段碼段示</p><p>  MOVX @DPTR,A</p><p><b>  MOV A,@R0</b></p><p>  ADD A,#12H</p><p>  MOVC A,@A+PC</p><p>  MOVX @DPTR,A

28、</p><p>  LD1: MOV DPTR,#7DFFH ;位碼顯示</p><p><b>  MOV A,R1</b></p><p>  MOVX @DPTR,A</p><p>  ACALL DELAY</p><p><b>  RL A</b><

29、/p><p><b>  MOV R1,A</b></p><p><b>  INC R0</b></p><p>  JB ACC.3,LD2</p><p><b>  AJMP LD0</b></p><p>  LD2: AJMP LED<

30、/p><p>  OSEG: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H</p><p>  DB 80H,90H,88H,83H,0C7H,0A0H,86H,8EH</p><p>  ITOP: MOV DPTR,#7BFFH ;PB口作為輸入</p><p>  MO

31、VX A,@DPTR</p><p>  MOV B,#100</p><p><b>  DIV AB</b></p><p><b>  MOV 41H,A</b></p><p><b>  MOV R2,B</b></p><p><b&g

32、t;  MOV B,#10</b></p><p><b>  MOV A,R2</b></p><p><b>  DIV AB</b></p><p><b>  MOV 42H,A</b></p><p><b>  MOV 43H,B</b&

33、gt;</p><p><b>  RETI</b></p><p>  DELAY:MOV R7,#10</p><p>  DL2: MOV R5,#200</p><p>  DL0 : MOV R6,#0FFH</p><p>  DL1: DJNZ R6,DL1 ;延時1ms<

34、;/p><p>  DJNZ R5,DL0</p><p>  DJNZ R7,DL2</p><p><b>  RET</b></p><p>  實現(xiàn)鍵盤顯示時用到了單片機的P3和P2口,實現(xiàn)源代碼:</p><p>  LINEEQU30H</p><p>  RO

35、WEQU31H</p><p>  VALEQU32H</p><p><b>  ORG00H</b></p><p>  START:MOVDPTR,#TABLE;段碼表首地址</p><p>  MOV P2,#00H;數(shù)碼管顯示初始化</p><p>  LSCAN:

36、MOV P3,#0F0H;列線置高電平,行線置高電平</p><p>  L1:JNB P3.0,L2;逐行掃描</p><p>  LCALLDELAY</p><p>  JNBP3.0,L2</p><p>  MOV LINE,#00H;存行號</p><p>  LJMPRSCAN<

37、;/p><p>  L2: JNBP3.1,L3</p><p>  LCALLDELAY</p><p>  JNBP3.1,L3</p><p>  MOVLINE,#01H;存行號</p><p>  LJMPRSCAN</p><p>  L3: JNBP3.

38、2,L4</p><p>  LCALLDELAY</p><p>  JNBP3.2,L4</p><p>  MOVLINE,#02H;存行號</p><p>  LJMPRSCAN</p><p>  L4: JNBP3.3,L1</p><p>  LCALLDE

39、LAY</p><p>  JNBP3.3,L1</p><p>  MOVLINE,#03H;存行號</p><p>  RSCAN:MOV P3,#0FH;行線列線電平互換</p><p>  C1:JNBP3.4,C2;逐列掃描</p><p>  MOVROW,#00H;

40、存列號</p><p>  LJMPCALCU</p><p>  C2:JNBP3.5,C3</p><p>  MOVROW,#01H;存列號</p><p>  LJMPCALCU</p><p>  C3:JNBP3.6,C4</p><p>  MOVRO

41、W,#02H;存列號</p><p>  LJMPCALCU</p><p>  C4: JNB 3.7,C1</p><p>  MOVROW,#03H;存列號</p><p>  CALCU: MOV A,LINE;根據(jù)行號和列號計算鍵值</p><p>  MOVB,#04H</p

42、><p><b>  MULAB</b></p><p>  ADDA,ROW</p><p>  MOVVAL,A;存鍵值</p><p>  MOVCA,@A+DPTR;要據(jù)鍵值查段碼</p><p>  MOVP2,A;輸出段碼顯示</p><p&

43、gt;  LJMPLSCAN</p><p>  DELAY: MOVR6,#20</p><p>  D1:MOVR7,#250</p><p><b>  DJNZR7,$</b></p><p>  DJNZR6,D1</p><p><b>  RET</b&g

44、t;</p><p>  TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H</p><p>  DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H</p><p><b>  END</b></p><p><b>  B、仿真結果分析</b>

45、</p><p><b>  1、流水燈顯示</b></p><p>  結果分析:程序執(zhí)行以后流水燈一次循環(huán)動態(tài)顯示,8個完全顯示以后然后所有的都被點亮,持續(xù)1s,然后開始下次的循環(huán)動態(tài)顯示。</p><p>  撥碼開關實現(xiàn)的動態(tài)顯示 </p><p>  結果分析:撥碼開關低電平有效,位選碼選中的為LED的前三

46、個,撥碼開關按下的鍵對應的十進制數(shù)為多少時,顯示的值就會動態(tài)顯示為多少,顯示順序依次為百位、十位、個位。 </p><p><b>  結果</b></p><p>  3、4*4鍵盤的顯示模塊</p><p>  結果分析:鍵盤掃描顯示按下鍵的值,當16個鍵按下任意一個,松開以后,八段數(shù)碼管顯示對應按下的數(shù)值可以從0-F進行顯示。&

47、lt;/p><p><b>  電子時模塊:</b></p><p>  結果分析:八段數(shù)碼管賦值為0000,然后運行開始時,電子鐘的秒開始加一,加到59,清零,然后分鐘位進一,變?yōu)?,然后分鐘記到59以后,清零,小時開始進一,一直持續(xù)計數(shù),當記到235959時,清零,重新開始計數(shù)。</p><p><b>  串口通信模塊</b&

48、gt;</p><p>  結果分析:串口通信實現(xiàn)單片機和計算機之間的通信,通過接單片機的的TXD,RXD控制接收串口或者單片機發(fā)送過來的數(shù)據(jù)。</p><p>  5、PCB板的設計和實現(xiàn)結果</p><p>  6、最終設計的整個protues設計圖</p><p>  3、4 仿真設計過程中出現(xiàn)的問題及解決方法</p>&

49、lt;p>  本次課程設計是第一次真正的實現(xiàn)一個完整的比較大的系統(tǒng)設計過程,這么多的模塊組成了一個比較大的系統(tǒng)。雖然整體基本的功能可以實現(xiàn),但在整個系統(tǒng)設計的過程中出現(xiàn)的問題還是比較多的。</p><p>  剛開始時將一些模塊單獨進行仿真時可以出現(xiàn)正確的結果,當放在整個系統(tǒng)中仿真時就會出現(xiàn)錯誤,原因就是,一些芯片的名字,電阻的標號有重復,在確保整個模版系統(tǒng)中無重復的模塊名時才有可能實現(xiàn)正確的仿真。<

50、/p><p>  在撥碼開關顯示的時候,對于8255PA,PB,PC,選作輸出,輸入,段選時,對應的單片機的選擇地址引腳不同時,匯編時對應的地址不相同,只有將不同的值送到正確的地址時才能實現(xiàn)正確的顯示;另外撥碼開關最大可以顯示3位十進制數(shù),因此把撥碼開關的值送到LED中時,必須保證對輸入的值進行百位、十位、個位分離。</p><p>  做電子鐘時,雖然顯示出來了,但由于編程能力限制,在仿真時

51、有一位的位碼始終不能被選中,導致電子鐘顯示并不是十分完美,也成為本次課程涉及的一個遺憾。</p><p>  除了電子鐘,LED撥碼開關顯示和4*4鍵盤顯示之外,我一直在嘗試可以把A/D轉換的模塊能夠顯示出來,但由于自己的編程能力有限和硬件測試能力不是很強,最終一直未能將A/D轉換的模塊成功的做出來。</p><p><b>  第四部分 心得體會</b></p

52、><p>  這次的課程設計總體來說還是設計的比較成功的,通過這次的課程設計,不論是編程能力,還是硬件測試仿真能力都得到了很大的提高,自己真正的獨立設計出一個簡單的系統(tǒng),中間也遇到了不少的問題,通過和老師同學們的交流提高了自己解決問題的能力,同時,我們還獨立的設計了一個PCB板,對電子電路的設計有了更深的認識和理解。但本次課程設計還是有很多的不足之處的,一部分嘗試做的模塊并沒有完全成功,也讓我認識到了自己的很多不足之

53、處,我相信通過自己的不斷努力一定可以做的更好。</p><p>  參考文獻: 丘關源,《電路》,高等教育出版社,2004年</p><p>  張剛毅,《單片機原理與應用設計》,電子工業(yè)出版社,2011年</p><p>  鄭學堅,《微型計算機原理及應用》,清華大學出版社,2007年</p><p>  閻石,《數(shù)字電子技術基礎》,高等

溫馨提示

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

評論

0/150

提交評論