




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、鄭州科技學(xué)院單片機原理及應(yīng)用課程設(shè)計1 課程設(shè)計的目的12 課程設(shè)計的任務(wù)與要求22.1 設(shè)計目的22.2 設(shè)計要求23 設(shè)計方案與論證33.1 LED燈的選擇33.2 外部中斷信號產(chǎn)生方式33.3 抗重影方案的選擇33.4 單元電路設(shè)計53.5 主程序流程圖64 硬件電路設(shè)計84.1 基本原理圖84.2 各部分功能94.3 系統(tǒng)硬件104.4 傳感器系統(tǒng)105 系統(tǒng)軟件設(shè)計115.1 軟件設(shè)計思路115.2 主程序流程125.3 軟件實現(xiàn)功能的完善136 試驗與仿真136.1 硬件調(diào)試方法136.2 軟件調(diào)試方法147 結(jié)論16參考文獻(xiàn)18附錄1:總體電路原理圖19附錄2:源程序201 課程
2、設(shè)計的目的單片機是隨著大規(guī)模集成電路的出現(xiàn)極其發(fā)展,將計算機的CPU,RAM,ROM,定時/計數(shù)器和多種I/O接口集成在一片芯片上,形成了芯片級的計算機,因此單片機早期的含義稱為單片微型計算機.它擁有優(yōu)異的性價比、集成度高、體積小、可靠性高、控制功能強、低電壓、低功耗的顯著優(yōu)點.主要應(yīng)用于智能儀器儀表、工業(yè)檢測控制、機電一體化等方面,并且取得了顯著的成果.單片機應(yīng)用系統(tǒng)可以分為:(1)最小應(yīng)用系統(tǒng)是指能維持單片機運行的最簡單配置的系統(tǒng)。這種系統(tǒng)成本低廉,結(jié)構(gòu)簡單,常構(gòu)成一些簡單的控制系統(tǒng),如開關(guān)狀態(tài)的輸入/輸出控制等。片內(nèi)有ROM/EPROM的單片機,其最小應(yīng)用系統(tǒng)即為配有晶振,復(fù)位電路,電源
3、的單個單片機。片內(nèi)無ROM/EPROM的單片機,其最小應(yīng)用系統(tǒng)除了外部配置晶振,復(fù)位電路,電源外,還應(yīng)外接EPROM或EEPROM作為程序存儲器用。(2)最小功耗應(yīng)用系統(tǒng)是指為了保證正常運行,系統(tǒng)的功耗最小。(3)典型應(yīng)用系統(tǒng)是指單片機要完成工業(yè)測控功能所必須的硬件結(jié)構(gòu)系統(tǒng)。本文將使用單片機對搖動顯示進(jìn)行實例化,設(shè)計一個LED搖動顯示器來顯示文字、圖像等信息。掌握利用8051型單片機對發(fā)光二極管陣列進(jìn)行搖動控制的方法。輸出信號頻率的控制通過單片機來實現(xiàn),用搖動傳感器檢測當(dāng)前搖動狀態(tài),用16個發(fā)光二極管進(jìn)行不同頻率的亮滅刷新,通過手動搖動可顯示輸出文字及圖案等信息。當(dāng)進(jìn)行搖動時,由于人的視覺暫留
4、原理,會在發(fā)光二極管搖動區(qū)域產(chǎn)生一個視覺平面,在視覺平面內(nèi)的二極管通過不同頻率的刷新,會在搖動區(qū)域內(nèi)產(chǎn)生圖像,從而達(dá)到在該視覺平面上傳達(dá)信息的作用。LED顯示棒,又稱搖搖棒,是一種利用視覺暫留效應(yīng)制作的“高科技”玩具??梢杂谩办o如處子,動如脫兔”來形容它,即當(dāng)靜止時,它只是幾個LED發(fā)光二極管(后簡稱LED),而一旦按照一定的頻率去搖晃它,它就會隨著位置的變化而變化(亮或滅),最終顯示一幅圖片或字符串。隨著人們物質(zhì)生活水平的提高,人們對精神生活的追求也愈加強烈,對信息的渴求已成為了人們必不可少的需要,更加簡捷與新穎的信息傳遞方式無疑會給人們帶來耳目一新的感受。而現(xiàn)代工具務(wù)求簡捷化、便攜化,因此
5、,搖動顯示裝置的到來,必將會給人們帶來一種新的方便的文化傳遞方式。讓你的心聲閃爍在夜空LED搖搖棒橫空出世!LED搖搖棒又叫搖搖棒、魔棒、閃光棒、閃字棒、閃圖棒、星光棒。LED搖搖棒的誕生是閃光系列產(chǎn)品中的一大革命,它最大的神奇之處,是在手中左右搖晃LED搖搖棒,就會在棒子劃過的軌跡上留下清析的文字或圖案。目前市場上,這是最新,價格最低,可遠(yuǎn)距離觀看的一款電子產(chǎn)品。設(shè)計具有市場前景,可滿足各種大型演出、集會、游行等宣傳需要,為人們的生活提供便利。2 課程設(shè)計的任務(wù)與要求2.1 設(shè)計目的本次設(shè)計制作的是一個顯示棒,基本要求就是要小巧、輕便,所以要將單片機的系統(tǒng)板簡化設(shè)計。通過本次設(shè)計,加強學(xué)生對
6、MCS-51單片機的深刻理解,提高學(xué)生的設(shè)計能力和動手能力。2.2 設(shè)計要求設(shè)計一個16只高亮度LED發(fā)光二極管構(gòu)成的搖搖棒,通過單片機編程配合手的左右搖晃就可呈現(xiàn)一幅完整的畫面,可以顯示字符、圖片。3 設(shè)計方案與論證3.1 LED燈的選擇方案一:傳統(tǒng)LED發(fā)光二極管。顏色多樣,在可以同樣顯示圖案的前提下使用它更為經(jīng)濟(jì),但是顏色較為黯淡,不鮮亮。方案二:高亮LED發(fā)光二極管。正如其名,它的亮度比傳統(tǒng)二極管要亮,而且同樣也有很多顏色,但是高亮LED的工作電流也要大于傳統(tǒng)二極管。為了使顯示的圖案清晰、明了,我們選擇方案二,經(jīng)過比較,使用紅色的LED使得顯示畫面更為明顯、突出,使用兩片CR2032紐
7、扣電池為其供電,提供足夠的電流。3.2 外部中斷信號產(chǎn)生方式通過外部中斷可以控制數(shù)據(jù)開始傳輸?shù)臅r刻。選擇好外部中斷來源是本次制作的難點及重點。方案一:使用水銀開關(guān)。通過搖晃使得水銀開關(guān)與焊接的左右兩個觸點接觸,利用這種接觸產(chǎn)生的電平變化來觸發(fā)中斷,結(jié)合軟件控制顯示,制作簡單,使用方便。方案二:使用光遮斷器。在棒上裝一個可以擺動的用來遮擋光遮斷器光線的細(xì)桿,細(xì)桿每左右擺動一次這個桿就會通過一次光遮斷器,發(fā)生電平變化。同樣通過這種電平變化,結(jié)合軟件控制顯示。本次設(shè)計中產(chǎn)生的中斷是為了實現(xiàn)數(shù)據(jù)的單程傳輸。如果使用光遮斷器,其觸發(fā)單片機的時刻處于正中間,不能解決畫面因為返回與原來圖片重疊的現(xiàn)象。而使用
8、水銀開關(guān),因為在左右都有觸點,所以很容易的在往返途中產(chǎn)生兩次中斷,方便指令控制,所以選擇使用方案一。3.3 抗重影方案的選擇方案一:使用外部中斷控制數(shù)據(jù)傳輸時刻。外部中斷信號由慣性開關(guān)產(chǎn)生,觸發(fā)方式為下降沿觸發(fā)。水銀開關(guān)左右兩邊的觸點分別與單片機兩個外部中斷接口相連,默認(rèn)為高電平,搖動的擺桿接地。水銀開關(guān)處于不同位置進(jìn)入不同的中斷,從而決定何時送數(shù)據(jù)。該方案簡單易行,可以保證數(shù)據(jù)是單程傳輸?shù)?,避免了重影。慣性開關(guān)左右兩邊的觸點分別與單片機兩個外部中斷接口相連,默認(rèn)為高電平,搖動的擺桿接地。慣性開關(guān)處于不同位置進(jìn)入不同的中斷,從而決定何時送數(shù)據(jù)。該方案簡單易行,可以保證數(shù)據(jù)是單程傳輸?shù)模苊饬酥?/p>
9、影。不搖動時把慣性開關(guān)處在左邊就可以使LED棒熄滅,可以達(dá)到省電的效果。 方案二:使用定時器與外部中斷。當(dāng)我們在擺動手臂的時候,短時間內(nèi)擺動位置和左右幅度不會有太大變化,利用我們手臂的這個運動規(guī)律,只要能得到棒從一側(cè)擺動到另一側(cè)的時間,然后把這個時間分成N份,在每一份的時間里顯示不同的花樣就能實現(xiàn)圖形的顯示。設(shè)計中搖動的擺子與左右兩個觸點接觸各一次的時間可以通過外部中斷和定時器計算出來,然后用單片機的另一個定時器T1,其定時時間是T0 的N 分之一,每次中斷依次顯示一列,就可以得到預(yù)期顯示的圖案了。該方法可以控制搖動頻率低的時候不顯示圖形。但程序的穩(wěn)定性不高,圖形之間的間隔不易確定,只要電源開
10、關(guān)開著LED始終是點亮的。本次設(shè)計要求顯示的字符長度較短,使用方案一中的外部中斷方法只要控制好延時就可以達(dá)到完整顯示圖案的目的,而且方案一中只使用了外部中斷,它所占用的內(nèi)存比方案二中既使用外部中斷又使用兩個定時器所占用的單片機資源要少,所以選擇使用方案一。具體地說,已知搖搖棒從一側(cè)擺動到另一側(cè)所需的時間是0.8秒,把0.8秒分成64份,則每一列的圖形顯示時間為0.0125秒。每一列對應(yīng)兩個八位的字節(jié),16位字節(jié)對應(yīng)16個LED發(fā)光二極管,然后在這每一份的時間里顯示圖形的相應(yīng)一列,則可以得到完整的圖形顯示。(1) LED顯示部分由:16個高亮度的發(fā)光二極管,16個270歐姆的電阻以及水銀開關(guān)組成
11、。其中水銀開關(guān)的作用:棒在搖動時,只能在朝某一方向搖動時顯示,否則會出現(xiàn)鏡像字或鏡像畫面,所以通過接一只水銀開關(guān)來控制,使搖搖棒從左向右搖動時將內(nèi)容顯示出來。圖3-1 水銀開關(guān)(2) 單片機部分由:一個11.059MHz的晶振以及兩個30pf的電容構(gòu)成的晶振電路、一個23uF的電容,10K的電阻以及復(fù)位開關(guān)構(gòu)成的復(fù)位電路、芯片AT89s52構(gòu)成。3.4 單元電路設(shè)計 圖3-2 復(fù)位電路 圖3-3 時鐘電路單片機在啟動時都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)
12、定后,如果RST引腳上有一個高電平并維持2個機器周期24個振蕩周期以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位。手動按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平(如圖4-1)。一般采用的辦法是在RST端和正電源Vcc之間接一個按鈕。當(dāng)人為按下按鈕時,則Vcc的+5V電平就會直接加到RST端。由于人的動作再快也會使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時間要求。單片機在啟動時都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,且振
13、蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機器周期(24個振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位。時鐘在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷諧振器,就構(gòu)成了內(nèi)部振蕩方式(如圖4-2)。由于單片機內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。內(nèi)部振蕩方式的外部電路如下圖所示。外部振蕩方式是把外部已有的時鐘信號引入單片機內(nèi)。這種方式適宜用來使單片機的時鐘與外部信號保持同步。外部振蕩方式的外部電路如圖所示。圖4-2中,電容器C01,C02起穩(wěn)定振蕩頻率、快速起振的作用,其電容值一般
14、在5-30pF。晶振頻率的典型值為12MHz,采用6MHz的情況也比較多。內(nèi)部振蕩方式所得的時鐘情號比較穩(wěn)定,實用電路中使用較多。3.5 主程序流程圖通過軟件設(shè)計思路分析,得到該系統(tǒng)的主程序流程圖如3-4所示開始系統(tǒng)初始化開關(guān)在左邊嗎?外部中斷T1外部中斷T0送數(shù)據(jù)讀取數(shù)據(jù)LED燈熄滅NY圖3-4 主程序流程圖系統(tǒng)開始運行,內(nèi)部進(jìn)行初始化后,等待外部中斷。當(dāng)搖動到指定位置時,由滾珠開關(guān)出觸發(fā)外部中斷,再經(jīng)過一段時間延時后開始顯示。顯示完成返回主程序,等待下一個搖動周期的到來。4 硬件電路設(shè)計4.1 基本原理圖圖4-1 基本原理圖與硬件電路設(shè)計16只LED發(fā)光管作為畫面每一列的顯示,左右搖晃起到
15、了掃描的作用,人眼的視覺暫留現(xiàn)象看到的是一幅完整的畫面。與LED點陣的顯示有幾分相仿。其硬件電路如圖4.1所示:系統(tǒng)電源VCC為5V,下載程序和調(diào)試時一定要保證5V電壓,MCS-51單片機作為控制器,在它的P1,P2口接有16只以共陽的方式連接的高亮度LED,由單片機輸出低電平點亮。P1口,P2口的上拉電阻不能少。串在LED公共端的二極管D1會產(chǎn)生一定的壓降,用來保護(hù)LED,經(jīng)試驗測試LED點亮?xí)r兩端電壓為3V左右,在LED的安全承受范圍之內(nèi)。4.2 各部分功能(1) 按鍵模塊使用一個按鍵對顯示的所有內(nèi)容進(jìn)行切換,通過按鈕按下的次數(shù)確定顯示的內(nèi)容。S1:水銀開關(guān)功能為棒在搖動時,只能在朝某一方
16、向搖動時顯示,否則會出現(xiàn)鏡像字或鏡像畫面,所以通過接一支水銀開關(guān)來控制,使搖搖棒從左向右搖動時將內(nèi)容顯示出來。S2:畫面切換開關(guān)功能為用于切換顯示不同內(nèi)容。S3:手動復(fù)位開關(guān)功能為可以控制系統(tǒng)的啟停(2) LED顯示模塊首先,我們根據(jù)LED點陣屏的顯示原理:點陣屏的顯示分為行掃描與列掃描兩種,列掃描是將我們的字模數(shù)組通過點陣屏的行驅(qū)動進(jìn)行輸入,然后通過列對每一行進(jìn)行掃描,當(dāng)列為低(高)電平、行為高(低)電平時則表示該點為圖案的一部分,將其讀出、顯示。它的順序可以總結(jié)為:行不斷的送數(shù)據(jù),每送完設(shè)置的信息后列進(jìn)行讀取,然后行再次送數(shù)據(jù),列再次讀取依次循環(huán)下去,一幅完整的圖案就顯示在了顯示屏上。而本
17、次設(shè)計的LED顯示棒數(shù)據(jù)傳輸原理與LED點陣屏相似。可以把LED顯示棒看成是LED點陣屏中的一列。為了使顯示的圖案清晰,我們使用了16個LED管將它們排成一列,整個屏在靜止時也就相當(dāng)于16行10×1列。數(shù)據(jù)傳輸時我們同樣使用行送數(shù)據(jù)、列掃描。在擺動過程中,應(yīng)用視覺暫留原理,我們點亮的列不會很快的消失,而是隨著擺動的方向繼續(xù)向前移動,只要移動的速度高于視覺暫留的最短時間顯示內(nèi)容就不會熄滅,至此,一幅圖案也就可以這樣被“擺動”出來了。4.3 系統(tǒng)硬件(1) 單片機控制(STC89C051)本裝置采用了STC12C2051單片機,它支持直接通過串口線下載程,對于本設(shè)計而言,顯示文字需經(jīng)常改
18、變,STC12C2051方便許多,因此選擇STC12C2051作為本設(shè)計所用的單片機。(2) 顯示功能。(D1D16)信息傳遞主要由顯示來完成,本設(shè)計顯示功能由16個發(fā)光二極管來完成。16個發(fā)光二極管分為4組,以共陽的方式連接,共用P1口和P2口作為輸出口。4.4 傳感器系統(tǒng)硬件傳感器主要為搖動傳感器,本設(shè)計的搖動傳感器由滾珠開關(guān)構(gòu)成??蛇x搖動開關(guān)有水銀搖動開關(guān)和滾珠開關(guān)兩種。水銀搖動開關(guān)穩(wěn)定性較高,但容易發(fā)生破裂,水銀外泄,安全性較差。滾珠開關(guān)穩(wěn)定性稍差,但不容易損壞,安全度很高??紤]到實際應(yīng)用環(huán)境,故選用滾珠開關(guān)作為系統(tǒng)的搖動傳感器。由滾珠開關(guān)帶來的不穩(wěn)定性可以通過軟件進(jìn)行彌補。經(jīng)過分析論
19、證,我們決定了系統(tǒng)各模塊的最終方案,流程圖如下:圖4-2 傳感器系統(tǒng)流程圖整套系統(tǒng)以STC12C2051單片機為核心控制系統(tǒng),使用16只LED燈作為顯示屏,其中16只直接與單片機I/O口相連。當(dāng)慣性開關(guān)觸發(fā)中斷T1時,單片機向16只LED傳送數(shù)據(jù),依據(jù)人體的視覺暫留原理,隨著顯示棒的擺動前進(jìn),輸出數(shù)據(jù)的列也不會立刻消失而是隨著擺動逐漸顯示在了形成的扇形區(qū)域。5 系統(tǒng)軟件設(shè)計5.1 軟件設(shè)計思路在搖動LED棒的時候單片機必須單程傳送數(shù)據(jù)否則顯示的圖形會產(chǎn)生重影,影響視覺效果。因此當(dāng)系統(tǒng)開始工作后通過慣性開關(guān)的位置來使單片機實現(xiàn)單程傳送數(shù)據(jù)給LED。如果慣性開關(guān)位于右邊,則進(jìn)入外部中斷1并將一變量
20、置1,。在變量為1期間讓單片機以一定的頻率將數(shù)據(jù)傳送給LED。如果慣性開關(guān)位于左邊,則進(jìn)入外部中斷0并將變量置0,。在這期間單片機不會傳送數(shù)據(jù)給LED。在送數(shù)據(jù)時,數(shù)據(jù)送完后應(yīng)延時一段時間來使搖動時顯示的每個字不會太擁擠。之后再立刻熄滅LED并開始重新判斷慣性開關(guān)的位置。5.2 主程序流程通過軟件設(shè)計思路分析,得到該系統(tǒng)的主程序流程圖3.1如下:圖4-1 主程序流程圖系統(tǒng)開始運行,內(nèi)部進(jìn)行初始化后,等待外部中斷。當(dāng)搖動到指定位置時,由滾珠開關(guān)出觸發(fā)外部中斷,再經(jīng)過一段時間延時后開始顯示。顯示完成返回主程序,等待下一個搖動周期的到來。經(jīng)過文字取模后,系統(tǒng)的源程序編制參考附錄2:5.3 軟件實現(xiàn)功
21、能的完善本次設(shè)計的一個難點是去除重影,我們的解決方法是使用外部中斷讓數(shù)據(jù)單程傳輸。第二個難點是當(dāng)顯示較長字符時不能完整的顯示在一次搖擺的扇形區(qū)域內(nèi)。通過反復(fù)試驗,我們改變了送數(shù)據(jù)方式:由一個字符接一個字符傳送改為一組字符一起傳送,傳送結(jié)束后再延時,通過不斷調(diào)試實現(xiàn)了完整顯示的功能,同時也解決了畫面連續(xù)出現(xiàn)沒有間斷的問題。綜上,只要控制好數(shù)據(jù)傳輸方式以及每次傳輸數(shù)據(jù)間的延時就可以實現(xiàn)多種數(shù)據(jù)的顯示方法。6 試驗與仿真單片機應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不可的,許多硬件故障是在調(diào)試軟件時才發(fā)現(xiàn)的。但通常是先排除系統(tǒng)中明顯的硬件故障后才和軟件結(jié)合起來調(diào)試的。其一般的調(diào)試過程如下:6.1 硬件調(diào)試方
22、法脫機調(diào)試是在電路板加電之前,先用萬用表等工具,根據(jù)硬件電氣原理圖和裝配圖仔細(xì)檢查樣機線路的正確性,并核對元器件的型號,規(guī)格和安裝是否符合要求。應(yīng)特別注意電源的走線,防止電源之間的短路和極性錯誤,并重點檢查拓展系統(tǒng)總線是否存在相互間的短路或其他信號線的短路。對于樣機所用的電源事先必須單獨調(diào)試,調(diào)試好后,檢查其電壓值,負(fù)載能力,極性等均符合要求,才能加到系統(tǒng)的各個部件上。在不插片子的情況下,加電檢查各插件上引腳的電位,仔細(xì)檢查各地點電位是否正常,尤其應(yīng)注意單片機插座上的各點電位是否正常,若有高壓,聯(lián)機時將會損壞開發(fā)機。聯(lián)機調(diào)試通過脫機調(diào)試可排除一些明顯的硬件故障。有些硬件故障還是要通過聯(lián)機調(diào)試才
23、能發(fā)現(xiàn)和排除。聯(lián)機前先斷電,把開發(fā)系統(tǒng)的仿真插頭插到樣機的單片機插座上,檢查一下開發(fā)機與樣機之間的電源、接地是否良好。一切正常,即可打開電源。通電后執(zhí)行開發(fā)機讀寫指令,對用戶機的存儲器、I/O端口進(jìn)行讀寫操作、邏輯檢查,若有故障,可用示波器觀察波形。通過對波形的觀察分析,尋找故障原因,并進(jìn)一步排除故障??赡艿墓收嫌校壕€路連接上的邏輯錯誤、有斷線或短路現(xiàn)象、集成電路失效等。6.2 軟件調(diào)試方法軟件調(diào)試與所選用的軟件結(jié)構(gòu)和程序設(shè)計技術(shù)有關(guān)。如果采用模塊程序設(shè)計技術(shù),則逐個模塊調(diào)試好以后,再進(jìn)行系統(tǒng)程序總調(diào)試。如果采用實時多任務(wù)操作系統(tǒng),一般是逐個任務(wù),下面進(jìn)一步予以說明。對于模塊結(jié)構(gòu)程序,要一個個
24、子程序分別調(diào)試。調(diào)試子程序時,一定要符合現(xiàn)場環(huán)境,即入口條件和出口條件。調(diào)試的手段可采用單步運行方式和斷點運行方式,通過檢查用戶系統(tǒng)CPU的現(xiàn)場、RAM的內(nèi)容和I/O口的狀態(tài),檢測程序執(zhí)行結(jié)果是否符合設(shè)計要求。通過檢測,可以發(fā)現(xiàn)程序中的死循環(huán)錯誤、機器碼錯誤及轉(zhuǎn)移地址的錯誤,同時也可以發(fā)現(xiàn)用戶系統(tǒng)中的硬件故障、軟件算法及硬件設(shè)計錯誤。在調(diào)試過程中不斷調(diào)整用戶系統(tǒng)的軟件和硬件,逐步通過一個個程序模塊。各程序模塊通過后,可以把各功能塊聯(lián)系起來一起進(jìn)行整體程序綜合調(diào)試。在這階段若發(fā)生故障,可以考慮各子程序在運行時是否破壞現(xiàn)場,緩沖單元是否發(fā)生沖突,零位的建立和清除在設(shè)計上有否失誤,堆棧區(qū)域有否溢出,
25、輸入設(shè)備的狀態(tài)是否正常,等等。若用戶系統(tǒng)是在開發(fā)系統(tǒng)的監(jiān)控程序下運行時,還要考慮用戶緩沖單元是否和監(jiān)控程序的工作單元發(fā)生沖突。單步和斷點調(diào)試后,還應(yīng)進(jìn)行連續(xù)調(diào)試,這是因為單步運行只能驗證程序的正確與否,而不能確定定時精度、CPU的實時響應(yīng)等問題。待全部完成后,應(yīng)反復(fù)運行多次,除了觀察穩(wěn)定性之外,還要觀察用戶系統(tǒng)的操作是否符合原始設(shè)計要求、安排的用戶操作是否合理等,必要時還要做適當(dāng)修正。對于實時多任務(wù)操作系統(tǒng)的應(yīng)用程序是由若干個任務(wù)程序組成,一般是逐個任務(wù)進(jìn)行調(diào)試,在調(diào)試某一個任務(wù)時,同時也調(diào)試相關(guān)的子程序、中斷服務(wù)程序和一些操作系統(tǒng)的程序。逐個任務(wù)調(diào)試好以后,再使各個任務(wù)同時運行,如果操作系統(tǒng)
26、中沒有錯誤,一般情況下系統(tǒng)就能正常運轉(zhuǎn)。在全部調(diào)試修改完成后,將用戶軟件固化于EPROM中,插入用戶樣機后,用戶系統(tǒng)即能離開發(fā)機獨立工作,至此系統(tǒng)研制完成。在開始實驗設(shè)計前,根據(jù)實驗要求,分析實驗所涉及的相關(guān)知識點,查閱身邊的資料,并根據(jù)自己以前所學(xué)的理論知識,有了大概設(shè)計框圖后,在PROTEL中畫出原理圖,然后根據(jù)原理圖分析模塊焊出電路板,并對模塊進(jìn)行測試。 第一步,測試LED顯示電路和C51單片機最小系統(tǒng)。首先測試LED,輸入一個簡單程序(#include<reg51.h>main()p1=0*00;p2=0*00;),發(fā)現(xiàn)有一個LED不亮,于是檢查該LED的引腳,發(fā)現(xiàn)線路斷了
27、,接好后LED亮了。于是輸入搖搖棒程序,但LED燈不閃,猜測是數(shù)碼管芯片與插槽接觸不良的問題,就把插槽重新焊接,之后,再次檢測時,發(fā)現(xiàn)有時閃爍有時燈不亮。說明不是插槽的問題,于是反復(fù)檢查最小系統(tǒng)模塊,通過用電壓表最數(shù)碼管的每個引腳進(jìn)行高低電平測試,最總發(fā)現(xiàn)原來是接線問題,即是一根線忘了連接。使得硬件與軟件的設(shè)置不匹配,從而導(dǎo)致了LED顯示不正常。改正后重新測試。手動搖晃可呈現(xiàn)圖像。第二步,測試驅(qū)動電路,該模塊完好。第三步,軟件測試。在軟件方面,改部分主要調(diào)延時函數(shù),調(diào)試過程簡單但費時。于是,多次耐心嘗試后軟件調(diào)試才成功,能夠完整并較為清晰地完整圖像。最終,實現(xiàn)搖搖棒功能7 結(jié)論在王老師的指導(dǎo)下
28、,通過一段時間完成了搖搖棒的設(shè)計,本次設(shè)計以水銀開關(guān)和單片機的實際應(yīng)用為背景,介紹了以單片機為核心顯示設(shè)計的基本結(jié)構(gòu)和基本原理。本次將使用單片機對搖動顯示進(jìn)行實例化,設(shè)計一個LED搖動顯示器來顯示文字、圖像等信息。掌握利用8051型單片機對發(fā)光二極管陣列進(jìn)行搖動控制的方法。輸出信號頻率的控制通過單片機來實現(xiàn),用水銀開關(guān)擺動狀態(tài)和16個發(fā)光二極管進(jìn)行不同頻率的亮滅刷新,通過手動搖動可顯示輸出文字及圖案等信息。當(dāng)進(jìn)行搖動時,由于人的視覺暫留原理,會在發(fā)光二極管搖動區(qū)域產(chǎn)生一個視覺平面,在視覺平面內(nèi)的二極管通過不同頻率的刷新,會在搖動區(qū)域內(nèi)產(chǎn)生圖像,從而達(dá)到在該視覺平面上傳達(dá)信息的作用。設(shè)計綜合運用
29、了字模轉(zhuǎn)換軟件。同時查閱了大量相關(guān)資料,包括查閱相關(guān)書籍和網(wǎng)上的資料,獲得了一些相關(guān)信息。在設(shè)計方面,采用了在變量自加的原理,在經(jīng)過逐個讀取的方法來顯示要顯示的內(nèi)容。最后還得出以下幾點:準(zhǔn)備越充分,實做越順利在做設(shè)計前了解相關(guān)知識、材料、方法可以避免許多沒有必要的麻煩,一步一個腳印就不必“從頭再來”。最不能容忍的是在開始的幾步偷懶,造成后面總有一些無法排除的障礙。溫故而知新課程設(shè)計發(fā)端之始,思緒全無,舉步維艱,對于理論知識學(xué)習(xí)不夠扎實的我深感知識的不夠,便重拾教材對知識系統(tǒng)而全面進(jìn)行了梳理,終于熟練掌握了基本理論知識,而且領(lǐng)悟諸多平時學(xué)習(xí)難以理解掌握的較難知識。思路即出路當(dāng)初沒有思路,誠如舉步
30、維艱,茫茫大地,不見道路。在對理論知識梳理掌握之后,茅塞頓開,柳暗花明,思路如泉涌,高歌“條條大路通羅馬”。頓悟,沒有思路便無出路,原來思路即出路。設(shè)計具有市場前景,可滿足各種大型演出、集會、游行等宣傳需要,為人們的生活提供便利,通過這次課程設(shè)計,使我學(xué)會了編寫程序,焊接電路板,增強了我的動手能力,為以后打下了堅實的基礎(chǔ)!通過這次課程設(shè)計,使我學(xué)會了編寫程序,焊接電路板,增強了我的動手能力,為以后參加工作打下了堅實的基礎(chǔ)。參考文獻(xiàn)1 鄒逢興,陳立剛,計算機意見技術(shù)基礎(chǔ)(第二版),高等教育出版社,2003.2 余錫存,曹國華,單片機原理與接口技術(shù)(第二版),西安電子科技大學(xué)出版社,2007.3
31、馮博琴,吳寧,微型計算機原理與接口技術(shù)(第三版),清華大學(xué)出版社,2004.4 張毅剛,MCS-51單片機應(yīng)用設(shè)計,哈爾濱工業(yè)大學(xué)出版社,2004.1 楊振江,馮軍.單片機原理與實踐指導(dǎo),中國電力出版社,2008,8.2 姜志海. 單片微型計算機原理及應(yīng)用,機械工業(yè)出版社,2007,3.3 陳桂友,柴遠(yuǎn)彬. 單片機應(yīng)用技術(shù),機械工業(yè)出版社,2008,1.4 馮先成. 單片機應(yīng)用系統(tǒng)設(shè)計,北京航空大學(xué)出版社,2009.5 何宏. 微型計算機原理與接口技術(shù),西安電子科技大學(xué)出版社,2009,4.6 劉海成.單片機及應(yīng)用系統(tǒng)設(shè)計原理與實踐,北京航空大學(xué)出版社,2009,8.7 金杰. 單片機應(yīng)用技術(shù)
32、基本功,人民郵電出版社,2009.8 韓志軍. 單片機系統(tǒng)設(shè)計與應(yīng)用實例,機械工業(yè)出版社,2010.9 李廣弟. 單片機基礎(chǔ),北京航空大學(xué)出版社,2007.10 劉同法,陳忠平,眭仁武. 單片機基礎(chǔ)與最小系統(tǒng)實踐,北京航空大學(xué)出版社,2007.11 李群芳. 單片微型計算機接口技術(shù)及應(yīng)用,電子工業(yè)出版社,2005.12 嚴(yán)天峰. 單片機應(yīng)用系統(tǒng)設(shè)計與仿真調(diào)試,北京航空航天大學(xué)出版社,2005.13 廖雷. C語言程序設(shè)計,高等教育出版社,2008.附錄1:總體電路原理圖附錄2:源程序#include <reg52.h>#define uchar unsigned char#defi
33、ne uint unsigned int /宏定義sbit KEY=P34; /定義畫面切換按鍵uchar KY; /KY作用在后面說明 uchar disp; /顯示漢字指針uchar pic=0,num=0; /pic為按鍵次數(shù);num為中斷次數(shù)/*顯示編碼部分*/uchar code love = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x3F,0x00,0x20,0x00,0x
34、20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x0F,0x04,0x10,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x04,0x10,0xF8,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x07,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x20,0x00,0x10,0x00,0x08,0xFE,0x07,0x00,0x00,0x00,0x00,0x00,0x
35、00,0xFE,0x3F,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x82,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*LOVE*/;/LOVE圖案的編碼 uchar code loveyou = 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
36、x00,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,0xFC,0x00,0xFE,0x01,0xFE,0x03,0xFE,0x07,0xFE,0x0F,0xFE,0x1F,0xFC,0x3F,0xF8,0x7F,0xFC,0x3F,0xFE,0x1F,0xFE,0x0F,0xFE,0
37、x07,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00/*心形圖案*/;/心形圖案的編碼uchar code
38、 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,0x04,0x20,0x00,0x00,0x00,0x00,0xF0,0x3F,0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x08,0x00,0xF0,0x3F,0x00,0x00,0x
39、00,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,0xF0,0x0F,0x00,0x00,0x00,0x00,0xC0,0x01,0x40,0x01,0xC0,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x
40、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00/*呵呵o(_)o圖案*/;/笑臉圖案的編碼unsigned char code hanzi = 0x80,0x40,0x40,0x40,0x30,0x42,0x1E,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0xFF,0x7F,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x42,0x10,0x40,0x00,0x40,0x00,0x00,/*"生",0*/* (16 X 16 , 宋體 ) */0x00,
41、0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0x82,0x40,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"日",1*/* (16 X 16 , 宋體 ) */0x00,0x01,0xE0,0x00,0x00,0x00,0xFF,0xFF,0x10,0x00,0x20,0x81,0x08,0x41,0x08,0x31,0x08,0x0D,0xFF,0x03,0x08,0
42、x0D,0x08,0x31,0xF8,0x41,0x00,0x81,0x00,0x81,0x00,0x00,/*"快",2*/* (16 X 16 , 宋體 ) */0x00,0x00,0x00,0x20,0xE0,0x10,0x9C,0x08,0x84,0x06,0x84,0x40,0x84,0x80,0xF4,0x7F,0x82,0x00,0x82,0x00,0x83,0x02,0x82,0x04,0x80,0x08,0x80,0x30,0x00,0x00,0x00,0x00,/*"樂",3*/* (16 X 16 , 宋體 ) */0x20,0x0
43、0,0x24,0x08,0x24,0x48,0x24,0x84,0xFE,0x7F,0x23,0x02,0x22,0x41,0x20,0x40,0x20,0x20,0xFF,0x13,0x20,0x0C,0x22,0x14,0x2C,0x22,0xA0,0x41,0x20,0xF8,0x00,0x00,/*"我",4*/* (16 X 16 , 宋體 ) */0x80,0x00,0x64,0x41,0x2C,0x21,0x34,0x91,0x24,0x89,0x24,0x87,0xEC,0x4D,0x32,0x55,0x22,0x25,0x22,0x25,0x32,0x55
44、,0x2E,0x4D,0x23,0x81,0xA2,0x80,0x60,0x80,0x00,0x00,/*"愛",5*/* (16 X 16 , 宋體 ) */0x00,0x01,0x80,0x00,0x60,0x00,0xF8,0xFF,0x07,0x00,0x40,0x10,0x20,0x0C,0x18,0x03,0x0F,0x40,0x08,0x80,0xC8,0x7F,0x08,0x00,0x08,0x01,0x28,0x06,0x18,0x18,0x00,0x00,/*"你",6*/* (16 X 16 , 宋體 ) */0x00,0x00,0x00,0x0
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙江臺州仙居利昇檔案館項目投資有限公司招聘筆試參考題庫含答案解析
- 2025年山東棗莊山亭區(qū)山東山興控股集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 2025年貴州六盤水市鐘山區(qū)涼源貴水飲業(yè)有限公司招聘筆試參考題庫含答案解析
- 安全教育說課課件
- 2025年廣東梅州市志浩電子科技有限公司招聘筆試參考題庫附帶答案詳解
- 2025年山東威海智慧谷投資運營有限公司招聘筆試參考題庫附帶答案詳解
- 甘肅小學(xué)二年級上冊奧數(shù)單選題110道及答案
- 四川省成都市成華區(qū)某校2023-2024學(xué)年高三上學(xué)期期中英語 無答案
- 浙江省溫州市2024屆高三下學(xué)期二模數(shù)學(xué)試題 無答案
- 安全喝水課件
- 《零售促銷策略》課件
- 美甲店工作分工合同協(xié)議
- 第15課 明朝的統(tǒng)治 課件 統(tǒng)編版七年級歷史下冊
- 水文學(xué)試題題庫及答案
- 天一大聯(lián)考2024-2025學(xué)年(下)高三第二次四省聯(lián)考★物理+答案
- 2025天津東疆綜合保稅區(qū)管理委員會招聘10人筆試參考題庫附帶答案詳解
- 法院書記員招聘2023年筆試考試必做題有答案
- 2024年北京大興國際機場臨空經(jīng)濟(jì)區(qū)幼兒園招聘教師考試真題
- (三模)烏魯木齊地區(qū)2025年高三年級第三次質(zhì)量監(jiān)測理科綜合試卷(含答案)
- 《刑法學(xué)課件 》課件各章節(jié)內(nèi)容-第十章 共同犯罪
- 2025神農(nóng)科技集團(tuán)有限公司第一批校園招聘17人(山西)筆試參考題庫附帶答案詳解
評論
0/150
提交評論