




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 .學校代碼 10126 學號 本科學年論文 題 目 基于51單片機搖搖棒的設計 院 系 專業名稱 年 級 學生姓名 指導教師 2014年06月20日 學年論文指導教師評閱意見學 生姓 名專 業班 級學號(論文)題目 基于51單片機搖搖棒的設計指導教師教師職稱 學年論文評語 評定成績: 指導教師簽名: 年 月 日 摘要 隨著人們物質生活水平的提高,人們對精神生活的追求也愈加強烈,對信息的渴求已成為了人們必不可少的需要,更加簡捷與新穎的信息傳遞方式無疑會給人們帶來耳目一新的感受。而現代工具務求簡捷化、便攜化,因此,搖動顯示裝置的到來,必將會給人們帶來一種新的方便的文化傳遞方式。“搖動顯示裝置”,
2、俗稱“搖搖棒”,是基于人的視覺暫留原理的,通過分時刷新16個發光二極管來顯示輸出文字或圖案等信息的顯示裝置。輸出信號頻率的控制通過單片機來實現,用搖動傳感器檢測當前搖動狀態。當進行搖動時,由于人的視覺暫留原理,會在發光二極管搖動區域產生一個視覺平面,在視覺平面內的二極管通過不同頻率的刷新,會在搖動區域內產生圖像,從而達到在該視覺平面上傳達信息的作用。本文以傳感器和單片機的實際應用為背景,介紹了以單片機和傳感器為核心系統搖動傳感器和顯示設計的基本結構和基本原理。關鍵字:單片機,發光二極管,傳感器Abstract As people material standard of living rise
3、, people pursuit to cultural life also becomes strong,the desire of information have become the people of the essential needs, more forthright and novel the information transfer mode will undoubtedly bring people to find everything new and fresh feeling. And modern tools to the simple, portable, the
4、refore, shaking the display device, the arrival of will give people brings a kind of new convenient cultural transfer mode."Shake display device, "called" to shake the great" , it is to be based on visual temporarily leave the principle, through the timeshare refresh 16 leds to d
5、isplay text or design output information display device. The output signal frequency control through the single-chip microcomputer to realize, with shaking sensor test current moved state. When shaken, as the men's vision for a principle, will be in the light emitting diode shaking area produce
6、a visual plane, the plane within the vision of different frequency refresh diode through, will produce an image in shaking area, so as to achieve the vision in the plane of conveying information function.Based on the sensor and MCU application for background, introduces the single-chip microcomputer
7、 and sensor as the core system moved sensor and display design the basic structure and the basic principle.Key words :microcontroller,leds,sensor 目錄緒論11系統設計方案21.1設計目的21.2設計要求21.3設計思路22系統硬件設計4 2.1基本原理圖為:42.2 各部分功能52.2.1 按鍵模塊52.2.2 LED顯示模塊5 2.3系統硬件52.3.2 顯示功能(D1D16)62.4 傳感器系統63系統軟件設計83.1 軟件設計思路83.2 主程
8、序流程圖83.3 軟件實現功能的完善164系統的硬件調試及軟件調試174.1常見的硬件故障174.1.1邏輯錯誤174.1.2 器件失效174.1.3 可靠性差174.1.4 電源故障174.2 硬件調試方法184.2.1 脫機調試184.2.2 聯機調試184.3 軟件調試方法18致 謝22參考文獻23 .頁腳. 緒論 單片機是隨著大規模集成電路的出現極其發展,將計算機的CPU,RAM,ROM,定時/計數器和多種I/O接口集成在一片芯片上,形成了芯片級的計算機,因此單片機早期的含義稱為單片微型計算機.它擁有優異的性價比、集成度高、體積小、可靠性高、控制功能強、低電壓、低功耗的顯著優點.主要應
9、用于智能儀器儀表、工業檢測控制、機電一體化等方面,并且取得了顯著的成果.單片機應用系統可以分為:(1)最小應用系統是指能維持單片機運行的最簡單配置的系統。這種系統成本低廉,結構簡單,常構成一些簡單的控制系統,如開關狀態的輸入/輸出控制等。片內有ROM/EPROM的單片機,其最小應用系統即為配有晶振,復位電路,電源的單個單片機.片內無ROM/EPROM的單片機,其最小應用系統除了外部配置晶振,復位電路,電源外,還應外接EPROM或EEPROM作為程序存儲器用.(2)最小功耗應用系統是指為了保證正常運行,系統的功耗最小.(3)典型應用系統是指單片機要完成工業測控功能所必須的硬件結構系統。 本文將使
10、用單片機對搖動顯示進行實例化,設計一個LED搖動顯示器來顯示文字、圖像等信息。掌握利用8051型單片機對發光二極管陣列進行搖動控制的方法。輸出信號頻率的控制通過單片機來實現,用搖動傳感器檢測當前搖動狀態,用16個發光二極管進行不同頻率的亮滅刷新,通過手動搖動可顯示輸出文字及圖案等信息。當進行搖動時,由于人的視覺暫留原理,會在發光二極管搖動區域產生一個視覺平面,在視覺平面內的二極管通過不同頻率的刷新,會在搖動區域內產生圖像,從而達到在該視覺平面上傳達信息的作用。LED顯示棒,又稱搖搖棒,是一種利用視覺暫留效應制作的“高科技”玩具。可以用“靜如處子,動如脫兔”來形容它,即當靜止時,它只是幾個LED
11、發光二極管(后簡稱LED),而一旦按照一定的頻率去搖晃它,它就會隨著位置的變化而變化(亮或滅),最終顯示一幅圖片或字符串。1系統設計方案 1.1設計目的本次設計制作的是一個顯示棒,基本要求就是要小巧、輕便,所以要將單片機的系統板簡化設計。 通過本次設計,加強學生對MCS-51單片機的深刻理解,提高學生的設計能力和動手能力。 1.2設計要求設計一個16只高亮度LED發光二極管構成的搖搖棒,通過單片機編程配合手的左右搖晃就可呈現一幅完整的畫面,可以顯示字符、圖片。1.3設計思路 本系統要求設計一個LED顯示棒且需要有按鍵進行內容切換,它主要是由中央控制部分,LED驅動部分,LED顯示部分以及電源部
12、分組成,如圖1.1所示。圖1.1 單片機將提取的字模進行存儲,當接收到按鍵輸入的指令時單片機就將相應的字模代碼通過I/O口輸出,使LED燈點亮,利用視覺暫留原理最終使圖案完整的顯示在擺動的顯示屏中。 1.3.1 LED燈的選擇:傳統LED發光二極管。顏色多樣,在可以同樣顯示圖案的前提下使用它更為經濟。 1.3.2 外部中斷信號產生方式:通過外部中斷可以控制數據開始傳輸的時刻。選擇好外部中斷來源是本次制作的難點及重點。使用慣性開關。通過搖晃使得慣性開關的擺桿與焊接的左右兩個觸點接觸,利用這種接觸產生的電平變化來觸發中斷,結合軟件控制顯示,制作簡單,使用方便。 1.3.3 抗重影方案的選擇:使用外
13、部中斷控制數據傳輸時刻。外部中斷信號由慣性開關產生,觸發方式為下降沿觸發。慣性開關左右兩邊的觸點分別與單片機兩個外部中斷接口相連,默認為高電平,搖動的擺桿接地。慣性開關處于不同位置進入不同的中斷,從而決定何時送數據。該方案簡單易行,可以保證數據是單程傳輸的,避免了重影。不搖動時把慣性開關處在左邊就可以使LED棒熄滅,可以達到省電的效果。2系統硬件設計 2.1基本原理圖為:圖2.1基本原理與硬件電路設計: 16只LED發光管作為畫面每一列的顯示,左右搖晃起到了掃描的作用,人眼的視覺暫留現象看到的是一幅完整的畫面。與LED點陣的顯示有幾分相仿。其硬件電路如上圖中所示: 系統電源VCC為5V,下載程
14、序和調試時一定要保證5V電壓,MCS-51單片機作為控制器,在它的P1,P2口接有16只以共陽的方式連接的高亮度LED,由單片機輸出低電平點亮。P1口,P2口的上拉電阻不能少。串在LED公共端的二極管D1會產生一定的壓降,用來保護LED,經試驗測試LED點亮時兩端電壓為3V左右,在LED的安全承受范圍之內。2.2 各部分功能2.2.1 按鍵模塊 使用一個按鍵對顯示的所有內容進行切換,通過按鈕按下的次數確定顯示的內容。 S1:水銀開關功能為棒在搖動時,只能在朝某一方向搖動時顯示,否則會出現鏡像字或鏡像畫面,所以通過接一支水銀開關來控制,使搖搖棒從左向右搖動時將內容顯示出來。 S2:畫面切換開關功
15、能為用于切換顯示不同內容。 S3:手動復位開關功能為可以控制系統的啟停2.2.2 LED顯示模塊首先,我們根據LED點陣屏的顯示原理:點陣屏的顯示分為行掃描與列掃描兩種,列掃描是將我們的字模數組通過點陣屏的行驅動進行輸入,然后通過列對每一行進行掃描,當列為低(高)電平、行為高(低)電平時則表示該點為圖案的一部分,將其讀出、顯示。它的順序可以總結為:行不斷的送數據,每送完設置的信息后列進行讀取,然后行再次送數據,列再次讀取依次循環下去,一幅完整的圖案就顯示在了顯示屏上。而本次設計的LED顯示棒數據傳輸原理與LED點陣屏相似。可以把LED顯示棒看成是LED點陣屏中的一列。為了使顯示的圖案清晰,我們
16、使用了16個LED管將它們排成一列,整個屏在靜止時也就相當于16行×1列。數據傳輸時我們同樣使用行送數據、列掃描。在擺動過程中,應用視覺暫留原理,我們點亮的列不會很快的消失,而是隨著擺動的方向繼續向前移動,只要移動的速度高于視覺暫留的最短時間顯示內容就不會熄滅,至此,一幅圖案也就可以這樣被“擺動”出來了。2.3系統硬件2.3.1單片機控制(STC89C051) 本裝置采用了STC12C2051單片機,它支持直接通過串口線下載程序,對于本設計而言,顯示文字需經常改變,STC12C2051方便許多,因此選擇STC12C2051作為本設計所用的單片機。2.3.2 顯示功能。(D1D16)
17、信息傳遞主要由顯示來完成,本設計顯示功能由16個發光二極管來完成。16個發光二極管分為4組,以共陽的方式連接,共用P1口和P2口作為輸出口。2.4 傳感器系統 硬件傳感器主要為搖動傳感器,本設計的搖動傳感器由滾珠開關構成。可選搖動開關有水銀搖動開關和滾珠開關兩種。水銀搖動開關穩定性較高,但容易發生破裂,水銀外泄,安全性較差。滾珠開關穩定性稍差,但不容易損壞,安全度很高。考慮到實際應用環境,故選用滾珠開關作為系統的搖動傳感器。由滾珠開關帶來的不穩定性可以通過軟件進行彌補。 經過分析論證,我們決定了系統各模塊的最終方案,流程圖如下:圖2.2 整套系統以STC12C2051單片機為核心控制系統,使用
18、16只LED燈作為顯示屏,其中16只直接與單片機I/O口相連。當慣性開關觸發中斷T1時,單片機向16只LED傳送數據,依據人體的視覺暫留原理,隨著顯示棒的擺動前進,輸出數據的列也不會立刻消失而是隨著擺動逐漸顯示在了形成的扇形區域。系統的元器件明細表2.1:1單片機STC12C2051 1片2發光二極管 16只312M晶振 1個4電阻、電容 若干5USB接口 1個6按鈕及開關 若干表2.13系統軟件設計3.1 軟件設計思路 在搖動LED棒的時候單片機必須單程傳送數據否則顯示的圖形會產生重影,影響視覺效果。因此當系統開始工作后通過慣性開關的位置來使單片機實現單程傳送數據給LED。如果慣性開關位于右
19、邊,則進入外部中斷1并將一變量置1,。在變量為1期間讓單片機以一定的頻率將數據傳送給LED。如果慣性開關位于左邊,則進入外部中斷0并將變量置0,。在這期間單片機不會傳送數據給LED。在送數據時,數據送完后應延時一段時間來使搖動時顯示的每個字不會太擁擠。之后再立刻熄滅LED并開始重新判斷慣性開關的位置。3.2 主程序流程圖 通過軟件設計思路分析,得到該系統的主程序流程圖3.1如下: 圖3.1 系統開始運行,內部進行初始化后,等待外部中斷。當搖動到指定位置時,由滾珠開關出觸發外部中斷,再經過一段時間延時后開始顯示。顯示完成返回主程序,等待下一個搖動周期的到來。經過文字取模后,系統的源程序編制如下:
20、#include <AT89X52.h>#define uchar unsigned char#define uint unsigned int /宏定義#define KEY P3_0 /定義畫面切換按鍵uchar KY; /KY作用在后面說明 uchar disp; /顯示漢字指針uchar pic=0,num=0; /pic為按鍵次數;num為中斷次數uchar code love = /*- 文字: 李 -*/*- 楷體_GB231212; 此字體下對應的點陣為:寬x高=16x16 -*/0x00,0x00,0x80,0x48,0x28,0x98,0x88,0x7F,0x4
21、C,0xD4,0x24,0x24,0x40,0x40,0x40,0x00,0x00,0x04,0x04,0x04,0x04,0x04,0x24,0x46,0x3B,0x02,0x02,0x02,0x02,0x02,0x00,0/*- 文字: 好 -*/*- 楷體_GB231212; 此字體下對應的點陣為:寬x高=16x16 -*/0x80,0x80,0x80,0x7E,0x40,0xE0,0x40,0x88,0x88,0xA4,0xD4,0x4C,0x44,0x40,0x40,0x00,0x00,0x10,0x08,0x05,0x02,0x05,0x08,0x00,0x00,0x10,0x3F
22、,0x00,0x00,0x00,0x00,0x00,x00,uchar code loveyou = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x00
23、,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xFC,0x3F,0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0x07,0xFE,0x03,0xFE,0x01,0xFC,0x00,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
24、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*心形圖案*/;uchar code hehe = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0xF0,0x0F,0x08,0x10,0x
25、04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x00,0x00,0x04,0x20,0x08,0x10,0x
26、F0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*呵呵o(_)o圖案*/;unsigned char code hanzi = /- 歡 - 0x04,0x10,0x34,0x08,0xC4,0x06,0x04,0x01, 0xC4,0x82,0x3C,0x8C,0x20,0x40,0x10,0x30, 0x0F,0x0C,0x
27、E8,0x03,0x08,0x0C,0x08,0x10, 0x28,0x60,0x18,0xC0,0x00,0x40,0x00,0x00,/- 迎 - 0x40,0x00,0x42,0x40,0x44,0x20,0xC8,0x1F, 0x00,0x20,0xFC,0x47,0x04,0x42,0x02,0x41, 0x82,0x40,0xFC,0x7F,0x04,0x40,0x04,0x42, 0x04,0x44,0xFE,0x63,0x04,0x20,0x00,0x00,/- 使 - 0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00, 0x04,0x80,0xF
28、4,0x43,0x14,0x45,0x14,0x29, 0x14,0x19,0xFF,0x17,0x14,0x21,0x14,0x21, 0x14,0x41,0xF6,0xC3,0x04,0x40,0x00,0x00,/- 用 - 0x00,0x80,0x00,0x60,0xFE,0x1F,0x22,0x02, 0x22,0x02,0x22,0x02,0x22,0x02,0xFE,0x7F, 0x22,0x02,0x22,0x02,0x22,0x42,0x22,0x82, 0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0x00,/- 神 - 0x08,0x01,0x88
29、,0x00,0x49,0x00,0xEE,0xFF, 0x58,0x00,0x88,0x00,0x00,0x00,0xF8,0x1F, 0x88,0x08,0x88,0x08,0xFF,0xFF,0x88,0x08, 0x88,0x08,0xFC,0x1F,0x08,0x00,0x00,0x00,/- 奇 - 0x40,0x00,0x40,0x00,0x44,0x00,0x44,0x3E, 0x64,0x12,0x54,0x12,0x4C,0x12,0x47,0x12, 0x4C,0x3F,0x54,0x42,0x74,0x80,0xC6,0x7F, 0x44,0x00,0x60,0x00,0
30、x40,0x00,0x00,0x00,/- 魔 - 0x00,0x40,0x00,0x30,0xFE,0x8F,0x4A,0x80, 0xAA,0x5F,0x9A,0x4A,0xFE,0x2A,0xAA,0x1A, 0xCB,0x0F,0xAA,0x7A,0xFE,0x8A,0x9A,0xAA, 0xAA,0x8F,0x6B,0x80,0x22,0xE0,0x00,0x00,/- 幻 - 0x80,0x20,0xC0,0x30,0xA0,0x28,0x98,0x24, 0x87,0x22,0x80,0x21,0xC4,0x30,0x04,0x60, 0x04,0x00,0x04,0x20,0x
31、04,0x40,0x04,0x80, 0x04,0x40,0xFE,0x3F,0x04,0x00,0x00,0x00,/- 搖 - 0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, 0x90,0x04,0x54,0x05,0xCC,0xF4,0xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00,/- 搖 - 0x10,0x02,0x10,0x42,0x10,0x81,0xFF,0x7F, 0x90,0x04,0x54,0x05,0xC
32、C,0xF4,0xB4,0x44, 0x84,0x44,0xBC,0x7F,0x82,0x44,0xA2,0x44, 0x9B,0xF4,0x82,0x06,0x00,0x04,0x00,0x00,/- 棒 - 0x10,0x04,0x10,0x03,0xD0,0x00,0xFF,0xFF, 0x90,0x00,0x54,0x05,0x44,0x12,0xD4,0x15, 0x74,0x14,0x5F,0xFF,0xD4,0x14,0x54,0x15, 0x56,0x12,0x44,0x06,0x40,0x02,0x00,0x00,/- ! - 0x00,0x00,0x00,0x00,0x00
33、,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x7C,0x10,0xFE,0x3B, 0xFE,0x3B,0x7C,0x10,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/*函數聲明*/void display1(void);void display2(void);void display3(void);void display4(void);/*n(us)延時子程序*/void DelayUs(uint N) uint x; for(x=0; x<=N;x+);/*中斷服務程序*
34、/void intersvr0(void) interrupt 0 using 1 KY=KY; /每個搖動來回水銀開關會在擺幅兩端分別產生下降沿中斷,只提取其中一次(從左向右搖才顯示) if(KY=0) num+; /計算中斷次數 switch(pic) /選擇畫面 case 0:display1();break; case 1:display2();break; case 2:display3();break; case 3:display4();break; default:display1(); /*顯示子程序1(漢字)*/void display1(void) uchar i; if
35、(num>10)disp+;num=0; /12個漢字分為3次顯示完(每次顯示4個),每中斷10次切換 if(disp>2)disp=0; DelayUs(5200); /此處延時時間依各硬件差別而各不相同,試著調整使得顯示內容居中即可 for(i=0;i<64;i+) P0=hanzidisp*128+i*2; P2=hanzidisp*128+i*2+1; DelayUs(100); /*顯示子程序2(LOVE)*/void display2(void) uchar i; DelayUs(4000); for(i=0;i<64;i+) P0=lovei*2; P2=
36、lovei*2+1; DelayUs(120); /*顯示子程序3(心形圖案)*/void display3(void) uchar i; DelayUs(4000); for(i=0;i<64;i+) P0=loveyoui*2; P2=loveyoui*2+1; DelayUs(120); /*顯示子程序4(呵呵o(_)o圖案)*/void display4(void) uchar i; DelayUs(4000); for(i=0;i<64;i+) P0=hehei*2; P2=hehei*2+1; DelayUs(120); /*主函數*/void main(void) I
37、T0=1; EX0=1; EA=1; /開中斷,下降沿中斷 KY=0; while(1) /主程序中只檢測按鍵 if(KEY=0) /畫面切換鍵按下 DelayUs(10000); /按鍵去抖 if(KEY=0); pic+; if(pic>3)pic=0; /*END*/3.3 軟件實現功能的完善 本次設計的一個難點是去除重影,我們的解決方法是使用外部中斷讓數據單程傳輸。 第二個難點是當顯示較長字符時不能完整的顯示在一次搖擺的扇形區域內。通過反復試驗,我們改變了送數據方式:由一個字符接一個字符傳送改為一組字符一起傳送,傳送結束后再延時,通過不斷調試實現了完整顯示的功能,同時也解決了畫面
38、連續出現沒有間斷的問題。 綜上,只要控制好數據傳輸方式以及每次傳輸數據間的延時就可以實現多種數據的顯示方法。4系統的硬件調試及軟件調試 單片機應用系統的硬件調試和軟件調試是分不可的,許多硬件故障是在調試軟件時才發現的。但通常是先排除系統中明顯的硬件故障后才和軟件結合起來調試的。其一般的調試過程如下:4.1常見的硬件故障4.1.1邏輯錯誤 樣機硬件的邏輯錯誤是由于設計錯誤和加工過程中的工藝性錯誤所造成的。這類錯誤包括:錯線,開路,短路等幾種,其中短路時最常見的故障。在印刷電路板布線密度高的情況下,極易因工藝原因造成短路。4.1.2 器件失效 元器件失效的原因有兩個方面:一是器件本身已損壞或性能不
39、符合要求;二是由于組裝錯誤而造成的元器件失效,如電解電容,二極管的極性錯誤,集成塊安裝方向錯誤等。4.1.3 可靠性差 引起系統不可靠的因素很多,如金屬化孔,接插件接觸不良會造成系統時好時壞;內部和外部的干擾,電源紋波系數過大,器件負載過大等造成邏輯電平不穩定;另外,走線和布局的不合理等也會引起系統可靠性差。4.1.4 電源故障 若樣機中存在電源故障,則加電后將造成器件損壞。電源的故障包括:電壓值不符合設計要求,電源引出線和插座不對應,電源功率不足,負載能力差。4.2 硬件調試方法4.2.1 脫機調試 脫機調試是在電路板加電之前,先用萬用表等工具,根據硬件電氣原理圖和裝配圖仔細檢查樣機線路的正
40、確性,并核對元器件的型號,規格和安裝是否符合要求。應特別注意電源的走線,防止電源之間的短路和極性錯誤,并重點檢查拓展系統總線是否存在相互間的短路或其他信號線的短路。 對于樣機所用的電源事先必須單獨調試,調試好后,檢查其電壓值,負載能力,極性等均符合要求,才能加到系統的各個部件上。在不插片子的情況下,加電檢查各插件上引腳的電位,仔細檢查各地點電位是否正常,尤其應注意單片機插座上的各點電位是否正常,若有高壓,聯機時將會損壞開發機。4.2.2 聯機調試 通過脫機調試可排除一些明顯的硬件故障。有些硬件故障還是要通過聯機調試才能發現和排除。 聯機前先斷電,把開發系統的仿真插頭插到樣機的單片機插座上,檢查
41、一下開發機與樣機之間的電源、接地是否良好。一切正常,即可打開電源。通電后執行開發機讀寫指令,對用戶機的存儲器、I/O端口進行讀寫操作、邏輯檢查,若有故障,可用示波器觀察波形。通過對波形的觀察分析,尋找故障原因,并進一步排除故障。可能的故障有:線路連接上的邏輯錯誤、有斷線或短路現象、集成電路失效等。4.3 軟件調試方法 軟件調試與所選用的軟件結構和程序設計技術有關。如果采用模塊程序設計技術,則逐個模塊調試好以后,再進行系統程序總調試。如果采用實時多任務操作系統,一般是逐個任務,下面進一步予以說明。 對于模塊結構程序,要一個個子程序分別調試。調試子程序時,一定要符合現場環境,即入口條件和出口條件。
42、調試的手段可采用單步運行方式和斷點運行方式,通過檢查用戶系統CPU的現場、RAM的內容和I/O口的狀態,檢測程序執行結果是否符合設計要求。通過檢測,可以發現程序中的死循環錯誤、機器碼錯誤及轉移地址的錯誤,同時也可以發現用戶系統中的硬件故障、軟件算法及硬件設計錯誤。在調試過程中不斷調整用戶系統的軟件和硬件,逐步通過一個個程序模塊。各程序模塊通過后,可以把各功能塊聯系起來一起進行整體程序綜合調試。在這階段若發生故障,可以考慮各子程序在運行時是否破壞現場,緩沖單元是否發生沖突,零位的建立和清除在設計上有否失誤,堆棧區域有否溢出,輸入設備的狀態是否正常,等等。若用戶系統是在開發系統的監控程序下運行時,
43、還要考慮用戶緩沖單元是否和監控程序的工作單元發生沖突。 單步和斷點調試后,還應進行連續調試,這是因為單步運行只能驗證程序的正確與否,而不能確定定時精度、CPU的實時響應等問題。待全部完成后,應反復運行多次,除了觀察穩定性之外,還要觀察用戶系統的操作是否符合原始設計要求、安排的用戶操作是否合理等,必要時還要做適當修正。對于實時多任務操作系統的應用程序是由若干個任務程序組成,一般是逐個任務進行調試,在調試某一個任務時,同時也調試相關的子程序、中斷服務程序和一些操作系統的程序。逐個任務調試好以后,再使各個任務同時運行,如果操作系統中沒有錯誤,一般情況下系統就能正常運轉。在全部調試修改完成后,將用戶軟件固化于EPROM中,插入用戶樣機后,用戶系統即能離開發機獨立工作,至此系統研制完成。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 邵陽市重點中學2024-2025學年初三5月畢業班模擬考試數學試題含解析
- 江蘇省鹽城市響水實驗、一中學2025屆初三下學期零診模擬生物試題含解析
- 廊坊衛生職業學院《成衣制作工藝》2023-2024學年第二學期期末試卷
- 江西師范大學科學技術學院《prote軟件設計》2023-2024學年第二學期期末試卷
- 延壽縣2025屆數學四年級第二學期期末質量檢測模擬試題含解析
- 天府新區航空旅游職業學院《歐美設計規范釋義一雙語》2023-2024學年第二學期期末試卷
- 天津石油職業技術學院《珠寶專業英語》2023-2024學年第二學期期末試卷
- 塔里木職業技術學院《測井資料解釋課程設計》2023-2024學年第一學期期末試卷
- 遼寧稅務高等專科學校《影像診斷學》2023-2024學年第二學期期末試卷
- 文山壯族苗族自治州馬關縣2024-2025學年數學三下期末綜合測試模擬試題含解析
- 美國學生閱讀技能訓練
- 網絡安全服務項目服務質量保障措施(實施方案)
- 生產加工型小微企業安全管理考試(含答案)
- 青少年科技創新比賽深度分析
- 世界近代武器革新圖鑒(1722-1900)英國篇
- 安標受控件采購管理制度
- 亞低溫的治療與護理
- 危險化學品企業設備完整性 第2部分 技術實施指南 編制說明
- 防高墜自查自糾臺賬
- GB/T 4437.1-2023鋁及鋁合金熱擠壓管第1部分:無縫圓管
- 市政工程消耗量定額 zya1-31-2015
評論
0/150
提交評論