基于單片機的低頻信號發(fā)生器的設(shè)計畢業(yè)設(shè)計論文_第1頁
基于單片機的低頻信號發(fā)生器的設(shè)計畢業(yè)設(shè)計論文_第2頁
基于單片機的低頻信號發(fā)生器的設(shè)計畢業(yè)設(shè)計論文_第3頁
基于單片機的低頻信號發(fā)生器的設(shè)計畢業(yè)設(shè)計論文_第4頁
基于單片機的低頻信號發(fā)生器的設(shè)計畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于單片機的低頻信號發(fā)生器的設(shè)計任務(wù)書一設(shè)計題目;低頻信號發(fā)生器二設(shè)計任務(wù)與要求設(shè)計制作低頻信號發(fā)生器,要求利用單片機產(chǎn)生正弦波,方波及三角波等波形正弦波用單片機實現(xiàn)正弦波的輸出輸出的波形有1HZ`10HZ100HZ1KHZ10KHZ5種可選頻率輸出電壓范圍有0~5V可調(diào)(峰峰值)用六位數(shù)碼管顯示頻率頻率誤差<1%方波頻率范圍:0.01HZ—100KHZ頻率誤差:<0.1%電壓范圍:0~10V(3)三角波頻率范圍:0.01HZ~10KHZ頻率誤差:<0.1%電壓范圍:0~20V(峰峰值)失真率:r≤3%目錄緒論………………….1信號發(fā)生器方案設(shè)計與選擇……….3主要電路原件介紹…………………6單元電路硬件設(shè)計……………..15系統(tǒng)軟件設(shè)計…………………..20軟件程序………..26結(jié)論……………..34致謝……………..35九參考文獻……36IV第1章緒論1.1選題背景及其意義波形發(fā)生器也稱函數(shù)信號發(fā)生器,作為實驗信號源,是現(xiàn)今各種電子電路實驗設(shè)計應(yīng)用中必不可少的儀器設(shè)備之一。目前,市場上常見的波形發(fā)生器多為純硬件的搭接而成,且波形種類有限,多為鋸齒波,正弦波,方波,三角波等波形。信號發(fā)生器作為一種常見的應(yīng)用電子儀器設(shè)備,傳統(tǒng)的可以完全由硬件電路搭接而成,不用依靠單片機。但是這種電路存在波形質(zhì)量差,控制難,可調(diào)范圍小,電路復(fù)雜和體積大等缺點。在科學(xué)研究和生產(chǎn)實踐中,如工業(yè)過程控制,生物醫(yī)學(xué),地震模擬機械振動等領(lǐng)域常常要用到低頻信號源。而由硬件電路構(gòu)成的低頻信號其性能難以令人滿意,而且由于低頻信號源所需的RC很大;大電阻,大電容在制作上有困難,參數(shù)的精度亦難以保證;體積大,漏電,損耗顯著更是致命的弱點。一旦工作需求功能有增加,則電路復(fù)雜程度會大大增加。因此需要選擇其它的方法來解決此類問題,我們想到了通過單片機來實現(xiàn)所要求的功能,即采用單片機AT89C51還有數(shù)模轉(zhuǎn)換DAC0832、運算放大器,此種方法硬件要求簡單,編程容易,同時能夠?qū)崿F(xiàn)所要求的功能。1.2單片機概述單片微型計算機簡稱單片機[3],是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的縮寫MCU表示單片機,單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機,和計算機相比,單片機只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。由于單片機在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成復(fù)雜的而對體積要求嚴格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計出的處理器,當(dāng)時的單片機都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上發(fā)展出了MCS51系列單片機系統(tǒng)。因為簡單可靠而性能不錯獲得了很大的好評。盡管2000年以后ARM已經(jīng)發(fā)展出了32位的主頻超過300M的高端單片機,直到目前基于8031的單片機還在廣泛的使用。在很多方面單片機比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了廣泛的應(yīng)用。事實上單片機是世界上數(shù)量最多處理器,隨著單片機家族的發(fā)展壯大,單片機和專用處理器的發(fā)展便分道揚鑣?,F(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機。汽車上一般配備40多部單片機,復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作!單片機的數(shù)量不僅遠超過PC機和其他計算的總和,甚至比人類的數(shù)量還要多。1.3信號發(fā)生器概述信號發(fā)生器可以構(gòu)成獨立的信號源[1],也可以是高性能網(wǎng)絡(luò)分析儀、頻譜分析儀以及自動檢測設(shè)備的組成部分。信號發(fā)生器的關(guān)鍵技術(shù)是多種高性能儀器的支撐技術(shù),因為它能夠提供高質(zhì)量的精密信號源及掃頻源,可使相應(yīng)的系統(tǒng)檢測過程大大簡化,降低檢測費用并且極大的提高了檢測精度。信號發(fā)生器的總體趨勢將向著高頻率覆蓋、高頻率精度、多功能、多用途、自動化和智能化方向發(fā)展。目前,市場上的信號發(fā)生器多種多樣,一般按照頻帶分為以下幾種:(1)超高頻:頻率范圍為1MHZ以上,可達幾十兆赫茲。(2)高頻:幾百KHZ到幾百MHZ。(3)低頻:頻率范圍為幾十HZ到幾百KHZ。(4)超低頻:頻率范圍為零點幾赫茲到幾百赫茲。超高頻信號發(fā)生器產(chǎn)生波形一般用LC振蕩電路。高頻、低頻和超低頻信號發(fā)生器,大多使用文氏橋振蕩電路,及RC振蕩電路,通過改變電阻和電容值來改變頻率。用以上原理設(shè)計的信號發(fā)生器,其輸出波一般只有兩種,即正弦波和脈沖波,其零點不可調(diào),而且價格比較貴,一般在幾百元左右。在實際應(yīng)用中,超低頻和高頻波一般是不用的。采用單片機AT89C51,加上一片DAC0832就可以做成一個簡單的信號發(fā)生器,加上按鍵電路、顯示電路及放大電路,就可以實現(xiàn)頻率幅值可調(diào)。這樣的信號發(fā)生器體積小,價格便宜,耗電少,頻率適中,便于攜帶。1.4研究題目及其意義信號發(fā)生器是一種經(jīng)常使用的設(shè)備[2],由純粹物理器件構(gòu)成的,傳統(tǒng)的設(shè)計方法存在許多弊端,如:體積較大、重量較沉、移動不方便、信號失真較大、波形形狀調(diào)節(jié)過于死板,無法滿足用戶對精度、便攜性、穩(wěn)定性等要求,研究設(shè)計出一種具有頻率穩(wěn)定、準(zhǔn)確、波形質(zhì)量好、輸出頻率范圍寬、便攜性好等特點的波形發(fā)生器具有較好的市場前景。以滿足工業(yè)領(lǐng)域?qū)π盘栐吹囊?。本次試驗實現(xiàn)利用單片機AT89C51和8位D/A轉(zhuǎn)換芯片DAC0832共同實現(xiàn)方波、鋸齒波、三角波、正弦波這四種常用波形的發(fā)生。根據(jù)設(shè)計的要求,對各種波形的頻率和幅度進行程序的編寫,并將所寫程序裝入單片機的程序存儲器中。在程序運行中,當(dāng)接收到來自外界的命令,需要輸出某種波形時再調(diào)用相應(yīng)的中斷服務(wù)子程序和波形發(fā)生程序,經(jīng)電路的數(shù)/模轉(zhuǎn)換器和運算放大器處理后,從信號發(fā)生器的輸出端口輸出。并且可以通過數(shù)碼管和鍵盤顯示模塊,鍵盤可以實現(xiàn)對幾種波形的切換。1.5本論文主要研究的內(nèi)容本設(shè)計采用89C51及其外圍擴展系統(tǒng),軟件方面主要是應(yīng)用C語言設(shè)計程序。系統(tǒng)以89C51單片機為核心,配置相應(yīng)的外設(shè)及接口電路,用C語言開發(fā),組成一個多功能信號發(fā)生系統(tǒng)。同時,本系統(tǒng)中任何一部分電路模塊均可移植于實用開發(fā)系統(tǒng)的設(shè)計中,電路設(shè)計具有實用性。本設(shè)計將完成以下幾個方面的工作:選芯片,盡量滿足一般工業(yè)控制要求、以增強其實用性。原理圖設(shè)計在保證正確的前提下,盡量采用典型的電路設(shè)計。固化于單片機芯片中的軟件采用模塊設(shè)計,層次清楚,具有上電復(fù)位及初始化功能,具有很好的軟件開發(fā)框架。掌握單片機仿真軟件Proteus7.0的使用。為此,論文包括以下內(nèi)容:一緒論。主要介紹單片機發(fā)展概況和信號發(fā)生器的概述,為以后幾章的介紹奠定基礎(chǔ)。系統(tǒng)總體方案設(shè)計。本章主要考慮系統(tǒng)性能和功能。包括兩個主要內(nèi)容:總體方案設(shè)計與設(shè)計的功能。其中總體設(shè)計方案包括考慮到多個符合條件的方案設(shè)計,并且對這幾個方案進行比較,包括性能,價格,實用性等,最終確定下最優(yōu)的設(shè)計方案。系統(tǒng)設(shè)計功能包括設(shè)計所完成的基本功能。系統(tǒng)各元器件的介紹。本章對電路中所使用的器件功能進行了詳細的介紹。系統(tǒng)硬件設(shè)計。本章對各功能模塊進行了大體的介紹,更好的理解所設(shè)計的電路圖,理解各功能模塊實現(xiàn)的功能。系統(tǒng)軟件設(shè)計。對軟件設(shè)計部分作了詳細的介紹,各程序模塊的實現(xiàn)作了介紹。結(jié)論。對設(shè)計進行自我的總結(jié)。第2章信號發(fā)生器方案設(shè)計與選擇信號發(fā)生器是指產(chǎn)生所需參數(shù)的電測試信號的儀器。按信號波形可分為正弦信號、波形信號、脈沖信號和隨機信號發(fā)生器等四大類。本文利用單片機構(gòu)造低頻信號發(fā)生器,可產(chǎn)生正弦波,方波,三角波,鋸齒波四種波形,再通過D/A轉(zhuǎn)換器DAC0832把數(shù)字信號轉(zhuǎn)變?yōu)槟M信號,經(jīng)LM358放大輸出到示波器,與此同時外接8位LED顯示輸出信號的類型和頻率。2.1方案設(shè)計與選擇信號發(fā)生器的設(shè)計方案可用多種方案來實現(xiàn)。在設(shè)計前對各種方案進行比較得到最優(yōu)的涉及方案:采用軟硬件結(jié)合法,此波形發(fā)生器設(shè)計方法同時兼具軟硬件設(shè)計的優(yōu)勢:既具有純硬件設(shè)計的快速、高性能,同時又具有軟件控制的靈活性、智能性。輔以鍵盤控制、LED顯示等電路,設(shè)計出智能型函數(shù)波形發(fā)生器,采用軟硬件結(jié)合的方法可以實現(xiàn)功能較全、性能更優(yōu)的波形發(fā)生器,同時還可以擴展波形發(fā)生器的功能,比如利用單片機AT89C51和8位D/A轉(zhuǎn)換芯片DAC0832共同實現(xiàn)正弦波、方波、三角波和鋸齒波這四種常見波形的發(fā)生,并且可以接受外部按鍵來切換波形,調(diào)節(jié)頻率和幅值。此方案利用單片機構(gòu)成的應(yīng)用系統(tǒng)有較高的可靠性,系統(tǒng)的擴展和系統(tǒng)的配置靈活方便。容易構(gòu)成各種規(guī)模的應(yīng)用系統(tǒng),且應(yīng)用系統(tǒng)有較高的軟硬件利用參數(shù)。單片機具有可編程性,硬件的功能描述可完全在軟件上實現(xiàn),而且設(shè)計時間短,成本低,可靠性高。因此選本方案作為設(shè)計的方案。2.2設(shè)計原理簡介該信號發(fā)生器原理框圖如圖2-1,總體原理為:利用AT89C51單片機構(gòu)造低頻信號發(fā)生器,可產(chǎn)生正弦波,方波,三角波,鋸齒波四種波形,通過C語言對單片機的編程即可產(chǎn)生相應(yīng)的波形信號,并可以通過鍵盤進行各種功能的轉(zhuǎn)換和信號頻率的控制,當(dāng)輸出的數(shù)字信號通過數(shù)模轉(zhuǎn)換成模擬信號也就得到所需要的信號波形,通過運算放大器的放大輸出波形,同時讓顯示器顯示輸出的波形信息。AT89C51單片機DAC0832復(fù)位鍵鍵盤數(shù)碼管顯示圖2-1信號發(fā)生器原理框圖本方案其主要模塊包括復(fù)位電路、時鐘信號、鍵盤控制、D/A轉(zhuǎn)化及LED顯示。其各個模塊的工作原理如下:鍵盤模塊是用于控制信號輸入的類型頻率,當(dāng)按鍵按下時,可以通過單片機編程讀取閉合的鍵號,實現(xiàn)相應(yīng)的信號輸出。其步驟主要是a、判斷是否有鍵按下;b、去抖動,延時100ms左右;c、識別被按下的鍵號;d、處理,實現(xiàn)功能。復(fù)位電路是為單片機復(fù)位使用,使單片機接口初始化;89C51等CMOS51系列單片機的復(fù)位引腳RET是施密特觸發(fā)輸入腳,內(nèi)部有一個上拉低電阻,當(dāng)振蕩器起振以后,在RST引腳上輸出2個機械周期以上的高電平,器件便進入復(fù)位狀態(tài)開始,此時ALE、PSEN、P0、P1、P2、P4輸出高電平,RST上輸入返回低電平以后,便退出復(fù)位狀態(tài)開始工作。該方案采用的是人工開關(guān)復(fù)位,在系統(tǒng)運行時,按一下開關(guān),就在RST端出現(xiàn)一段高電平,使器件復(fù)位。D/A轉(zhuǎn)換也稱為數(shù)模轉(zhuǎn)換,是把數(shù)字量變換成模擬量的線性電路。單片機產(chǎn)生的數(shù)字信號通過DAC0832轉(zhuǎn)化成模擬信號,輸出相應(yīng)的電流值,通過LM358集成運算放大器可以取出模擬量的電壓值,最后利用示波器獲得輸出的模擬信號的波形;衡量數(shù)模轉(zhuǎn)換的性能指標(biāo)有分辨率、轉(zhuǎn)換時間、精度、線性度等。時鐘信號是產(chǎn)生單片機工作的時鐘信號,控制著計算機的工作節(jié)奏,可以通過提高時鐘頻率來提高CPU的速度。89C51內(nèi)部有一個可控的反相放大器,引腳XTAL1、XTAL2為反相放大器輸入端和輸出端,在XTAL1、XTAL2上外接12MHZ晶振和30pF電容便組成振蕩器。時鐘信號常用于CPU定時和計數(shù)。LED顯示器用由若干個發(fā)光二極管按一定的規(guī)律排列而成,是一種能夠?qū)㈦娔苻D(zhuǎn)化為可見光的固態(tài)的半導(dǎo)體器件,它可以直接把電轉(zhuǎn)化為光用于與顯示相關(guān)輸出波形的信息,包括信號的類型和頻率。2.3設(shè)計功能(1)按鍵GW、SW、BW、QW、WW分別控制信號頻率的個位、十位、百位、千位、萬位按鍵BX控制波形的轉(zhuǎn)換選擇按鍵ZKBZ、ZKBJ分別控制方波占空比的加減按鍵FW控制電路的復(fù)位滑動變阻器控制輸出電壓大小,控制波形的幅度本方案輸出利用8位LED顯示器,該顯示器為共陰極,輸入段選碼低電平有效,用于顯示輸出信號的類型和頻率,如1KHz正弦波,顯示為1.01000。根據(jù)設(shè)計要求,我們在系統(tǒng)啟動時,還要在LED中顯示“年級-專業(yè).學(xué)號”2秒鐘,即顯示“08-212.05”。利用DAC0832數(shù)模轉(zhuǎn)換芯片實現(xiàn)信號的轉(zhuǎn)換,并通過集成運算放大器將信號放大,輸出信號能夠在Proteus軟件中的示波器中顯示。信號頻率范圍要求:1—1KHz。輸出信號幅度:0~5V。第3章主要電路元器件介紹3.1AT89C51單片機介紹3.1.1單片機簡介AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低電壓、高性能CMOS8位微處理器,俗稱單片機[5]。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。AT89C51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。其外形及引腳排列如圖3-1所示。圖3-1AT89C51引腳圖3.1.2單片機內(nèi)部結(jié)構(gòu)概述典型的MCS-51單片機芯片集成了以下幾個基本組成部分。一個8位的CPU128B或256B單元內(nèi)數(shù)據(jù)存儲器(RAM)4KB或8KB片內(nèi)程序存儲器(ROM或EPROM)4個8位并行I/O接口P0~P3。兩個定時/計數(shù)器。5個中斷源的中斷管理控制系統(tǒng)。一個全雙工串行I/O口UART(通用異步接收、發(fā)送器)一個片內(nèi)振蕩器和時鐘產(chǎn)生電路。3.1.3管腳功能說明VCC:電源,接+5VGND:接地P0口:是一個8位漏極開路輸出型雙向I/O端口。作為輸出端口時,每位能以吸收電流的方式驅(qū)動8個TTL輸入,對端口寫1時,又可作高阻抗輸入端用。在訪問外部程序或數(shù)據(jù)存儲器時,它是時分多路轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,在訪問期間將激活內(nèi)部的上拉電阻。P1口:P1口是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1口的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個TTL輸入。對端口寫1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可作輸入口。P2口作輸入口使用時,因為內(nèi)部有上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。P2口:P2口是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2口的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個TTL輸入。對端口寫1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可作輸入口。P2口作輸入口使用時,因為內(nèi)部有上拉電阻,那些被外部信號拉低的引腳會輸出一個電流。在訪問外部程序存儲器時和16位外部地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@DPTR)時,P2口送出高8位地址。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI)時,P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中的P2寄存器的內(nèi)容),在整個訪問期間不會改變。P3口:P3口是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。P3口的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個TTL輸入。對端口寫1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可作輸入口。P3口作輸入口使用時,因為內(nèi)部有上拉電阻,那些被外部信號拉低的引腳會輸出一個電流RST:復(fù)位輸入。晶振工作時,RST腳將持續(xù)2個機器周期高電平將使單片機復(fù)位??撮T狗計時完成后,RST腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可以用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時有效。否則,ALE將被微弱拉高。這個ALE使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當(dāng)AT89C51從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。EA/VPP:訪問外部程序存儲器控制信號。EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。3.2DAC0832簡介3.2.1DAC0832的介紹DAC0832是采樣頻率為八位的D/A轉(zhuǎn)換芯片[6],集成電路內(nèi)有兩級輸入寄存器,使DAC0832芯片具備雙緩沖、單緩沖和直通三種輸入方式,以便適于各種電路的需要(如要求多路D/A異步輸入、同步轉(zhuǎn)換等)。所以這個芯片的應(yīng)用很廣泛,D/A轉(zhuǎn)換器由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。D/A轉(zhuǎn)換結(jié)果采用電流形式輸出。若需要相應(yīng)的模擬電壓信號,可通過一個高輸入阻抗的線性運算放大器實現(xiàn)。運放的反饋電阻可通過RFB端引用片內(nèi)固有電阻,也可外接。DAC0832邏輯輸入滿足TTL電平,可直接與TTL電路或微機電路連接。3.2.2DAC0832的管腳功能D0~D7:8位數(shù)據(jù)輸入線,TTL電平,有效時間應(yīng)大于90ns(否則鎖存器的數(shù)據(jù)會出錯);ILE:數(shù)據(jù)鎖存允許控制信號輸入線,高電平有效;CS:片選信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效;WR1:數(shù)據(jù)鎖存器寫選通輸入線,負脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負跳變時將輸入數(shù)據(jù)鎖存;XFER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應(yīng)大于500ns)有效;WR2:DAC寄存器選通輸入線,負脈沖(脈寬應(yīng)大于500ns)有效。由WR1、XFER的邏輯組合產(chǎn)生LE2,當(dāng)LE2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負跳變時將數(shù)據(jù)鎖存器的內(nèi)容打入DAC寄存器并開始D/A轉(zhuǎn)換。IOUT1:電流輸出端1,其值隨DAC寄存器的內(nèi)容線性變化;IOUT2:電流輸出端2,其值與IOUT1值之和為一常數(shù);Rfb:反饋信號輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度;Vcc:電源輸入端,Vcc的范圍為+5V~+15V;VREF:基準(zhǔn)電壓輸入線,VREF的范圍為-10V~+10V;AGND:模擬信號地DGND:數(shù)字信號地3.2.3DAC0832內(nèi)部結(jié)構(gòu)及功能DAC0832中有兩級鎖存器,第一級鎖存器稱為輸入寄存器[8],它的鎖存信號為ILE;第二級鎖存器稱為DAC寄存器,它的鎖存信號為傳輸控制信號XFER。因為有兩級鎖存器,DAC0832可以工作在雙緩沖器方式,即在輸出模擬信號的同時采集下一個數(shù)字量,這樣能有效地提高轉(zhuǎn)換速度。此外,兩級鎖存器還可以在多個D/A轉(zhuǎn)換器同時工作時,利用第二級鎖存信號來實現(xiàn)多個轉(zhuǎn)換器同步輸出。DAC0832邏輯框圖和引腳排列如圖3-2所示圖3-2DAC0832邏輯框圖和引腳排列圖3.2.1中LE為高電平、CS和1WR為低電平時,1LE為高電平,輸入寄存器的輸出跟隨輸入而變化;此后,當(dāng)1WR由低變高時,1LE為低電平,資料被鎖存到輸入寄存器中,這時的輸入寄存器的輸出端不再跟隨輸入資料的變化而變化。對第二級鎖存器來說,XFER和2WR同時為低電平時,2LE為高電平,DAC寄存器的輸出跟隨其輸入而變化;此后,當(dāng)2WR由低變高時,2LE變?yōu)榈碗娖?,將輸入寄存器的資料鎖存到DAC寄存器中。3.3數(shù)碼顯示管3.3.1數(shù)碼管原理及分類LED發(fā)光器件一般常用的有兩類:數(shù)碼管和點陣。常用的數(shù)碼管一般為8字型數(shù)碼管,分為A、B、C、D、E、F、G、DP八段,其中DP為小數(shù)點。數(shù)碼管常用的有10根管腳,每一段有一個管腳,另外兩根管腳為一個數(shù)碼管的公共端。從尺寸上分,LED數(shù)碼管的種類很多,常用的有0.3、0.5、0.8、1.0、1.2、1.5、1.8、2.3、3.0、4.0、5.0等。一般小于1.0的為單管芯,1.2~1.5為雙管芯,1.8以上的為3個以上管芯,因而它們的供電電壓要求不同,一般每個管芯的壓降為2.1V左右。通常,0.8以下采用5V供電,1.0~2.3采用12V供電,3.0以上的選擇更高電壓供電。從電路上分,數(shù)碼管又可分為共陰極和共陽極兩種。結(jié)構(gòu)分別如圖3-3,3-4所示。圖3-3圖3-3共陰極圖圖3-4共陽極圖圖3-5管腳圖其中:圖3-5為管腳圖,從a—g管腳輸入不同的字段碼,可顯示不同的數(shù)字或字符(其字形碼見表3-1)??梢姽碴帢O和共陽極的字段碼互為反碼。表3-1字段碼表顯示字符顯示字符共陰極字碼段共陽極字碼段顯示字符共陰極字碼段共陽極字碼段03FHC0HC39HC6H106HF9HDEH5A1H25BHA4HEH7986H34FHB0HFH718EH466HH99PH738CH56DH92HU3EHC1H67DHH82TH31CEH707HF8HY6EHH9187FHH80L38HC7H9FH6H908FFHH00AH7788H“滅”00FFHB7CH83H??????3.3.2數(shù)碼管的工作方式顯示器的工作方式分為靜態(tài)顯示方式和動態(tài)顯示方式兩種。靜態(tài)顯示方式就是顯示器在顯示一個字符時,相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止,例如a、b、c、d、e、f導(dǎo)通,g截止時顯示“0”,這種使顯示器顯示字符的字形數(shù)據(jù)常稱為段數(shù)據(jù)。靜態(tài)顯示方式的每一個七段顯示器,需要由一個8位并行口控制。優(yōu)點是顯示穩(wěn)定,提高了工作效率,缺點是位數(shù)較多時顯示口隨之增加。動態(tài)顯示方式是一位一位的輪流點亮各位顯示器,對于每一位顯示器來說,每隔一段時間點亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點亮?xí)r間和間隔時間的比例有關(guān)。調(diào)整電流和時間參數(shù)可以實現(xiàn)亮度較高較穩(wěn)定的顯示,如顯示器的位數(shù)不大于8位,則控制顯示器公共極的電位只需要一個8位口(位數(shù)據(jù)口),控制字形也需要一個8位口(段數(shù)據(jù)口)。1.LED靜態(tài)顯示所謂靜態(tài)顯示方式,就是當(dāng)顯示器顯示某一個字符時,相應(yīng)的發(fā)光二極管恒定地導(dǎo)通或截止。靜態(tài)顯示時,較小的電流能得到較高的亮度。這是由于顯示器的各位相互獨立,而且各位的顯示字符一經(jīng)確定,相應(yīng)鎖存器的輸出將維持不變,直到顯示另一個字符為止(如圖3-6所示)。當(dāng)顯示器位數(shù)很少(僅一、二位)時,采用靜態(tài)顯示方式是合適的。當(dāng)位數(shù)較多時,用靜態(tài)顯示所需的I/O口太多,占用太多的硬件資源。故在位數(shù)較多時往往采用動態(tài)顯示方式。LED靜態(tài)顯示時,其公共端直接接地(共陰極)或接電源(共陽極),各段選線分別與I/O口線相連。要顯示字符,直接在I/O線上輸出相應(yīng)的字段碼。aabcdefgdpI/O(1)abcdefgdpI/O(2)圖圖3-6LED靜態(tài)顯示2.LED動態(tài)顯示方式LED動態(tài)顯示是將所有的數(shù)碼管的段選線并接在一起,用一個I/O口控制,公共端不是直接接地(共陰極)或電源(共陽極),而是通過相應(yīng)的I/O口線控制。如圖3-7所示。D3D3D2D1D0I/O(1)I/O(2)圖3-7LED動態(tài)掃描設(shè)數(shù)碼管為共陽極,它的工作過程為:第一步使右邊第一個數(shù)碼管的公共端D0為1,其余的數(shù)碼管的公共端為0。同時在I/O(1)上送右邊第一個數(shù)碼管的字段碼,這時,只有右邊第一個數(shù)碼管顯示,其余不顯示;第二步使右邊第二個數(shù)碼管的公共端D1為1,其余的數(shù)碼管的公共端為0,同時在I/O(1)上送右邊第二個數(shù)碼管的字段碼。這時,只有右邊第二個數(shù)碼管顯示,其余不顯示,依此類推,直到最后一個,這樣四個數(shù)碼管輪流顯示相應(yīng)的信息,一個循環(huán)完后,下一循環(huán)又這樣輪流顯示,從計算機的角度看是一個一個的顯示,但由于人的視覺滯留,只要循環(huán)的周期足夠快,看起來所有的數(shù)碼管都是一起顯示的了。這就是動態(tài)顯示的原理。而這個循環(huán)周期對于計算機來說很容易實現(xiàn)。所以在單片機中經(jīng)常用到動態(tài)顯示。四、LED顯示器與單片機的接口LED顯示器從譯碼方式上有硬件譯碼方式和軟件譯碼方式;從顯示方式上有靜態(tài)顯示方式和動態(tài)顯示方式,在使用時可以把它們組合起來。在實際應(yīng)用時,如果數(shù)碼管個數(shù)較少,通常用硬件譯碼靜態(tài)顯示,在數(shù)碼管個數(shù)較多時,則通常用軟件譯碼動態(tài)顯示。3.4LM358簡介3.4.1LM358的介紹LM358是常用的雙運放,這里我們介紹一下它的一些資料。簡介:LM358里面包括有兩個高增益、獨立的、內(nèi)部頻率補償?shù)碾p運放,適用于電壓范圍很寬的單電源,而且也適用于雙電源工作方式,它的應(yīng)用范圍包括傳感放大器、直流增益模塊和其他所有可用單電源供電的使用運放的地方使用。LM358內(nèi)部包括有兩個獨立的、高增益、內(nèi)部頻率補償?shù)碾p運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關(guān)。它的使用范圍包括傳感放大器、直流增益模組,音頻放大器、工業(yè)控制、DC增益部件和其他所有可用單電源供電的使用運算放大器的場合。LM358的封裝形式有塑封8引線雙列直插式和貼片式。內(nèi)部結(jié)構(gòu)圖如圖3-8所示。圖3-8LM358引腳結(jié)構(gòu)圖3.4.2LM358的特點.內(nèi)部頻率補償.低輸入偏流.低輸入失調(diào)電壓和失調(diào)電流.共模輸入電壓范圍寬,包括接地.差模輸入電壓范圍寬,等于電源電壓范圍.直流電壓增益高(約100dB).單位增益頻帶寬(約1MHz).電源電壓范圍寬:單電源(3—30V);.雙電源(±1.5—±15V).低功耗電流,適合于電池供電.輸出電壓擺幅大(0至Vcc-1.5V)第4章單元電路的硬件設(shè)計4.1總體硬件設(shè)計單片機應(yīng)用系統(tǒng)的硬件電路設(shè)計包含兩部分內(nèi)容:一是系統(tǒng)擴展,即單片機內(nèi)部的功能單元(如ROM、I/O、定時/計數(shù)器等)容量不能滿足應(yīng)用系統(tǒng)的要求時,必須在片外進行擴展,選擇適當(dāng)?shù)男酒?,設(shè)計適當(dāng)?shù)碾娐?。二是系統(tǒng)配置,即按照功能要求配置外圍設(shè)備如顯示器、D/A轉(zhuǎn)換等,要設(shè)計合適的電路。系統(tǒng)的擴展和模塊設(shè)計應(yīng)遵循下列原則:(1)盡可能選擇標(biāo)準(zhǔn)化、模塊化的典型電路,提高設(shè)計的成功率和結(jié)構(gòu)的靈活性。(2)系統(tǒng)的擴展與外圍設(shè)備配置的水平應(yīng)充分滿足應(yīng)用系統(tǒng)的功能要求。(3)硬件結(jié)構(gòu)應(yīng)結(jié)合應(yīng)用軟件方案一并考慮。硬件結(jié)果與軟件方案會產(chǎn)生相互影響,考慮的原則是:軟件能實現(xiàn)的功能盡可能由軟件來實現(xiàn),以簡化硬件結(jié)構(gòu)。但必須注意,由軟件實現(xiàn)的硬件功能,其響應(yīng)時間要比直接用硬件響應(yīng)來的長,而且占用CPU時間。所以,選擇軟件方案時,要考慮到這些因素[12]。(4)可靠性及抗干擾性設(shè)計是硬件系統(tǒng)設(shè)計不可缺少的部分,它包括芯片、器件選擇,去耦濾波等。(5)單片機外接電路較多時,必須考慮其驅(qū)動能力。驅(qū)動能力不足時,系統(tǒng)工作不可靠,解決的辦法是增加驅(qū)動能力,增設(shè)線驅(qū)動器或減少芯片功耗,降低總線負載。(6)系統(tǒng)的擴展及各功能模塊的設(shè)計在滿足系統(tǒng)功能要求的基礎(chǔ)上,應(yīng)適當(dāng)留有余地,以備將來修改、擴展之需。(7)在考慮硬件總體結(jié)構(gòu)的同時要注意通用性的問題。根據(jù)以上原則,進行硬件設(shè)計。系統(tǒng)采用較為普及的89C51單片機作為系統(tǒng)的核心。它不但容易實現(xiàn)設(shè)計指標(biāo),而且還有較好的性價比。(1)程序存貯器89C51內(nèi)部自帶8K的ROM,512B的RAM,所以不需要對其擴展存儲器。(2)鍵盤接口矩陣式鍵盤適用于按鍵數(shù)量較多的場合,系統(tǒng)采用了行列式鍵盤設(shè)計即矩陣鍵盤,用I/O線組成行、列結(jié)構(gòu),按鍵設(shè)置在行列的交點上,2×4的行列結(jié)構(gòu)可構(gòu)成8個鍵的鍵盤。因此,在按鍵數(shù)量較多時,可以節(jié)省I/O線。按鍵的識別方法有兩種,一種為掃描法,另一種為線反轉(zhuǎn)法。此設(shè)計采用了行列式及與之相適應(yīng)的行列掃描法。(3)數(shù)碼管驅(qū)動本設(shè)計實現(xiàn)了89C51的I/O口對2×4鍵盤和8位數(shù)碼管顯示的控制。(4)D/A轉(zhuǎn)換本設(shè)計D/A轉(zhuǎn)換部分采用DAC0832芯片.(5)信號變換部分對信號的變換部分采用四運放集成芯片LM358,它采用8腳雙列直插塑料封裝,它的內(nèi)部包含兩組形式完全相同的運算放大器。(6)可靠性方面在使用應(yīng)用系統(tǒng)時,可能會受到多種干擾的侵襲,直接影響到系統(tǒng)的可靠性,因此,本系統(tǒng)適當(dāng)加入去耦電容,以減少干擾,確保精度。4.2單片機引腳分配XTAL1、XTAL2:外接電路,產(chǎn)生時鐘信號;RST:外接復(fù)位電路;P0:外接數(shù)模轉(zhuǎn)換與放大電路,波形信號輸出;P1:外接矩陣鍵盤;P2:LED顯示器段選碼;P3:LED顯示器位選碼;信號幅度調(diào)節(jié)由DAC0832的VREF接口控制。4.2單片機外圍電路介紹4.3.1時鐘電路AT89C51中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶休或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖4-1。外接石英晶體(或陶瓷振器)及電容C1,C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對外接電容C1,C2雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,這里選擇使用石英晶休,我們的電容使用30pF。如使用陶瓷諧振器的話,應(yīng)選擇40pF士10pF的容值的電容。也可以采用外部時鐘。采用外部時鐘的電路的情況時,外部時鐘脈沖接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2則懸空。圖4-1圖4-1時鐘振蕩電路4.3.2復(fù)位電路當(dāng)MCS-5l系列單片機的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。上電或開關(guān)復(fù)位要求電源接通后,單片機自動復(fù)位,并且在單片機運行期間,用開關(guān)操作也能使單片機復(fù)位。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時間的高電平。當(dāng)單片機已在運行當(dāng)中時,按下復(fù)位鍵K后松開,也能使RST為一段時間的高電平,從而實現(xiàn)上電或開關(guān)復(fù)位的操作。單片機的復(fù)位操作使單片機進入初始化狀態(tài),其中包括使程序計數(shù)器PC=0000H,這表明程序從0000H地址單元開始執(zhí)行。單片機冷啟動后,片內(nèi)RAM為隨機值,運行中的復(fù)位操作不改變片內(nèi)RAM區(qū)中的內(nèi)容,21個特殊功能寄存器復(fù)位后的狀態(tài)為確定值,復(fù)位是任何微機系統(tǒng)執(zhí)行的第一步,使整個控制芯片回到默認的硬件狀態(tài)下。51單片機的復(fù)位是由RESET引腳來控制的,此引腳與高電平相接超過24個振蕩周期后,51單片機即進入芯片內(nèi)部復(fù)位狀態(tài),而且一直在此狀態(tài)下等待,直到RESET引腳轉(zhuǎn)為低電平后,才檢查EA引腳是高電平或低電平,若為高電平則執(zhí)行芯片內(nèi)部的程序代碼,若為低電平便會執(zhí)行外部程序。51單片機在系統(tǒng)復(fù)位時,將其內(nèi)部的一些重要寄存器設(shè)置為特定的值,至于內(nèi)部RAM內(nèi)部的數(shù)據(jù)則不變。圖4-2復(fù)位電路4.3.3鍵盤接口電路本系統(tǒng)鍵盤結(jié)構(gòu)如圖4-3示。圖4-3圖4-3系統(tǒng)鍵盤實現(xiàn)工作原理如下:1.檢測鍵盤上是否有鍵按下:將行線送入低電平,列線送入高電平。讀入P1口的狀態(tài)來判別。其具體過程如下:P1口輸出0FH,即所有行線置成高電平,所有列線置成低電平,然后將P1口狀態(tài)讀入與0FH比較。如果有鍵按下,總會有一根行線電平被拉至低電平,從而使行輸入狀態(tài)不全為1。2.識別鍵盤中哪一個鍵按下:確認有鍵按下后,保存行掃描時有鍵按下時的狀態(tài)X。P1口輸出F0H,進行列掃描,保存列掃描狀態(tài)Y,取出鍵值Z=X|Y.例如第一行第一列有鍵按下,那么行掃描讀入的狀態(tài)為00001110,列掃描讀入的狀態(tài)為11100000,最后鍵值Z=11101110=EEH,然后轉(zhuǎn)去執(zhí)行相應(yīng)的服務(wù)程序。4.3.4數(shù)模轉(zhuǎn)換電路由于單片機產(chǎn)生的是數(shù)字信號,要想得到所需要的波形,就要把數(shù)字信號轉(zhuǎn)換成模擬信號,所以該文選用價格低廉、接口簡單、轉(zhuǎn)換控制容易并具有8位分辨率的數(shù)模轉(zhuǎn)換器DAC0832。連接電路如圖4-4所示。DAC0832主要由8位輸入寄存器、8位DAC寄存器、8位D/A轉(zhuǎn)換器以及輸入控制電路四部分組成。但實際上,DAC0832輸出的電量也不是真正能連續(xù)可調(diào),而是以其絕對分辨率為單位增減,是準(zhǔn)模擬量的輸出。DAC0832是電流型輸出,在應(yīng)用時外接運放LM358使之成為電壓型輸出。根據(jù)對DAC0832的數(shù)據(jù)鎖存器和DAC寄存器的不同的控制方式,DAC0832有三種工作方式:直通方式、單緩沖方式和雙緩沖方式。本設(shè)計選用直通方式。DAC0832的數(shù)據(jù)口和單片機的P0口相連。CSDA:片選信號輸入線(選通數(shù)據(jù)鎖存器),低電平有效;WR:數(shù)據(jù)鎖存器寫選通輸入線,負脈沖(脈寬應(yīng)大于500ns)有效。由ILE、CS、WR1的邏輯組合產(chǎn)生LE1,當(dāng)LE1為高電平時,數(shù)據(jù)鎖存器狀態(tài)隨輸入數(shù)據(jù)線變換,LE1的負跳變時將輸入數(shù)據(jù)鎖存;圖4-4數(shù)模轉(zhuǎn)換放大電路4.3.5幅度控制電路如圖4-5所示,在DAC0832的VREF端接入一個變阻器,這樣就可以對輸出波形幅度連續(xù)可調(diào)。其幅度調(diào)節(jié)原理為:由D/A的模擬輸出公式。當(dāng)與B為常量時,改變Vr的大小可以相應(yīng)改變,即改變波形的幅值。由電路圖4.3.8可以看出是由外部電源提供一個+5V的電壓,這里通過串聯(lián)一個滑動變阻器R1。通過改變滑動變阻器R1的大小改變Vr當(dāng)Vr線性變化時也就實現(xiàn)了波形幅值的連續(xù)可調(diào)。4.3.6LED顯示電路如圖4-6所示在LED顯示屏上顯示出所調(diào)的頻率、波形代碼。圖4-5幅度控制電路圖4-5幅度控制電路120mA,如用靜態(tài)顯示,8個LED就耗電流960mA,那么變壓器就得選32V/32W,價格提高近一倍,穩(wěn)壓塊得選7805C(Im=1A),這種管是橢圓殼,在印刷線路板上也得占相當(dāng)大的面積。綜上分析,采用動態(tài)顯示才是最經(jīng)濟的方案。在顯示的時候,只要把顯示的字碼輸送到P2口,再經(jīng)過74LS373進行數(shù)據(jù)鎖存,P3口作為位選控制信號。由于采用的是共陰極數(shù)碼管,當(dāng)需要顯示哪一位的時候,只要在相應(yīng)的位選控制信號輸出低電平就行。例如,要在第一個數(shù)碼管顯示P,那么在P2口就要輸出73H字段碼,同時P3口輸出FEH位選碼。圖4-6LED顯示電路第5章系統(tǒng)軟件設(shè)計5.1程序流程圖首先對程序初始化,靜態(tài)顯示08-212.05兩秒,然后判斷是否有鍵值按下,若有鍵值按下則計算相關(guān)參數(shù),一方面利用中斷定時和查詢查表輸出波形,另一方面送段選口和位選口數(shù)據(jù)使LED顯示相關(guān)波形類型和頻率,最后反饋回去構(gòu)成循環(huán),判斷按鍵相關(guān)信息。其程序框圖如圖5-1所示。開開始顯示08-212.052秒系統(tǒng)初始化按鍵是否按下計算相關(guān)參數(shù)定時中斷送顯示端口查詢選擇波形波形輸出LED顯示5.2軟件整體設(shè)計本系統(tǒng)的軟件包括以下幾個程序模塊:(1)初始化程序;(2)顯示程序;(3)鍵盤掃描程序與處理程序;(4)定時器0服務(wù)程序;(5)正弦波發(fā)生程序及其服務(wù)程序;(6)三角波發(fā)生程序;(7)方波發(fā)生程序;(8)鋸齒波發(fā)生程序。5.3程序模塊功能設(shè)計5.3.1系統(tǒng)初始化設(shè)計復(fù)位程序完成如下工作:1.顯示2秒的08-212.05初始界面;2.初始頻率設(shè)置為888HZ;3.將頻率值轉(zhuǎn)換成定時器的初值;4.置定時器0工作于方式1,即16位定時器方式,送入定時器0定時初值,啟動定時器0工作;5.顯示初始頻率和產(chǎn)生波形的類型;6.轉(zhuǎn)鍵盤掃描程序。5.3.2鍵盤掃描程序與處理程序設(shè)計鍵盤采用矩陣式鍵盤(如表5-1所示),由軟件產(chǎn)生相應(yīng)編碼,再根據(jù)相應(yīng)編碼調(diào)用相應(yīng)的子程序。編碼產(chǎn)生原理:P1口低四位表示行,高四位表示列。鍵盤所在的行和所在的列用0表示,其它的行和列用1表示。如第一行第一列GW編碼值為(11101110)2=0xee,第二行第三列ZKBJ編碼值為(10111101)2=0xbd。表5-1鍵盤處理程序鍵值鍵值對應(yīng)處理程序0x7dkey1鍵選擇發(fā)波類型(1為正弦波,2為三角波,3為方波)0xeekey2個位頻率調(diào)整(GW)0xdeKey3十位頻率調(diào)整(SW)0xbeKey4百位頻率調(diào)整(BW)0x7eKey5千位頻率調(diào)整(QW)0xedKey6萬位頻率調(diào)整(WW)0xddKey7占空比增大調(diào)整(ZKBZ)0xbdKey8占空比減小調(diào)整(ZKBJ)鍵盤掃描源程序如下:voidjudge(void){unsignedcharX,Y,Z;P1=0xff;P1=0x0f;//先對P1置數(shù)行掃描if(P1!=0x0f)//判斷是否有鍵按下{delay10ms();//延時,軟件去干擾if(P1!=0x0f)//確認按鍵按下X=P1;{=P1;//保存行掃描時有鍵按下時狀態(tài)P1=0xf0;//列掃描=P1;//保存列掃描時有鍵按下時狀態(tài)Z=X|Y;//取出鍵值switch(Z)//判斷鍵值(那一個鍵按下){case0x7d:key1();break;case0xee:key2();break;//對鍵值賦值case0xde:key3();break;case0xbe:key4();break;case0x7e:key5();break;case0xed:key6();break;case0xdd:key7();break;case0xbd:key8();break;}}}}5.3.學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師的指導(dǎo)下進行的研究工作所取得的成果。盡我所知,除文中已經(jīng)特別注明引用的內(nèi)容和致謝的地方外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的研究成果。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式注明并表示感謝。本人完全意識到本聲明的法律結(jié)果由本人承擔(dān)。學(xué)位論文作者(本人簽名): 年月日學(xué)位論文出版授權(quán)書本人及導(dǎo)師完全同意《中國博士學(xué)位論文全文數(shù)據(jù)庫出版章程》、《中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫出版章程》(以下簡稱“章程”),愿意將本人的學(xué)位論文提交“中國學(xué)術(shù)期刊(光盤版)電子雜志社”在《中國博士學(xué)位論文全文數(shù)據(jù)庫》、《中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫》中全文發(fā)表和以電子、網(wǎng)絡(luò)形式公開出版,并同意編入CNKI《中國知識資源總庫》,在《中國博碩士學(xué)位論文評價數(shù)據(jù)庫》中使用和在互聯(lián)網(wǎng)上傳播,同意按“章程”規(guī)定享受相關(guān)權(quán)益。論文密級:□公開□保密(___年__月至__年__月)(保密的學(xué)位論文在解密后應(yīng)遵守此協(xié)議)作者簽名:_______導(dǎo)師簽名:______________年_____月_____日_______年_____月_____日獨創(chuàng)聲明本人鄭重聲明:所呈交的畢業(yè)設(shè)計(論文),是本人在指導(dǎo)老師的指導(dǎo)下,獨立進行研究工作所取得的成果,成果不存在知識產(chǎn)權(quán)爭議。盡我所知,除文中已經(jīng)注明引用的內(nèi)容外,本設(shè)計(論文)不含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對本文的研究做出重要貢獻的個人和集體均已在文中以明確方式標(biā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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論