占空比可調(diào)方波發(fā)生器_第1頁
占空比可調(diào)方波發(fā)生器_第2頁
占空比可調(diào)方波發(fā)生器_第3頁
占空比可調(diào)方波發(fā)生器_第4頁
占空比可調(diào)方波發(fā)生器_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、占空比可調(diào)的方波發(fā)生器燕山大學(xué)課 程 設(shè) 計(jì) 說 明 書題目: 低通FIR濾波器設(shè)計(jì)與應(yīng)用學(xué)院(系): 電氣工程學(xué)院年級專業(yè): 10級精儀二班學(xué) 號: 100103020148學(xué)生姓名: 王舟濟(jì) 指導(dǎo)教師: 孟 宗 教師職稱: 副教授 電氣工程學(xué)院課程設(shè)計(jì)任務(wù)書院(系):電氣工程學(xué)院 基層教學(xué)單位:儀器科學(xué)與工程系 學(xué)號100103020148學(xué)生姓名王舟濟(jì)(專業(yè))班級精儀二班設(shè)計(jì)題目方波發(fā)生器設(shè)計(jì)技術(shù)參數(shù)設(shè)計(jì)一個以單片機(jī)為核心的方波發(fā)生器,通過鍵盤可以改變方波的占空比和頻率,并顯示波形的頻率設(shè)計(jì)要求設(shè)計(jì)鍵盤輸入電路、波形的輸出電路、顯示電路(4位數(shù)碼管);編制相應(yīng)的程序 工作量設(shè)計(jì)的內(nèi)容滿足

2、課程設(shè)計(jì)的教學(xué)目的與要求,設(shè)計(jì)題目難度和工作量適合學(xué)生的知識和能力狀況,工作量飽滿。工作計(jì)劃查閱資料進(jìn)行設(shè)計(jì)準(zhǔn)備、設(shè)計(jì)硬件電路、編制程序,編制程序、驗(yàn)證設(shè)計(jì)、撰寫任務(wù)書參考資料單片微型計(jì)算機(jī)接口技術(shù)及其應(yīng)用 張淑清 國防工業(yè)出版社單片機(jī)原理及其應(yīng)用技術(shù) 張淑清 國防工業(yè)出版社單片機(jī)應(yīng)用技術(shù)匯編指導(dǎo)教師簽字基層教學(xué)單位主任簽字說明:此表一式四份,學(xué)生、指導(dǎo)教師、基層教學(xué)單位、系部各一份。 年 月 日目錄摘要.第1章 緒論.1.1設(shè)計(jì)內(nèi)容.1.2設(shè)計(jì)基本要求.第2章 總體方案論證與設(shè)計(jì).2.1方案論述.2.2方波發(fā)生器的硬件組成框圖.第3章方波發(fā)生器原理. 3.1方波發(fā)生器的原理與功能. 3.2鍵

3、盤控制原理. 3.3程序框圖. 3.4方波波形顯示. 第4章 系統(tǒng)硬件設(shè)計(jì) . 4.1最小單片機(jī)系統(tǒng).4.2小鍵盤接口電路.4.3LED顯示電路. 4.4八段數(shù)碼管原理.第5章 系統(tǒng)軟件設(shè)計(jì).5.1主程序.5.2系統(tǒng)初始化子程序.5.3顯示子程序.5.4鍵盤掃描程序.5.5定時中斷子程序. 5.6匯編總程序.第6章 系統(tǒng)調(diào)試與測試結(jié)果分析.6.1硬件調(diào)試.6.2軟件調(diào)試.結(jié) 論.參考文獻(xiàn).附錄:仿真效果圖第 0 頁 共 30 頁摘 要隨著大規(guī)模集成電路技術(shù)和計(jì)算機(jī)技術(shù)的飛速發(fā)展,把計(jì)算機(jī)的運(yùn)算器和控制器(即CPU)、存儲器和多種接口集成在一塊芯片上而成的芯片為單片機(jī)。單片機(jī)問世20年來,發(fā)展速

4、度之迅猛,應(yīng)用范圍之廣泛是以往任何技術(shù)都無法比擬的。單片機(jī)作為嵌入式微控制器其應(yīng)用很普及。近十幾年來,單片機(jī)在生產(chǎn)過程控制、自動檢測、數(shù)據(jù)采集與處理、科技計(jì)算、商業(yè)管理和辦公室自動化等方面獲得了廣泛應(yīng)用。本設(shè)計(jì)是一個以單片機(jī)為核心的方波發(fā)生器,通過對鍵盤輸入電路、波形的輸出電路、顯示電路的設(shè)計(jì)已經(jīng)程序的編程,實(shí)現(xiàn)通過鍵盤改變方波占空比和頻率,并顯示波形頻率的功能。關(guān)鍵字:單片機(jī)、法波發(fā)生器、頻率、占空比第一章 緒論單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗地、使用方便、價格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為”。單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制

5、、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動化、汽車電子、PC機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。單片機(jī)有兩種基本結(jié)構(gòu)形式:一種是在通用微型計(jì)算機(jī)中廣泛采用的,將程序存儲器和數(shù)據(jù)存儲器合用一個存儲器空間的結(jié)構(gòu),稱為普林斯頓結(jié)構(gòu)。另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),一般需要較大的程序存儲器,目前的單片機(jī)以采用程序存儲器和數(shù)據(jù)存儲器截然分開的結(jié)構(gòu)為多。 本課題討論的方波發(fā)生器的核心是目前應(yīng)用極為廣泛的 51系列單片機(jī)。1.1 設(shè)計(jì)內(nèi)容本課程設(shè)計(jì)是設(shè)計(jì)一個方波發(fā)生器,用4位數(shù)碼管顯示方波的頻率。1.2 設(shè)計(jì)基本要求頻率可調(diào),用一個變阻器來調(diào)整波形的頻率,頻率調(diào)節(jié)范圍為20

6、Hz2000Hz;占空比可調(diào),采用兩個按鍵來實(shí)現(xiàn)增加、減小波形的占空比作用,占空比調(diào)節(jié)步長為1%,即每按鍵一次,占空比增加或減少1%。占空比用另外兩位數(shù)碼管顯示。系統(tǒng)上電時頻率依變阻器的阻值設(shè)定,占空比設(shè)定為50%。而我們在此設(shè)計(jì)的方波發(fā)生器與要求要設(shè)計(jì)的有點(diǎn)區(qū)別,所設(shè)計(jì)的頻率調(diào)節(jié)范圍為1Hz15000Hz,以調(diào)節(jié)變阻器的阻值來實(shí)現(xiàn)頻率的調(diào)節(jié)相對來說要麻煩些。因此,頻率也使用按鍵來進(jìn)行調(diào)節(jié),不同的頻率及占空比可以使用不同的按鍵來實(shí)現(xiàn),而以鍵盤掃描來實(shí)現(xiàn)各鍵的不同功能;顯示部分可以使用ZLG7290芯片及數(shù)碼管來實(shí)現(xiàn)。由此即可構(gòu)成一個最小單片機(jī)應(yīng)用系統(tǒng)。第2 章 總體方案論證與設(shè)計(jì)在電子技術(shù)領(lǐng)域

7、中,實(shí)現(xiàn)方波發(fā)生器的方法有很多種,可以采用不同的原理及器件構(gòu)成不同的電路,但可以實(shí)現(xiàn)相同的功能。在此次設(shè)計(jì)中,有些地方與課題原本的具體要求有點(diǎn)不同。如實(shí)現(xiàn)頻率調(diào)節(jié)時,不是按要求利用調(diào)整變阻器的阻值來完成的,而是用按鍵來實(shí)現(xiàn)的。2.1 方案論述基于MCS51單片機(jī)8051芯片所設(shè)計(jì)的可以實(shí)現(xiàn)鍵位與數(shù)字動態(tài)顯示的一種頻率,占空比可調(diào)方波發(fā)生器。設(shè)四位數(shù)碼管顯示頻率范圍為1HZ-9999HZ,可任意取1HZ、10HZ、100HZ等值,占空比任意取10%,20%,40%,50%,80%等值。通過對鍵盤上按鍵的操作完成對所取頻率值,占空比的調(diào)用,以達(dá)到改變當(dāng)前頻率值,占空比的目的,并使用其八段數(shù)碼管顯示

8、。單片機(jī)對鍵位進(jìn)行掃描,確定鍵位的輸入,根據(jù)程序設(shè)計(jì)要求,數(shù)碼管顯示頻率以及占空比改變后當(dāng)前的數(shù)值,方波發(fā)生器輸出以數(shù)碼管顯示的數(shù)值為頻率的方波。基于以上思路,可進(jìn)行如下功能擴(kuò)展:由于偉福2000仿真實(shí)驗(yàn)箱共有6位數(shù)碼管,顯示頻率只用其中4位,可使用余下2位進(jìn)行占空比顯示。設(shè)計(jì)思路同頻率顯示,可選定占空比10、20、50等值,通過鍵盤上的兩個按鍵順序調(diào)換所選取的占空比值,實(shí)現(xiàn)占空比的可調(diào)控改變。鍵盤可采用4*4的鍵盤,但是只選取選取其中的4個按鍵,其功能分別為:頻率順向增大、頻率逆向減小、占空比順向增大、占空比逆向減小。按鍵每按下一次,當(dāng)前頻率或占空比轉(zhuǎn)向下一選定的頻率或占空比值。單片機(jī)通過輸

9、出方波控制一個數(shù)碼管的顯用,該數(shù)碼管顯示當(dāng)前所調(diào)換到的頻率及占空比,并把該數(shù)值當(dāng)做方波發(fā)生器的輸入頻率及輸入占空比。單片機(jī)控制該方波發(fā)生器以該數(shù)值作為頻率和占空比顯示方波,從而得到我們想要頻率及占空比的方波。最后,可采用示波器觀察方波波形。2.2方波發(fā)生器的總體硬件組成框圖簡單的流程為:主程序掃描鍵盤,將設(shè)置信息輸入,處理后,輸出到LED顯示器顯示。單片機(jī)用到了兩個定時器,即定時器0與定時器1,分別進(jìn)行頻率與占空比的定時,兩個定時器都是工作在方式1。計(jì)算定時器初值的公式如下: X = 2N - FOSC/12 × T根據(jù)計(jì)算定時器初值的公式,計(jì)算出定時器0與定時器1所要裝入的初值。頻

10、率及占空比的顯示電路由74374和74245構(gòu)成的驅(qū)動電路和LED數(shù)碼顯示管組成,利用六個數(shù)碼管來顯示,有四位是用來顯示頻率的,有兩位是顯示占空比的。此電路的鍵盤由四個功能鍵(調(diào)節(jié)頻率與占空比的增減)組成,其特殊之處在于利用外部中斷實(shí)現(xiàn)鍵盤掃描。功能鍵有兩種種狀態(tài),一種為正順序調(diào)換,根據(jù)所取值順向增大的特點(diǎn),此時為增大調(diào)節(jié);另一種為逆順序調(diào)換,同理,此時為減小調(diào)節(jié)。頻率和占空比各有一組增大及減小的功能鍵。鍵盤單片機(jī)89S52LED 顯 示頻率與占空比數(shù)據(jù)頻率與占空比數(shù)據(jù)圖2-1 方波發(fā)生器原理框圖第3章 方波發(fā)生器原理3.1、方波發(fā)生器的原理與功能方波發(fā)生器的總體原理方框圖如下圖所示:由于系統(tǒng)

11、的要求不高,比較單一,再加上我們是通過定時器來調(diào)節(jié)頻率的,這樣僅用鍵盤、8051芯片及數(shù)碼顯示管便可完成設(shè)計(jì),達(dá)到所要求實(shí)現(xiàn)的功能。3.2鍵盤控制原理通過鍵盤的控制,可以實(shí)現(xiàn)頻率和占空比的變化。本設(shè)計(jì)僅僅選用四個數(shù)碼管顯示頻率,并增加了后兩個數(shù)碼管顯示占空比的功能。其中,用NEXT鍵和LAST鍵控制頻率的變化,每按一下NEXT鍵頻率就按著 的順序正向變化到下一個數(shù)值;每按一下LAST鍵,頻率就反向變化到另一個數(shù)值。C鍵和D鍵控制占空比的變化:每按一下C鍵,數(shù)碼管上的顯示數(shù)字就按照 的順序正向變化一個數(shù)字,每按一下D鍵,數(shù)字就反向變化。其對應(yīng)關(guān)系如表1所示:表1頻率-占空比-按鍵對照表頻率占空比

12、NEXTLASTCD+上_下+上_下3.3程序框圖初始化后單片機(jī)產(chǎn)生初值,將初值以動態(tài)掃描的方式顯示于八段數(shù)碼管 ,同時還對鍵盤進(jìn)行實(shí)時掃描。在掃描后,單片機(jī)讀取鍵值,并將鍵值通過數(shù)碼管模塊顯示出來,方波發(fā)生器輸出該頻率,占空比的方波. 表2頻率(HZ)-程序代碼對照表編輯代碼100H00H06H3FH顯示頻率1(HZ)0010編輯代碼200H00H5BH3FH顯示頻率2(HZ)0020編輯代碼300H00H6DH3FH顯示頻率3(HZ)0050編輯代碼400H06H3FH3FH顯示頻率4(HZ)0100表3 占空比(%)-代碼對照表編輯代碼15BH3FH顯示占空比(%)20編輯代碼266H3

13、FH顯示占空比(%)40編輯代碼36DH3FH顯示占空比(%)50編輯代碼47DH3FH顯示占空比(%)60編輯代碼57FH3FH顯示占空比(%)803.4方波波形顯示 圖1 頻率100HZ,占空比50%圖2 頻率100HZ,占空比80%圖3 頻率100HZ,占空比20% 第4章 系統(tǒng)硬件設(shè)計(jì)4.1最小單片機(jī)系統(tǒng)單片機(jī)各功能部件的運(yùn)行都是以時鐘頻率為基準(zhǔn)的,有條不紊地進(jìn)行工作。因而時鐘頻率直接影響單片機(jī)的速度,時鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時鐘電路方式有兩種:一種是內(nèi)部時鐘方式,一種是外部時鐘方式,這里采用的是內(nèi)部時鐘方式,外接晶振。時鐘電路由片外晶體、微調(diào)電容和單片機(jī)的內(nèi)

14、部電路組成。選取頻率為11.0592MHz的晶振,微調(diào)電容是瓷片電容。89S52單片機(jī)的P0.7口作為波形輸出口,若接示波器,則可通過示波器來觀察波形,是一個矩形波。圖3-1 單片機(jī)最小系統(tǒng)此單元電路包括時鐘電路、復(fù)位電路,具體電路如圖所示:4.2小鍵盤接口電路方案一:獨(dú)立式鍵盤一個具有4個按鍵的獨(dú)立式鍵盤,每一個按鍵的一端都接地,另一端接MEGA16的I/O口。獨(dú)立式鍵盤每一按鍵都需要一根I/O線,占用MEGA16的硬件資源較多。因此獨(dú)立式鍵盤只適合按鍵較少的場合。鍵盤是一組按鍵或開關(guān)的集合,鍵盤接口向計(jì)算機(jī)提供被按鍵的代碼。特點(diǎn):使用方便、結(jié)構(gòu)復(fù)雜、成本高。方案二:矩陣式鍵盤我們采用4&#

15、215;4矩陣式鍵盤,鍵盤的行線X0X3通過電阻接+5V,當(dāng)鍵盤沒有鍵閉合時,所有的行線和列線斷開,行線X0X3均呈高電平,如下圖:圖52鍵盤控制LED連接原理圖為了節(jié)省I/O口,使我們的設(shè)計(jì)能夠順利進(jìn)行,我們選用方案二矩陣連接式鍵盤。為了能夠較為簡單的編程,和節(jié)省CPU的資源,我們采用定時掃描,每隔一段時間,CPU對鍵盤掃描一次,并將鍵值讀入。掃描法是在判定有鍵按下后逐列(或行)置低電平,同時讀入行(或列)狀態(tài),如果行(或列)狀態(tài)出現(xiàn)非全1狀態(tài),這時與狀態(tài)行,列交叉點(diǎn)的鍵就是所按下的鍵。掃描發(fā)的特點(diǎn)是逐列(或行)掃描查詢。這時,相應(yīng)的行(或列)應(yīng)有上拉電阻接高電平。當(dāng)鍵盤上某一鍵閉合時,該鍵

16、所對應(yīng)的行線與列線短路,此時該行線的電平將由被短路的列線電平所決定。如果將行線接至單片機(jī)的輸入端口,列線接至單片機(jī)的輸出端口,則在單片機(jī)的控制下使列線Y0為低電平,其余三根列線Y1、Y2、Y3均為高電平,然后單片機(jī)讀輸入口狀態(tài)(即鍵盤行線狀態(tài)),若X0、X1、X2、X3均為高電平,則Y0這一列上沒有鍵閉合,如果讀出的行線狀態(tài)不全為高電平,則為低電平的行線和Y0相交的鍵處于閉合狀態(tài)。如果Y0這一列沒有鍵閉合,緊接著使列線Y1為低電平,其余列線為高電平,用同樣的方法檢查Y1這一列有無鍵閉合,如此類推。CPU對鍵盤的掃描可以采取程序控制的隨機(jī)方式,CPU空閑時才掃描鍵盤;也可以采取定時控制方式,每隔

17、一段時間,CPU對鍵盤掃描一次;還可以采用中斷方式,當(dāng)鍵盤上有鍵閉合時,向CPU請求中斷,CPU響應(yīng)鍵盤發(fā)出的中斷請求,對鍵盤進(jìn)行掃描,以識別哪一個鍵處于閉合狀態(tài),并對鍵輸入信息作相應(yīng)處理。 圖3-2 小鍵盤接口電路4.3 LED顯示電路方案一: 靜態(tài)顯示方式靜態(tài)顯示方式是指當(dāng)顯示器顯示某一字符時,七段數(shù)碼管的每段發(fā)光二極管的位選始終被選中。在這種顯示方式下,每一個LED數(shù)碼管顯示器都需要一個8位的輸出口進(jìn)行控制。靜態(tài)顯示主要的優(yōu)點(diǎn)是顯示穩(wěn)定,在發(fā)光二極管導(dǎo)通電流一定的情況下顯示器的亮度大,系統(tǒng)運(yùn)行過程中,在需要更新顯示內(nèi)容時,CPU才去執(zhí)行顯示更新子程序,這樣既節(jié)約了CPU的時間,又提高了C

18、PU的工作效率。其不足之處是占用硬件資源較多,每個LED數(shù)碼管需要獨(dú)占8條輸出線。隨著顯示器位數(shù)的增加,需要的I/O口線也將增加。方案二: 動態(tài)顯示方式所謂動態(tài)顯示,就是單片機(jī)定時地對顯示模塊件掃描。在這種方法中,顯示模塊件分時工作,每次只能有一個器件顯示。但由于人視覺的暫留現(xiàn)象,所以仍感覺所有的器件都在顯示。如許多單片機(jī)的開發(fā)系統(tǒng)及仿真器上的6位顯示模塊即采用這類顯示方法。此種顯示方法的優(yōu)點(diǎn)是使用硬件少,因而價格低。但它占用機(jī)時長,只要單片機(jī)不執(zhí)行顯示程序,就立刻停止顯示。由此可見,這種顯示將使計(jì)算機(jī)的開銷增大。由于8051單片機(jī)本身提供的I/O口有限,因此我們選擇方案二動態(tài)掃描方式。掃描方

19、式中在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的約1MS,盡管實(shí)際上各位顯示器并非同時點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。節(jié)約了電能,節(jié)省 了I/O口4.4八段數(shù)碼管原理數(shù)碼管內(nèi)部由8個發(fā)光發(fā)光二極管組成,排成一個8字,可以組成0到9數(shù)字以及A-F字符的表示形式。 圖5-3.八段數(shù)碼管引腳圖 圖5-4.八位數(shù)碼管原理圖表2 顯示數(shù)字及其所對應(yīng)的代碼顯示數(shù)字1234程序輸入數(shù)06H5BH4FH66H顯示數(shù)字5678程序輸入數(shù)6DH7DH07H7FH顯示數(shù)字90AB程序輸入數(shù)6FH3FH77H7CH顯示數(shù)字CDEF程序輸入數(shù)39H5EH79H71

20、H第5章 系統(tǒng)的軟件設(shè)計(jì)軟件是該LED顯示屏控制系統(tǒng)的重要組成部分,在系統(tǒng)的軟件設(shè)計(jì)中我們也才用了模塊化設(shè)計(jì),將系統(tǒng)的各部分功能編寫成子模塊的形式,這樣增強(qiáng)了系統(tǒng)軟件的可讀性和可移植性。5.1 主程序主程序包括系統(tǒng)初始化及顯示程序,是一個死循環(huán)系統(tǒng)。其流程圖如圖所示:開始系統(tǒng)初始化顯示圖4-1 主程序流程圖5.2 系統(tǒng)初始化子程序在此程序中,給所有變量賦初值,有鍵盤掃描口、選擇串行口工作方式SCON、狀態(tài)標(biāo)志位flag、初始頻率與占空比及其定時、定時器0與定時器1的工作方式等。初始化時啟動了定時器0與定時器1。5.3顯示子程序利用分離頻率的各位數(shù)值,將各位數(shù)值分別顯示出來。在程序中利用了頻率顯

21、示的高位滅零的方法以致最高位為0時就不顯示,以致顯示效果美觀化。一共有五位是顯示頻率的,若頻率小于10000時,則萬位不顯示;若頻率小于1000時,則萬位與千位都不顯示,依次類推。占空比的顯示規(guī)律與頻率的一樣。顯示子程序流程圖如圖4-2所示:顯示子程序入口分離頻率和占空比的各位數(shù)字高位滅零處理查表,串口發(fā)送各位數(shù)字字型碼軟件延時結(jié)束圖4-2 顯示子程序流程圖5.4 鍵盤掃描程序鍵盤掃描用外中斷0實(shí)現(xiàn),采用的是線反法,鍵盤掃描碼采用逐行掃描的方法。關(guān)于鍵盤掃描程序的說明:頻率可調(diào)時,占空比保持原狀不變,反之亦然,只能進(jìn)行單一變量的調(diào)節(jié),狀態(tài)標(biāo)志flag的初始值為0。(1)頻率調(diào)節(jié): i=0時,按

22、鍵為狀態(tài)鍵,此時flag加1,即flag=1,此時進(jìn)行頻率的調(diào)節(jié)??梢赃M(jìn)行加1Hz、減1Hz、加100Hz、減100Hz操作,分別由1號鍵、2號鍵、3號鍵、4號鍵控制。如果按住某個鍵不放,便會執(zhí)行連續(xù)加值或減值操作。這里的頻率的最大值為15000Hz,當(dāng)頻率增至最大值時,還按增值鍵,此時頻率會自動跳到1Hz開始繼續(xù)增加。同理,頻率的最小值為1Hz,當(dāng)減頻率減至最小值時,再按減頻率鍵,則頻率會跳到15000Hz。 (2)占空比調(diào)節(jié): 當(dāng)狀態(tài)值flag=2時,此時頻率保持不變,進(jìn)行占空比調(diào)節(jié)。只可進(jìn)行加1與減1操作,分別由1號鍵、2號鍵控制。要注意的是占空比的初值是50,我們定義的ZKB為50(百

23、分比的分子部分,為一整數(shù)),故調(diào)節(jié)占空比時,ZKB會進(jìn)行加1,減1操作。ZKB的最大值為99,當(dāng)增到最大值時,便會返回到值1,如此循環(huán)。(3)為了減輕單片機(jī)的工作量,在軟件設(shè)計(jì)中采取了這樣的措施,在修改參數(shù)確定后才進(jìn)行定時器初值TC0、TC1的計(jì)算。鍵盤中斷處理子程序流程圖與鍵處理流程圖分別如圖4-3、圖4-4所示:圖4-3 鍵盤中斷處理子程序流程圖YNEA=0軟件延時消抖外部中斷0入口鍵盤掃描,得到鍵碼查表取鍵值i實(shí)時顯示鍵盤口初始化EA=1結(jié)束鍵處理是否為抖動NYi=1 ZKB+i=2 ZKB-邊界處理Flag=2?NYi=0?Flag+=1鍵處理 Yi=3 PL+=100i=4 PL-=

24、100i=2 PL-i=1 PL+邊界處理NFlag=1?YNFlag=3?Flag=0,計(jì)算定時器0和1的初值鍵處理結(jié)束 圖4-4 鍵處理流程圖5.5定時中斷子程序定時器中斷子程序中有定時器0與定時器1中斷,頻率定時器0中斷流程圖與占空比定時器1流程圖分別如圖4-5、圖4-6所示。(1)定時器0遇中斷執(zhí)行的操作有復(fù)位,啟動自身進(jìn)行頻率定時,同時啟動定時器1,進(jìn)行占空比定時,輸出高電平。(2)定時器1遇中斷,停止自身的計(jì)時,輸出低電平。定時器1中斷入口TR1=0重裝定時初值輸出低電平結(jié)束圖4-6占空比定時器1中斷流程定時器0中斷入口TR1=1重裝定時初值輸出高電平結(jié)束圖4-5 頻率定時器0中斷

25、流程5.6匯編程序CISHU EQU 31H LOW0 EQU 32H HIGH0 EQU 33H BILI EQU 34H HL EQU 35H UP EQU 16H DOWN EQU 15H CP EQU 0CH DP EQU 0DH ORG 0000HLJMP MAINORG 000BHLJMP TIN0ORG 0040HZHONGDUAN:DB 100 50 20 10 ZHANKONG:DB 8,6,5,4,2MAIN:MOV TMOD,#02HSETB EASETB ET0MOV PINLV,#00HMOV BILI,#02HLCALL GOONLJMP MLOOPZHUANGRU

26、:MOV A,PINLVRU1:MOV TH0,#06HMOV TL0,#06HJISHU:SETB HLSETB TR0SETB P1.0MOV CISHU,#01HMOV DPTR,#ZHANKONGMOV A,BILIMOVC A,A+DPTRMOV LOW0,AMOV B,#10XCH A,BSUBB A,BMOV HIGH0,ARETOUTBIT EQU 08002HOUTSEG EQU 08004H IN EQU 08001HLEDBUF EQU 60HLEDPINLVMAP: DB 00H,00H,06H,3FH DB 00H,00H,5BH,3FH DB 00H,00H,6DH

27、,3FH DB 00H,06H,3FH,3FHLEDZHANKONGMAP: DB 7FH,3FH DB 7DH,3FH DB 6DH,3FH DB 66H,3FH DB 5BH,3FHDELAY: MOV R7, #0DELAYLOOP: DJNZ R7, DELAYLOOP DJNZ R6, DELAYLOOP RETDISPLAYLED: MOV R0, #LEDBUF MOV R1, #6 MOV R2, #00100000BLOOP: MOV DPTR, #OUTBIT MOV A, #0 MOVX DPTR, AMOV A, R0 MOV DPTR, #OUTSEG MOVX DP

28、TR, A MOV DPTR, #OUTBIT MOV A, R2 MOVX DPTR, AMOV R6, #1 CALL DELAY MOV A, R2 RR A MOV R2, A INC R0 DJNZ R1, LOOP MOV DPTR, #OUTBIT MOV A, #0 MOVX DPTR, A RETTESTKEY: MOV DPTR, #OUTBIT MOV A, #0 MOVX DPTR, A MOV DPTR, #IN MOVX A, DPTR CPL A ANL A, #0FH RETKEYTABLE: DB 16H, 15H, 14H, 0FFH DB 13H, 12H

29、, 11H, 10H DB 0DH, 0CH, 0BH, 0AH DB 0EH, 03H, 06H, 09H DB 0FH, 02H, 05H, 08H DB 00H, 01H, 04H, 07HGETKEY: MOV DPTR, #OUTBIT MOV P2, DPH MOV R0, #LOW(IN) MOV R1, #00100000B MOV R2, #6KLOOP: MOV A, R1 CPL A MOVX DPTR, A CPL A RR A MOV R1, A MOVX A, R0 CPL A ANL A, #0FH JNZ GOON1 DJNZ R2, KLOOP MOV R2,

30、 #0FFH SJMP EXITGOON1: MOV R1, A MOV A, R2 DEC A RL A RL A MOV R2, A ; R2 = (R2-1)*4 MOV A, R1 MOV R1, #4LOOPC: RRC A JC EXIT INC R2 DJNZ R1, LOOPCEXIT: MOV A, R2 MOV DPTR, #KEYTABLE MOVC A, A+DPTR MOV R2, AWAITRELEASE: MOV DPTR, #OUTBIT CLR A MOVX DPTR, A MOV R6, #5 CALL DELAY CALL TESTKEY JNZ WAIT

31、RELEASE MOV A, R2 RETGOON: MOV R0,#LEDBUF MOV DPTR, #LEDPINLVMAP MOV B,#4 MOV A,PINLV MUL AB MOV R2,A MOV R1,#4GOONLOOP: MOV A,R2 MOVC A, A+DPTR MOV R0, A INC R2 INC R0 DJNZ R1,GOONLOOPGOON2: MOV DPTR,#LEDZHANKONGMAP MOV B,#2 MOV A,BILI MUL AB MOV R2,A MOV R1,#2GOONLOOP2: MOV A,R2 MOVC A, A+DPTR MOV

32、 R0, A INC R2 INC R0 DJNZ R1,GOONLOOP2 RETKEYPRESSED: CALL GETKEY MOV B, A XRL A, #DOWN JNZ KEY0 MOV A, PINLV XRL A, #0 JZ KEY3 DEC PINLV SJMP KEY3KEY0: MOV A, B XRL A, #UP JNZ KEY1 MOV A, PINLV XRL A, #3 JZ KEY3 INC PINLVKEY1: MOV A,B XRL A,#CP JNZ KEY2 MOV A,BILI XRL A,#0 JZ KEY3 DEC BILIKEY2: MOV

33、 A,B XRL A,#DP JNZ KEY3 MOV A,BILI XRL A,#4 JZ KEY3 INC BILIKEY3: LCALL ZHUANGRU SJMP MLOOP1MLOOP:CALL ZHUANGRUMLOOP1: CALL TESTKEY JNZ KEYPRESSED CALL GOON CALL DISPLAYLED SJMP MLOOP1TIN0:PUSH PSWPUSH APUSH BDJNZ CISHU,FANHUICPL P1.0CPL HLMOV DPTR,#ZHONGDUANMOV A,PINLVMOVC A,A+DPTRMOV B,#5DIV ABJB HL,HIGHLEVELMOV B,LOW0LJMP FUZHIHIGHLEVEL:MOV B,HIGH0FUZHI:MUL ABMOV CISHU,AFANHUI:POP BPOP APOP PSWRETIEND第6章 系統(tǒng)調(diào)試與測試結(jié)果分析6.1 硬件調(diào)試硬件的測試首先是檢查電路的邏輯線路是否正確,如果正確再檢查原理圖的線路連接是否正確,電路的布局安排是否合理等等。軟件的測試只要

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論