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