占空比可調(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),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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

2、,工作量飽滿。工作計(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.4方波波形顯示. 第4章 系統(tǒng)硬件

3、設(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定時(shí)中斷子程序. 5.6匯編總程序.第6章 系統(tǒng)調(diào)試與測試結(jié)果分析.6.1硬件調(diào)試.6.2軟件調(diào)試.結(jié) 論.參考文獻(xiàn).附錄:仿真效果圖摘 要隨著大規(guī)模集成電路技術(shù)和計(jì)算機(jī)技術(shù)的飛速發(fā)展,把計(jì)算機(jī)的運(yùn)算器和控制器(即CPU)、存儲(chǔ)器和多種接口集成在一塊芯片上而成的芯片為單片機(jī)。單片機(jī)問世20年來,發(fā)展速度之迅猛,應(yīng)用范圍之廣泛是以往任何技術(shù)都無法比擬的。單片機(jī)作為嵌入式微控制器其應(yīng)用很普及。近十

4、幾年來,單片機(jī)在生產(chǎn)過程控制、自動(dòng)檢測、數(shù)據(jù)采集與處理、科技計(jì)算、商業(yè)管理和辦公室自動(dòng)化等方面獲得了廣泛應(yīng)用。本設(shè)計(jì)是一個(gè)以單片機(jī)為核心的方波發(fā)生器,通過對(duì)鍵盤輸入電路、波形的輸出電路、顯示電路的設(shè)計(jì)已經(jīng)程序的編程,實(shí)現(xiàn)通過鍵盤改變方波占空比和頻率,并顯示波形頻率的功能。關(guān)鍵字:單片機(jī)、法波發(fā)生器、頻率、占空比第一章 緒論單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗地、使用方便、價(jià)格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為”。單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動(dòng)化、汽車電子、PC機(jī)外圍以及網(wǎng)絡(luò)通訊等

5、廣大領(lǐng)域。單片機(jī)有兩種基本結(jié)構(gòu)形式:一種是在通用微型計(jì)算機(jī)中廣泛采用的,將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu),稱為普林斯頓結(jié)構(gòu)。另一種是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開,分別尋址的結(jié)構(gòu),一般需要較大的程序存儲(chǔ)器,目前的單片機(jī)以采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開的結(jié)構(gòu)為多。 本課題討論的方波發(fā)生器的核心是目前應(yīng)用極為廣泛的 51系列單片機(jī)。1.1 設(shè)計(jì)內(nèi)容本課程設(shè)計(jì)是設(shè)計(jì)一個(gè)方波發(fā)生器,用4位數(shù)碼管顯示方波的頻率。1.2 設(shè)計(jì)基本要求頻率可調(diào),用一個(gè)變阻器來調(diào)整波形的頻率,頻率調(diào)節(jié)范圍為20Hz2000Hz;占空比可調(diào),采用兩個(gè)按鍵來實(shí)現(xiàn)增加、減小波形的占空比作用,占空比調(diào)節(jié)步長為1

6、%,即每按鍵一次,占空比增加或減少1%。占空比用另外兩位數(shù)碼管顯示。系統(tǒng)上電時(shí)頻率依變阻器的阻值設(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é)相對(duì)來說要麻煩些。因此,頻率也使用按鍵來進(jìn)行調(diào)節(jié),不同的頻率及占空比可以使用不同的按鍵來實(shí)現(xiàn),而以鍵盤掃描來實(shí)現(xiàn)各鍵的不同功能;顯示部分可以使用ZLG7290芯片及數(shù)碼管來實(shí)現(xiàn)。由此即可構(gòu)成一個(gè)最小單片機(jī)應(yīng)用系統(tǒng)。第2 章 總體方案論證與設(shè)計(jì)在電子技術(shù)領(lǐng)域中,實(shí)現(xiàn)方波發(fā)生器的方法有很多種,可以采用不同的原理及器件構(gòu)成不同的電路,但可以實(shí)現(xiàn)相同的功能

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

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

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

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

11、管便可完成設(shè)計(jì),達(dá)到所要求實(shí)現(xiàn)的功能。3.2鍵盤控制原理通過鍵盤的控制,可以實(shí)現(xiàn)頻率和占空比的變化。本設(shè)計(jì)僅僅選用四個(gè)數(shù)碼管顯示頻率,并增加了后兩個(gè)數(shù)碼管顯示占空比的功能。其中,用NEXT鍵和LAST鍵控制頻率的變化,每按一下NEXT鍵頻率就按著 的順序正向變化到下一個(gè)數(shù)值;每按一下LAST鍵,頻率就反向變化到另一個(gè)數(shù)值。C鍵和D鍵控制占空比的變化:每按一下C鍵,數(shù)碼管上的顯示數(shù)字就按照 的順序正向變化一個(gè)數(shù)字,每按一下D鍵,數(shù)字就反向變化。其對(duì)應(yīng)關(guān)系如表1所示:表1頻率-占空比-按鍵對(duì)照表頻率占空比NEXTLASTCD+上_下+上_下3.3程序框圖初始化后單片機(jī)產(chǎn)生初值,將初值以動(dòng)態(tài)掃描的方

12、式顯示于八段數(shù)碼管 ,同時(shí)還對(duì)鍵盤進(jìn)行實(shí)時(shí)掃描。在掃描后,單片機(jī)讀取鍵值,并將鍵值通過數(shù)碼管模塊顯示出來,方波發(fā)生器輸出該頻率,占空比的方波. 表2頻率(HZ)-程序代碼對(duì)照表編輯代碼100H00H06H3FH顯示頻率1(HZ)0010編輯代碼200H00H5BH3FH顯示頻率2(HZ)0020編輯代碼300H00H6DH3FH顯示頻率3(HZ)0050編輯代碼400H06H3FH3FH顯示頻率4(HZ)0100表3 占空比(%)-代碼對(duì)照表編輯代碼15BH3FH顯示占空比(%)20編輯代碼266H3FH顯示占空比(%)40編輯代碼36DH3FH顯示占空比(%)50編輯代碼47DH3FH顯示占

13、空比(%)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)行都是以時(shí)鐘頻率為基準(zhǔn)的,有條不紊地進(jìn)行工作。因而時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路方式有兩種:一種是內(nèi)部時(shí)鐘方式,一種是外部時(shí)鐘方式,這里采用的是內(nèi)部時(shí)鐘方式,外接晶振。時(shí)鐘電路由片外晶體、微調(diào)電容和單片機(jī)的內(nèi)部電路組成。選取頻率為11.0592MHz的晶振,微調(diào)電容是瓷片電容。89S52單片機(jī)的P0.

14、7口作為波形輸出口,若接示波器,則可通過示波器來觀察波形,是一個(gè)矩形波。圖3-1 單片機(jī)最小系統(tǒng)此單元電路包括時(shí)鐘電路、復(fù)位電路,具體電路如圖所示:4.2小鍵盤接口電路方案一:獨(dú)立式鍵盤一個(gè)具有4個(gè)按鍵的獨(dú)立式鍵盤,每一個(gè)按鍵的一端都接地,另一端接MEGA16的I/O口。獨(dú)立式鍵盤每一按鍵都需要一根I/O線,占用MEGA16的硬件資源較多。因此獨(dú)立式鍵盤只適合按鍵較少的場合。鍵盤是一組按鍵或開關(guān)的集合,鍵盤接口向計(jì)算機(jī)提供被按鍵的代碼。特點(diǎn):使用方便、結(jié)構(gòu)復(fù)雜、成本高。方案二:矩陣式鍵盤我們采用4×4矩陣式鍵盤,鍵盤的行線X0X3通過電阻接+5V,當(dāng)鍵盤沒有鍵閉合時(shí),所有的行線和列線

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

16、端口,列線接至單片機(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對(duì)鍵盤的掃描可以采取程序控制的隨機(jī)方式,CPU空閑時(shí)才掃描鍵盤;也可以采取定時(shí)控制方式,每隔一段時(shí)間,CPU對(duì)鍵盤掃描一次;還可以采用中斷方式,當(dāng)鍵盤上有鍵閉合時(shí),向CPU請(qǐng)求中斷,CP

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

18、數(shù)的增加,需要的I/O口線也將增加。方案二: 動(dòng)態(tài)顯示方式所謂動(dòng)態(tài)顯示,就是單片機(jī)定時(shí)地對(duì)顯示模塊件掃描。在這種方法中,顯示模塊件分時(shí)工作,每次只能有一個(gè)器件顯示。但由于人視覺的暫留現(xiàn)象,所以仍感覺所有的器件都在顯示。如許多單片機(jī)的開發(fā)系統(tǒng)及仿真器上的6位顯示模塊即采用這類顯示方法。此種顯示方法的優(yōu)點(diǎn)是使用硬件少,因而價(jià)格低。但它占用機(jī)時(shí)長,只要單片機(jī)不執(zhí)行顯示程序,就立刻停止顯示。由此可見,這種顯示將使計(jì)算機(jī)的開銷增大。由于8051單片機(jī)本身提供的I/O口有限,因此我們選擇方案二動(dòng)態(tài)掃描方式。掃描方式中在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的約1MS,盡管實(shí)際上各位顯示器并非同

19、時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。節(jié)約了電能,節(jié)省 了I/O口4.4八段數(shù)碼管原理數(shù)碼管內(nèi)部由8個(gè)發(fā)光發(fā)光二極管組成,排成一個(gè)8字,可以組成0到9數(shù)字以及A-F字符的表示形式。 圖5-3.八段數(shù)碼管引腳圖 圖5-4.八位數(shù)碼管原理圖表2 顯示數(shù)字及其所對(duì)應(yīng)的代碼顯示數(shù)字1234程序輸入數(shù)06H5BH4FH66H顯示數(shù)字5678程序輸入數(shù)6DH7DH07H7FH顯示數(shù)字90AB程序輸入數(shù)6FH3FH77H7CH顯示數(shù)字CDEF程序輸入數(shù)39H5EH79H71H第5章 系統(tǒng)的軟件設(shè)計(jì)軟件是該LED顯示屏控制系統(tǒng)的重要組成部分,在系統(tǒng)的軟件設(shè)計(jì)中我們也才

20、用了模塊化設(shè)計(jì),將系統(tǒng)的各部分功能編寫成子模塊的形式,這樣增強(qiáng)了系統(tǒng)軟件的可讀性和可移植性。5.1 主程序主程序包括系統(tǒng)初始化及顯示程序,是一個(gè)死循環(huán)系統(tǒng)。其流程圖如圖所示:開始系統(tǒng)初始化顯示圖4-1 主程序流程圖5.2 系統(tǒng)初始化子程序在此程序中,給所有變量賦初值,有鍵盤掃描口、選擇串行口工作方式SCON、狀態(tài)標(biāo)志位flag、初始頻率與占空比及其定時(shí)、定時(shí)器0與定時(shí)器1的工作方式等。初始化時(shí)啟動(dòng)了定時(shí)器0與定時(shí)器1。5.3顯示子程序利用分離頻率的各位數(shù)值,將各位數(shù)值分別顯示出來。在程序中利用了頻率顯示的高位滅零的方法以致最高位為0時(shí)就不顯示,以致顯示效果美觀化。一共有五位是顯示頻率的,若頻率

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

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

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

24、定時(shí)器0和1的初值鍵處理結(jié)束 圖4-4 鍵處理流程圖5.5定時(shí)中斷子程序定時(shí)器中斷子程序中有定時(shí)器0與定時(shí)器1中斷,頻率定時(shí)器0中斷流程圖與占空比定時(shí)器1流程圖分別如圖4-5、圖4-6所示。(1)定時(shí)器0遇中斷執(zhí)行的操作有復(fù)位,啟動(dòng)自身進(jìn)行頻率定時(shí),同時(shí)啟動(dòng)定時(shí)器1,進(jìn)行占空比定時(shí),輸出高電平。(2)定時(shí)器1遇中斷,停止自身的計(jì)時(shí),輸出低電平。定時(shí)器1中斷入口TR1=0重裝定時(shí)初值輸出低電平結(jié)束圖4-6占空比定時(shí)器1中斷流程定時(shí)器0中斷入口TR1=1重裝定時(shí)初值輸出高電平結(jié)束圖4-5 頻率定時(shí)器0中斷流程5.6匯編程序CISHU EQU 31H LOW0 EQU 32H HIGH0 EQU 3

25、3H 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:MOV A,PINLVRU1:MOV TH0,#06HMOV TL0,#06HJISHU:S

26、ETB 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,3FH DB 00H,06H,3FH,3FHLEDZHANKONGMAP: DB 7FH,3

27、FH 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 DPTR, A MOV DPTR, #OUTBIT MOV A, R2 MOVX DPTR, AM

28、OV 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, 11H, 10H DB 0DH, 0CH, 0BH, 0AH DB 0EH, 03H, 0

29、6H, 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, #0FFH SJMP EXITGOON1: MOV R1, A MOV A, R2 DEC

30、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 WAITRELEASE MOV A, R2 RETGOON: MOV R0,#LEDBUF MOV D

31、PTR, #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 R0, A INC R2 INC R0 DJNZ R1,GOONLOOP2 RETKEYPR

32、ESSED: 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 A,B XRL A,#DP JNZ KEY3 MOV A,BILI XRL A,#4 JZ

33、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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論