基于單片機(jī)波形記錄器設(shè)計(jì)_第1頁
基于單片機(jī)波形記錄器設(shè)計(jì)_第2頁
基于單片機(jī)波形記錄器設(shè)計(jì)_第3頁
基于單片機(jī)波形記錄器設(shè)計(jì)_第4頁
基于單片機(jī)波形記錄器設(shè)計(jì)_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要波形記錄在教學(xué)科研和地質(zhì)勘測(cè)等方面有著廣泛的應(yīng)用,波形的記錄也方便后期對(duì)圖形的分析和運(yùn)算,對(duì)頻譜的分析和曲線相關(guān)性分析等操作。通用電子示波器價(jià)格低廉,是配備的常規(guī)儀器,但不具備信號(hào)記錄功能。因此,設(shè)計(jì)一種信號(hào)波形記錄器,使之能與通用電子示波器結(jié)合,用來觀測(cè)非重復(fù)性信號(hào)波形,是很有實(shí)際意義的。本論文是基于單片機(jī)而設(shè)計(jì)的波形記錄器,波形存儲(chǔ)系統(tǒng)配備了A/D轉(zhuǎn)換器、數(shù)據(jù)存儲(chǔ)器、采用雙極性輸出的D/A轉(zhuǎn)換器等器件。系統(tǒng)有八個(gè)輸入通道,采用分區(qū)儲(chǔ)存波形。同時(shí)給外部數(shù)據(jù)存儲(chǔ)器配置了掉電保護(hù)電路,可長期保存數(shù)據(jù)。設(shè)計(jì)中采用自頂向下的方法,系統(tǒng)共有四個(gè)功能模塊:輸入電路、鍵盤和顯示電路、控制和存儲(chǔ)電路以

2、及輸出電路。該設(shè)計(jì)使波形記錄與通用電子很好的結(jié)合在一起,具有很強(qiáng)的實(shí)用性。關(guān)鍵詞:?jiǎn)纹瑱C(jī);電子示波器;D/A轉(zhuǎn)換器AbstractThe waveform recording has been widely used in the teaching scientific research, the geological research and so on. Waveform recording is also convenient for our later on graphical analysis and calculation, spectrum analysis, correlati

3、on analysis and other operation curve. Universal electronic oscilloscope low prices, we are equipped with conventional instruments, but does not have the signal recording function, therefore, to design a signal waveform recorder, which can combine with general electronic oscilloscope, to observe the

4、 non-repetitive signal waveform, is of great practical significance. This paper is based on the single chip microcomputer and the design of the waveform recorder, waveform storage system equipped with a A/D converter, data memory, using bipolar output prosperity D/A converter device. The system has

5、eight input channels, using partition stored waveform. At the same time to the external data memory configured to drop the electricity protection circuit, can be long-term preservation of data. The design of using top-down method, the system has four modules: input circuit, keyboard and display circ

6、uit, control circuit and the storage circuit and an output circuit. The design enables the waveform record and electronic together well, has the very strong practical. Keywords: Single-chip microcontroller; electronic oscilloscope; D/A converter目 錄第1章 概 述11.1設(shè)計(jì)背景與研究現(xiàn)狀11.2課題的意義21.3本論文研究內(nèi)容2第2章 系統(tǒng)設(shè)計(jì)方案3

7、2.1設(shè)計(jì)思路32.2系統(tǒng)功能分析32.3總體設(shè)計(jì)思想42.4本章小結(jié)4第3章 硬件設(shè)計(jì)53.1單片機(jī)概述53.2液晶顯示電路113.3輸出電路163.4蜂鳴電路183.5本章小結(jié)19第4章 軟件設(shè)計(jì)204.1主程序的設(shè)計(jì)204.2 A/D轉(zhuǎn) 換子程序的設(shè)計(jì)224.3 D/A轉(zhuǎn)換子程序的流程圖234.4軟件抗干擾措施264.5本章小結(jié)26第5章 調(diào)試分析27 5.1 KEIL51軟件簡(jiǎn)介27 5.2調(diào)試步驟295.3調(diào)試演示305.4本章小結(jié)33結(jié) 論34參考文獻(xiàn)35致 謝36附 錄137附 錄238 本科生畢業(yè)設(shè)計(jì)(論文)第1章 概 述1.1 設(shè)計(jì)背景與研究現(xiàn)狀在實(shí)際的生產(chǎn)、科研等過程中,數(shù)

8、據(jù)采集、數(shù)據(jù)壓縮存儲(chǔ)、波形分析與統(tǒng)計(jì)、圖形繪制、頻譜分析、波形組合運(yùn)算、諧波分析、有效值計(jì)算、功率計(jì)算、三相對(duì)稱性分析等對(duì)于工作的研究很重要,而所有這些必須建立在波形記錄的前提下,傳統(tǒng)的波形記錄儀器,不是時(shí)間效率較差,就是價(jià)格昂貴,要求較高的購買力,難以滿足一般的用戶需要。再如科研工作常常依賴波形記錄儀記錄、收集信息。本章主要介紹了波形記錄的背景與研究現(xiàn)狀與課題意義。隨著微電子技術(shù)應(yīng)用的迅猛發(fā)展,人們開始利用微處理器的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)處理能力,并使之與A/D轉(zhuǎn)換技術(shù)相結(jié)合來研制功能強(qiáng)大、結(jié)構(gòu)輕巧、使用靈活方便、數(shù)據(jù)處理能力強(qiáng)的新型波形記錄儀。而波形記錄儀廣泛用于工業(yè)監(jiān)測(cè)、地質(zhì)勘測(cè)等方面。如導(dǎo)彈飛

9、行記錄器用來記錄導(dǎo)彈的運(yùn)行狀況,為導(dǎo)彈的評(píng)估好壞提供重要的數(shù)據(jù);心電記錄儀用于記錄人體有異常感受時(shí)的心電圖,為醫(yī)生的診斷帶來方便;在野外測(cè)圖時(shí),必須帶有電子記錄器,用于地形空間數(shù)據(jù)的采集;氣象站需要自動(dòng)記錄降水的記錄器,廣泛用于汽車,飛機(jī),輪船上的各種黑匣子也是記錄器的一種;在地震的預(yù)測(cè)中也離不開波形記錄儀。對(duì)記錄儀的性能要求不斷提高,促使技術(shù)不斷的進(jìn)步,而微控技術(shù)的出現(xiàn)為數(shù)字式波形記錄儀的發(fā)展帶來了新的生機(jī)。目前,國內(nèi)的高性能的波形記錄器的研究主要在信息數(shù)據(jù)采集及處理和數(shù)模信號(hào)的轉(zhuǎn)換電路方面。其主要方向是提高采樣頻率,如采用更高精度的A/D轉(zhuǎn)換器件;提高數(shù)據(jù)轉(zhuǎn)化速率以及多樣的觸發(fā)功能電路,如

10、采用復(fù)雜的可編程邏輯器件或現(xiàn)場(chǎng)可編程門陣列等可編程器件作為核心部件實(shí)現(xiàn)高速數(shù)字的存儲(chǔ)。另一方面,采用計(jì)算機(jī)與軟件結(jié)合的方法設(shè)計(jì)虛擬波形記錄器。目前許多虛擬儀器已經(jīng)可以實(shí)現(xiàn)大部分的波形記錄器功能,同時(shí)虛擬波形記錄器的存儲(chǔ)空間更大。但是由于受到計(jì)算機(jī)接口總線速度的影響,其性能也受到一定的限制。目前,市場(chǎng)上的波形記錄器大多采用CPLD、FPGA等可編程器件作為核心部件實(shí)現(xiàn)高速數(shù)字存儲(chǔ),同時(shí)外帶友好的人機(jī)交互界面,采用LCD顯示,但隨之而來的是成本的快速上升,市場(chǎng)價(jià)格昂貴,不適合廣泛運(yùn)用。針對(duì)目前國內(nèi)缺少結(jié)構(gòu)簡(jiǎn)單,功能適中,造價(jià)低的波形記錄器的情況,本文設(shè)計(jì)了一個(gè)基于51系列單片機(jī)控制的單片機(jī)波形記錄

11、器,用于記錄如溫度、濕度等緩慢變化信號(hào)波形。通過信號(hào)采集,數(shù)據(jù)轉(zhuǎn)換等過程將波形存儲(chǔ),通過接入示波器使波形得以復(fù)現(xiàn)。1.2課題的意義波形的記錄和分析是許多實(shí)際工作的基礎(chǔ):1. 波形記錄儀器是生產(chǎn)、科研和工程調(diào)試等工作必備的工具。 2. 測(cè)試、實(shí)驗(yàn)中對(duì)測(cè)試對(duì)象的運(yùn)行狀態(tài)的波形記錄與分析是測(cè)試與實(shí)驗(yàn)的重要手段和對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行評(píng)價(jià)的重要依據(jù);3. 科研工作常常依賴波形記錄儀記錄、收集信息;事故分析更是離不開波形記錄儀提供的依據(jù)。因此該課題的設(shè)計(jì)具有實(shí)際意義,通過設(shè)計(jì)可以提高獨(dú)立分析問題和解決問題的能力;可以培養(yǎng)創(chuàng)新意識(shí)和創(chuàng)新能力;可以增強(qiáng)個(gè)人理論分析、實(shí)驗(yàn)研究、文獻(xiàn)查閱、計(jì)算機(jī)運(yùn)用和文字表達(dá)等方面的能

12、力;可以加深自己對(duì)理論知識(shí)的理解,以及實(shí)際操作的經(jīng)驗(yàn)。1.3本論文研究內(nèi)容本次設(shè)計(jì)的主要內(nèi)容是學(xué)習(xí)和運(yùn)用AT89S52單片機(jī)和8位D/A轉(zhuǎn)換芯片DAC0832共同實(shí)現(xiàn)正弦波、方波、三角波、鋸齒波這四種常見波形的發(fā)生。并且可以接收外接鍵盤輸入而在一定范圍內(nèi)改變頻率。通過該課題的設(shè)計(jì)掌握以AT89S52為核心的單片機(jī)系統(tǒng)的軟硬件開發(fā)過程和基本信號(hào)的產(chǎn)生原理、測(cè)量及誤差分析方法。同時(shí)掌握了函數(shù)發(fā)生器系統(tǒng)的設(shè)計(jì)流程。軟件方面主要是應(yīng)用C語言設(shè)計(jì)程序。該系統(tǒng)的軟件可運(yùn)行于Windows XP環(huán)境下,硬件電路設(shè)計(jì)具有典型性。同時(shí)本系統(tǒng)中任何一部分電路模塊均可移植于實(shí)用開發(fā)系統(tǒng)的設(shè)計(jì)中,電路設(shè)計(jì)具有實(shí)用性。

13、第2章 系統(tǒng)設(shè)計(jì)方案2.1 設(shè)計(jì)思路本系統(tǒng)利用微機(jī)控制技術(shù)和數(shù)字存儲(chǔ)技術(shù),用于記錄如溫度、濕度等緩慢變化信號(hào)的波形。它首先對(duì)模擬信號(hào)進(jìn)行采樣獲得相應(yīng)的數(shù)字信號(hào)并存儲(chǔ),存儲(chǔ)器中儲(chǔ)存的數(shù)據(jù)可用來在示波器的屏幕上重現(xiàn)信號(hào)波形,從而獲得所需要的各種信號(hào)參數(shù)。設(shè)計(jì)中采用自頂向下的方法,先確定系統(tǒng)的設(shè)計(jì)方案,再將系統(tǒng)劃分為幾個(gè)模塊設(shè)計(jì)。本章主要介紹了系統(tǒng)設(shè)計(jì)的主要功能,設(shè)計(jì)方案的確定和設(shè)計(jì)的主要思想。2.2系統(tǒng)功能分析 根據(jù)系統(tǒng)設(shè)計(jì)的要求,系統(tǒng)的主要工作為被測(cè)信號(hào)的采樣、存儲(chǔ)和重現(xiàn)信號(hào)波形。 被測(cè)信號(hào)的采樣、存儲(chǔ)和重現(xiàn)信號(hào)波形過程如下:1.被測(cè)信號(hào)的采樣、存儲(chǔ) 輸入的被測(cè)信號(hào)的大小是一個(gè)可變化的值,在進(jìn)行

14、A/D轉(zhuǎn)換前,信號(hào)通過調(diào)理,以適合A/D轉(zhuǎn)換器。單片機(jī)在啟動(dòng)A/D轉(zhuǎn)換時(shí)還需考慮到與信號(hào)的同步問題。同時(shí)信號(hào)的采樣次數(shù)和存儲(chǔ)地址的分配也要求合理設(shè)計(jì)。每完成一次采樣,A/D轉(zhuǎn)換器向單片機(jī)申請(qǐng)中斷,單片機(jī)接受中斷,轉(zhuǎn)入中斷處理。在中斷處理中保存采樣數(shù)據(jù)。2.重現(xiàn)信號(hào)波形:波形重構(gòu)是通過D/A轉(zhuǎn)換器不斷快速重復(fù)地把A/D轉(zhuǎn)換過程中存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中的數(shù)字信號(hào)進(jìn)行D/A轉(zhuǎn)換,并按固定頻率輸出至通用模擬示波器完成的。為了使呈現(xiàn)在示波器屏幕上的波形清晰無閃爍,D/A轉(zhuǎn)換必須足夠快。通過初步的分析與思考,將本系統(tǒng)配合通用示波器,需實(shí)現(xiàn)如下功能:1.采樣存儲(chǔ)的基本功能:將通用示波器難以觀察的單次變化的信號(hào)轉(zhuǎn)

15、換為周期性的重復(fù)信號(hào),實(shí)現(xiàn)對(duì)單次變化的信號(hào)進(jìn)行連續(xù)的觀察;并且,系統(tǒng)中的RAM需設(shè)有掉電保護(hù)措施,系統(tǒng)即使經(jīng)關(guān)機(jī)斷電后還能隨時(shí)再現(xiàn)原來的波形信號(hào),達(dá)到了采樣存儲(chǔ)示波器的記憶功能效果。2.慢掃描的基本功能:緩慢變化的信號(hào),先經(jīng)慢速的A/D采樣,然后再以幾倍的速度進(jìn)行D/A轉(zhuǎn)換,使信號(hào)波形的時(shí)間軸得以壓縮,壓縮的效果等效于示波器掃描速度的減小,使通用示波器具備觀察變化慢的信號(hào)的功能。2.3 總體設(shè)計(jì)思想本設(shè)計(jì)采用單片機(jī)做控制器,系統(tǒng)的設(shè)計(jì)包括硬件的設(shè)計(jì)和軟件的設(shè)計(jì)。根據(jù)系統(tǒng)的結(jié)構(gòu)框圖,設(shè)計(jì)時(shí)將硬件分為四部分:輸入電路、鍵盤顯示電路、控制存儲(chǔ)電路和輸出電路。輸入電路將待測(cè)模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字量;鍵盤和

16、顯示電路用于選擇、顯示輸入通道,啟動(dòng)采樣和啟動(dòng)波形的輸出;輸出電路包括D/A轉(zhuǎn)換電路以及雙極性變換電路,用以將數(shù)字量變?yōu)槟M量;控制部分需要結(jié)合軟件的設(shè)計(jì),輸出各種控制邏輯。軟件的設(shè)計(jì)也按模塊劃分為:主程序設(shè)計(jì)和鍵盤掃描子程序的設(shè)計(jì)、A/D轉(zhuǎn)換子程序的設(shè)計(jì)、D/A轉(zhuǎn)換子程序的設(shè)計(jì)、LED顯示子程序的設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)子程序和延時(shí)子程序的設(shè)計(jì)。設(shè)計(jì)的程序主要的功能是實(shí)現(xiàn)鍵盤的控制與管理,控制波形的采樣和存儲(chǔ)以及波形的復(fù)現(xiàn)。當(dāng)然在設(shè)計(jì)時(shí)各個(gè)模塊也不是完全獨(dú)立,在每一步的設(shè)計(jì)中均需要綜合考慮系統(tǒng)的性能,同時(shí)在設(shè)計(jì)系統(tǒng)的硬件時(shí)便著手軟件的設(shè)計(jì),注意了軟硬件的配合。2.4本章小結(jié)本章主要通過方塊圖展示了系統(tǒng)

17、的設(shè)計(jì)結(jié)構(gòu)包括主機(jī)部分的設(shè)計(jì),同時(shí)還設(shè)計(jì)了制作思路。第3章 硬件設(shè)計(jì)3.1 單片機(jī)概述單片微型計(jì)算機(jī)簡(jiǎn)稱單片機(jī),是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機(jī),單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。單片機(jī)由運(yùn)算器,控制器,存儲(chǔ)器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個(gè)微型的計(jì)算機(jī)(最小系統(tǒng)),和計(jì)算機(jī)相比,單片機(jī)缺少了外圍設(shè)備等。概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時(shí),學(xué)習(xí)使用單片機(jī)是了解計(jì)算機(jī)原理與結(jié)構(gòu)的最佳選擇。它最早是被用

18、在工業(yè)控制領(lǐng)域。由于單片機(jī)在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,單片機(jī)由僅有CPU的專用處理器芯片發(fā)展而來。最早的設(shè)計(jì)理念是通過將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的8080是最早按照這種思想設(shè)計(jì)出的處理器,當(dāng)時(shí)的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)。因?yàn)楹?jiǎn)單可靠而性能不錯(cuò)獲得了很大的好評(píng)。盡管2000年以后ARM已經(jīng)發(fā)展出了32位的主頻超過300M的高端單片機(jī),直到現(xiàn)在基于8051的單片機(jī)還在廣泛的使用。在很多方面單片機(jī)比專用處理器更適合應(yīng)用于嵌入式系

19、統(tǒng),因此它得到了廣泛的應(yīng)用。事實(shí)上單片機(jī)是世界上數(shù)量最多處理器,隨著單片機(jī)家族的發(fā)展壯大,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。現(xiàn)代人類生活中所用的幾乎每件有電子器件的產(chǎn)品中都會(huì)集成有單片機(jī)。手機(jī)、電話、計(jì)算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電子產(chǎn)品中都含有單片機(jī)。 汽車上一般配備40多片單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百片單片機(jī)在同時(shí)工作。單片機(jī)的數(shù)量不僅遠(yuǎn)超過PC機(jī)和其他計(jì)算機(jī)的總和,甚至比人類的數(shù)量還要多13。3.1.1單片機(jī)AT89S52AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性

20、存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)

21、工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。P0口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O口,p3 輸出緩沖

22、器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲(chǔ)

23、器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。對(duì)于 AT89S52,如果EA接VCC,程序讀寫先從內(nèi)部存儲(chǔ)器(地址為0000H1FFFH)開始,接著從外部尋址,尋址地址為:2000HFFFFH。 數(shù)據(jù)存儲(chǔ)器:AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器。高128字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。 AT89S52具有如下特點(diǎn):40個(gè)引腳,8k Bytes Flash 片內(nèi)程序儲(chǔ)存器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RA

24、M),32個(gè)外部雙向輸入/輸出(I/0)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S52設(shè)計(jì)和配置了振蕩頻率可為0HZ并通過軟件設(shè)置省電模式??臻e模式,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其他功能直至外中斷激活或硬件復(fù)位123。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求,AT89S52引腳如圖3-1所示。主要功能特性:兼容Mcs-51指令系統(tǒng) 8K可反復(fù)擦寫ISP Flash ROM32個(gè)

25、雙向I/O口 4.55.5v工作電壓3個(gè)16位可編程定時(shí)計(jì)數(shù)器 時(shí)鐘頻率0-33MHz全雙工作UART穿行中斷口線256bit內(nèi)部RAM2個(gè)外部中斷源 低功耗空閑和省電模式中斷喚醒省電模式 3級(jí)加密位 看門狗(WDT)電路 軟件設(shè)置空閑和省電功能靈活的ISP字節(jié)和分頁編程 雙數(shù)據(jù)寄存器指針圖3-1 單片機(jī)引腳圖3.1.2 復(fù)位電路無論使用哪種類型的單片機(jī),總要涉及到單片機(jī)復(fù)位電路的設(shè)計(jì)。而單片機(jī)復(fù)位電路設(shè)計(jì)的好壞,直接影響到整個(gè)系統(tǒng)工作的可靠性。許多用戶在設(shè)計(jì)完單片機(jī)系統(tǒng),并在實(shí)驗(yàn)室調(diào)試成功后,在現(xiàn)場(chǎng)卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計(jì)不可靠引起的。單片機(jī)在啟動(dòng)時(shí)

26、都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位。 手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源Vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則Vcc的+5V電平就會(huì)直接加到RST端。手動(dòng)按鈕復(fù)位的電路如所示。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的

27、時(shí)間要求。AT89S52的上電復(fù)位,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個(gè)電阻到地即可。對(duì)于CMOS型單片機(jī),由于在RST端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至1?F。上電復(fù)位的工作過程是在加電時(shí),復(fù)位電路通過電 容加給RST端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著Vcc對(duì)電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號(hào)必須維持足夠長的時(shí)間。上電時(shí),Vcc的上升時(shí)間約為10ms,而振蕩器的起振時(shí)間取決于振蕩頻率,如晶振頻率為10MHz,起振時(shí)間為1ms;晶振頻率為1MHz,起振時(shí)間則為

28、10ms。在圖2的復(fù)位電路中,當(dāng)Vcc掉電時(shí),必然會(huì)使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個(gè)負(fù)電壓將不會(huì)對(duì)器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序計(jì)數(shù)器PC將得不到一個(gè)合適的初值,因此,CPU可能會(huì)從一個(gè)未被定義的位置開始執(zhí)行程序。常用的上電或開關(guān)復(fù)位。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開,也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開關(guān)復(fù)位的操作。單片機(jī)復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),

29、直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。在單片機(jī)的RST引腳引入高電平并保持2個(gè)機(jī)器周期時(shí),單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作。實(shí)際應(yīng)用中,復(fù)位操作有兩種形式:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位。上電復(fù)位只要在RST復(fù)位輸入引腳上接一電容至VCC端,下接一個(gè)電阻到地即可。上電復(fù)位要求接通電源后,單片機(jī)自動(dòng)實(shí)現(xiàn)復(fù)位操作。上電瞬間RST引腳獲得高電平,隨著電容的充電,RST引腳的高電平逐漸下降。只要RST引腳保持兩個(gè)機(jī)器周期的高電平單片機(jī)就可以進(jìn)行復(fù)位操作。手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RS

30、T上加入高電平,一般采用的辦法是在RST端和正電源VCC之間接一個(gè)按鈕。當(dāng)人為按下時(shí),則VCC的+5V電平就會(huì)直接加到RST端47。本設(shè)計(jì)用的上電與接鍵均有效的復(fù)位。電路圖如3-2所示:圖3-2 復(fù)位電路圖3.1.3 振蕩特性計(jì)算機(jī)工作時(shí),是在統(tǒng)一的時(shí)鐘脈沖控制下一拍一拍地進(jìn)行的。這個(gè)脈沖是由單片機(jī)控制器中的時(shí)序電路發(fā)出的。單片機(jī)的時(shí)序就是CPU在執(zhí)行指令時(shí)所需控制信號(hào)的時(shí)間順序,為了保證各部件間的同步工作,單片機(jī)內(nèi)部電路應(yīng)在唯一的時(shí)鐘信號(hào)下嚴(yán)格地控時(shí)序進(jìn)行工作。要給我們的計(jì)算機(jī)CPU提供時(shí)序,就需要相關(guān)的硬件電路,即振蕩器和時(shí)鐘電路。89S52單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,這個(gè)反相放大器

31、的作用就是用于構(gòu)成振蕩器用的,但要形成時(shí)鐘,外部還需要加一些附加電路。89S52單片機(jī)的時(shí)鐘產(chǎn)生有以下兩種方法:內(nèi)部時(shí)鐘方式:利用單片機(jī)內(nèi)部的振蕩器,然后在引腳XTAL1(18腳)和XTAL2(19腳)兩端接晶振,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路,外接晶振時(shí),晶振兩端的電容一般選擇為30PF左右;這兩個(gè)電容對(duì)頻率有微調(diào)的作用,晶振的頻率范圍可在1.2MHz-12MHz之間選擇。為了減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近。外部時(shí)種方式:此方式是利用外部振蕩脈沖接入XTAL1或XTAL2。HMOS和CHMOS單片機(jī)外時(shí)鐘

32、信號(hào)接入方式不同,HMOS型單片機(jī)(例如8051)外時(shí)鐘信號(hào)由XTAL2端腳注入后直接送至內(nèi)部時(shí)鐘電路,輸入端XTAL1應(yīng)接地。由于XTAL2端的邏輯電平不是TTL的,故建議外接一個(gè)上接電阻。對(duì)于CHMOS型的單片機(jī)(例如80C51),因內(nèi)部時(shí)鐘發(fā)生器的信號(hào)取自反相器的輸入端,故采用外部時(shí)鐘源時(shí),接線方式為外時(shí)鐘信號(hào)接到XTAL1而XTAL2懸空。外接時(shí)鐘信號(hào)通過一個(gè)二分頻的觸發(fā)器而成為內(nèi)部時(shí)鐘信號(hào),要求高、低電平的持續(xù)時(shí)間都大于20ns,一般為頻率低于12MHz的方波。片內(nèi)時(shí)鐘發(fā)生器就是上述的二分頻觸發(fā)器,它向芯片提供了一個(gè)2節(jié)拍的時(shí)鐘信號(hào)。前面已提到,計(jì)算機(jī)工作時(shí),是在統(tǒng)一的時(shí)鐘脈沖控制下

33、一拍一拍地進(jìn)行的。由于指令的字節(jié)數(shù)不同,取這些指令所需要的時(shí)間也就不同,即使是字節(jié)數(shù)相同的指令,由于執(zhí)行操作有較大的差別,不同的指令執(zhí)行時(shí)間也不一定相同,即所需的拍節(jié)數(shù)不同。為了便于對(duì)CPU時(shí)序進(jìn)行分析,一般按指令的執(zhí)行過程規(guī)定了幾個(gè)周期時(shí)鐘電路由外接諧振器的時(shí)鐘振蕩器、時(shí)鐘發(fā)生器及關(guān)斷控制信號(hào)等組成。時(shí)鐘振蕩器是單片機(jī)的時(shí)鐘源,時(shí)鐘發(fā)生器對(duì)振蕩器的輸出信號(hào)進(jìn)行二分頻,關(guān)斷控制信號(hào)用于單片機(jī)的功耗管理可關(guān)閉時(shí)鐘振蕩器,也可關(guān)閉CPU的時(shí)鐘,降低單片機(jī)的功耗。時(shí)鐘電路:?jiǎn)纹瑱C(jī)的時(shí)鐘信號(hào)通常有兩種方式生產(chǎn):一是內(nèi)部時(shí)鐘方式,二是外部時(shí)鐘方式。本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,在單片機(jī)內(nèi)部有一振蕩電路,只要在

34、單片機(jī)的XTAL1和XTAL2腳外接石英晶體(簡(jiǎn)稱晶振),就構(gòu)成了自己震蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。圖3-3 振蕩電路圖圖3-3中電容器的作用是穩(wěn)定頻率和快速起振,電容值在530pF,典型值為30pF,晶振Y1的振蕩頻率范圍在1.212MHz和6MHz.本設(shè)計(jì)采用12MHz晶振,電容值為30pF。在電路總體設(shè)計(jì)中,先從片內(nèi)程序儲(chǔ)存器取指還是從內(nèi)部程序儲(chǔ)存器取指的選擇信號(hào)。當(dāng)EAVpp接高電平時(shí),先從片內(nèi)程序存儲(chǔ)器讀取指令,讀完4KB后,自動(dòng)改為片外取指。若EAVpp接低電平,則所有指令均從片外程序存儲(chǔ)器讀取。ALE腳用于輸出允許地址所存信號(hào)。PSEN腳用于外部程序存儲(chǔ)器選通信號(hào),在對(duì)外

35、部程序存儲(chǔ)器取指操作時(shí)此引腳置低電平有效。在執(zhí)行片內(nèi)程序存儲(chǔ)器取指時(shí)PESN腳無效。本設(shè)計(jì)無片外程序儲(chǔ)存區(qū)擴(kuò)展,所以將EAVpp接高電平,ALE及PSEN腳懸空。3.2 液晶顯示電路在本畢業(yè)設(shè)計(jì)中,波形的顯示是采用簡(jiǎn)單的液晶LCD 1602顯示屏。LCD(Liquid Crystal Display)是液晶顯示器英文名稱的縮寫,液晶顯示器是一種被動(dòng)式的顯示器,即液晶本身并不發(fā)光,而是利用液晶經(jīng)過處理后能改變光線通過方向的特性,達(dá)到白底黑字或黑底白字顯示的目的。液晶顯示器具有功耗低、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。3.2.1 LCD 1602功能介紹LCD 1602也被稱作1602字符型液晶。它是一種專門用

36、來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊,它有若干個(gè)或者等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有也有間隔,這樣則起到了字符間距和行間距的作用,也正因?yàn)槿绱耍荒茱@示圖形。LCD 1602是指顯示的內(nèi)容為,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。LCD 1602實(shí)物圖如圖3-4所示,LCD 1602引腳圖如圖3-5所示。圖3-4 LCD 1602實(shí)物圖圖3-5 LCD 1602引腳圖目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的

37、字符型液晶。3.2.2 LCD 1602性能參數(shù)LCD 1602的主要技術(shù)參數(shù)及應(yīng)用配置如表3-1所示。表3-1 芯片的主要技術(shù)參數(shù)及應(yīng)用配置顯示容量:162個(gè)字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.954.35(WXH)mmLCD1602的管腳排列如圖3-6所示,它共有16個(gè)引腳,各引腳功能如表3-2所示。詳細(xì)說明如下:(1)VSS:電源地;(2)VDD:電源正極;(3)VL:液晶顯示偏壓信號(hào),對(duì)比度調(diào)整端,接地時(shí)最高,接正電源最低,可接10K,電位器調(diào)整;(4)RS:寄存器選擇,高電平選擇數(shù)據(jù)寄存器,低電平選擇指令寄存器;(5

38、)R/W:讀/寫選擇端,高電平讀操作,低電平寫操作;(6)E使能信號(hào),當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令;(7)BLA背光源正極;BLK背光源負(fù)極;(8)D0D7數(shù)據(jù)端口。圖3-6 LCD 1602的管腳排列表3-2 LCD 1602管腳功能及說明編號(hào)符號(hào)引腳說明1VSS電源地2VDD電源正極3VL液晶顯示偏壓信號(hào)4RS數(shù)據(jù)/命令選擇端(H/L)5R/W讀/寫選擇端(H/L)6E使能信號(hào)7D0Data I/O8D1Data I/O9D2Data I/O10D3Data I/O11D4Data I/O12D5Data I/O13D6Data I/O14D7Data I/O15BLA背

39、光源正16BLK背光源負(fù)LCD 1602的主要技術(shù)參數(shù)如表3-3所示。表3-3 LCD 1602A主要技術(shù)參數(shù)指令碼功能00111000設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口 LCD 1602顯示模式如表3-4所示。表3-4 LCD 1602顯示模式指令碼功能00001DCBD=1開顯示 D=0 關(guān)顯示C=1 顯示光標(biāo)C=0 不顯示光標(biāo)B=1 光標(biāo)閃爍B=0 光標(biāo)不閃爍000001NSN=1 當(dāng)讀/寫一個(gè)字符后,地址指針加1,且光標(biāo)加1;N=0 當(dāng)讀/寫一個(gè)字符后,地址指針減1,且光標(biāo)減1;S=1 當(dāng)寫一個(gè)字符,整屏顯示左移(N=1)或者右移(N=0),以得到光標(biāo)不移動(dòng)而整屏移動(dòng)的效果;S

40、=0 當(dāng)寫一個(gè)字符,整屏顯示不移動(dòng)。3.2.3 LCD 1602與單片機(jī)連接LCD 1602可以采用兩種方式與單片機(jī)連接,一種是采用8位數(shù)據(jù)總線D0D7,和RS、R/W、EN三個(gè)控制端口;另一種是只用D4D7作為四位數(shù)據(jù)分兩次傳送。本實(shí)驗(yàn)將使用并采用八位數(shù)據(jù)方式來控制1602顯示,如圖3-7所示。圖3-7 AT89S52與LCD1602接口電路圖進(jìn)行LCD設(shè)計(jì)主要是LCD的控制/驅(qū)動(dòng)和外界的接口設(shè)計(jì)??刂浦饕峭ㄟ^接口與外界通信、管理內(nèi)/外顯示RAM,控制驅(qū)動(dòng)器,分配顯示數(shù)據(jù);驅(qū)動(dòng)主要是根據(jù)控制器要求,驅(qū)動(dòng)LCD進(jìn)行顯示??刂破鬟€常含有內(nèi)部ASCII字符庫,或可外擴(kuò)的大容量漢字庫。單片機(jī)AT8

41、9S52的P1.1與LCD 1602的使能端E相連,GND與讀寫選擇端R/W相連,P1.0與RS相連,當(dāng)使能端使能時(shí),再通過命令選擇端來控制讀數(shù)據(jù),寫數(shù)據(jù),寫命令??刂芇0端口與LCD 1602的數(shù)據(jù)端口相連,傳輸數(shù)據(jù)。3.2.4 LCD 1602的顯示與控制命令LCD 1602液晶模塊內(nèi)部的字符發(fā)生內(nèi)存(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來,我們就能看到字母“A”。LCD 1

42、602液晶模塊內(nèi)部的控制器共有11條控制指令,它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置;指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H;指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效;指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有游標(biāo),低電平表示無游標(biāo)B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍;指令5:光標(biāo)或顯示移位元S/C:高電平時(shí)移動(dòng)顯示

43、的文字,低電平時(shí)移動(dòng)光標(biāo);指令6:功能設(shè)置命令DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示57的點(diǎn)陣字符,高電平時(shí)顯示510的點(diǎn)陣字符;指令7:字符發(fā)生器RAM地址設(shè)置;指令8:DDRAM地址設(shè)置;指令9:讀忙信號(hào)和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙;指令10:寫數(shù)據(jù);指令11:讀數(shù)據(jù)。液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。3.3輸出電路輸出電路的設(shè)

44、計(jì)包括數(shù)摸轉(zhuǎn)換器D/A的選擇以及雙極性輸出電路的設(shè)計(jì),其作用是將數(shù)字量變?yōu)槟M量。形成示波信號(hào)的電路核心是D/A轉(zhuǎn)換器。該電路把保存在RAM中的采樣數(shù)據(jù),按照示波器顯示波形的要求循環(huán)送到數(shù)模轉(zhuǎn)換器DAC0832,轉(zhuǎn)換為連續(xù)的模擬信號(hào),然后再送到通用示波器顯示出波形。因?yàn)椴ㄐ蔚娘@示與波形的采集與存儲(chǔ)在管理上是分開的,即不管數(shù)據(jù)以何種速度寫入到存儲(chǔ)器中,存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)均以固定的速度不斷讀出,因而可獲得清晰穩(wěn)定的波形。3.3.1數(shù)摸轉(zhuǎn)換器的選擇 輸出電路對(duì)讀出速度有一定的要求,選擇DAC0832可滿足系統(tǒng)。DAC0832是一款常用的數(shù)摸轉(zhuǎn)換器,它的輸入數(shù)字量為8位邏輯電平能與TTL兼容,參考電壓

45、的工作范圍為+10V-10V,具有直通工作方式、單緩沖工作方式、雙緩沖工作方式三種工作方式。其內(nèi)部結(jié)構(gòu)原理圖如圖3.11所示。DAC0832的內(nèi)部包括兩個(gè)8位寄存器、1個(gè)8位轉(zhuǎn)換器和相應(yīng)輔助電路:8位輸入寄存器為第一級(jí)鎖存器,它的鎖存信號(hào)為ILE。當(dāng)ILE為高電平、CS和WR1為低電平時(shí),LE1為1,這種情況下,輸入寄存器的輸出隨輸入而變化。此后,WR1由低變高時(shí),ILE變?yōu)榈碗娖?,此時(shí),數(shù)據(jù)被鎖存到輸入寄存器中。8位DAC寄存器為第二級(jí)鎖存器,它的鎖存信號(hào)也稱為通道控制信號(hào)。WR2和XFEB同時(shí)為低電平時(shí),LE2為高電平,這時(shí),8位的DAC寄存器的輸出隨輸入而變化,此后,當(dāng)WR2由低變高時(shí),

46、LE2變?yōu)榈碗娖?,將輸入寄存器的信息鎖存到DAC寄存器。在設(shè)計(jì)中DAC0832采用雙緩沖方式,CS和XFEB引腳共接片選信號(hào)Y2,WRl和WR2共接AT89C51的WR,具體電路見總圖。 圖3-8 DAC0832的內(nèi)部結(jié)構(gòu)圖3.3.2 雙極性輸出電路的設(shè)計(jì)DAC0832是電流型器件,直接輸出的是電流信號(hào),為能引至示波器,需轉(zhuǎn)換成電壓輸出。為轉(zhuǎn)換成電壓輸出,常采用單極性和雙極性兩種連接方式。按照本設(shè)計(jì)要求,輸出方式采用雙極性輸出,其隨著輸入的數(shù)碼不同,輸出電壓可正可負(fù)。設(shè)計(jì)的電路包括電流電壓轉(zhuǎn)換電路,單雙極性變換電路,低通濾波器等電路,具體電路如圖3.12所示。在該電路中LF356A1為電流電壓

47、轉(zhuǎn)換,為單極性輸出,LF356A2運(yùn)算放大器,起反相求和作用,即OP07提供的參考電壓提供偏流I1,與LF356A1輸出提供的偏流I2相反。根據(jù)電路圖中的電阻關(guān)系,一個(gè)輸入電阻R1為10K,一個(gè)輸入電阻R2為50K,反饋電阻R3為10K,R4為阻抗匹配,為R1、R2、R3三個(gè)電阻的并聯(lián)值,即2.5K,可知LF356A2的輸出在LF356A1的基礎(chǔ)上偏移1/2VREF(VREF為OP07提供的參考電壓)。為了降低信號(hào)輸出噪聲和平滑波形,在雙極性輸出后還增加了由兩個(gè)電容構(gòu)成的低通濾波器。 圖3-9 雙極性輸出電路3.4 蜂鳴電路 蜂鳴電路部分由蜂鳴器和三極管組成,當(dāng)密碼輸入正確開鎖時(shí),經(jīng)過三極管放

48、大電流驅(qū)動(dòng)蜂鳴器工作。圖3-10 蜂鳴電路 3.5 本章小結(jié)本章主要介紹了單片機(jī)各個(gè)引腳的功能,并講述了單片機(jī)的復(fù)位電路、振蕩電路以及本設(shè)計(jì)中的紅外發(fā)射和接收電路、矩陣鍵盤、顯示電路、蜂鳴電路和開鎖電路。第4章 軟件設(shè)計(jì)4.1主程序的設(shè)計(jì)系統(tǒng)的軟件部分以主程序?yàn)槿肟?,在初始化之后調(diào)用鍵盤管理程序,完成對(duì)鍵盤的掃描,讀入鍵值,并根據(jù)相應(yīng)的鍵值調(diào)用D/A轉(zhuǎn)換子程序或A/D轉(zhuǎn)換子程序。作為程序的入口,主程序控制各類程序的調(diào)用。在系統(tǒng)中其主要的任務(wù)是在鍵盤中斷子程序執(zhí)行完后,調(diào)用D/A轉(zhuǎn)換子程序或A/D轉(zhuǎn)換子程序,設(shè)串行口方式和中斷的觸發(fā)方式,初始化各數(shù)據(jù)緩沖區(qū),而系統(tǒng)其它的功能都由各子程序完成。這樣

49、處理主程序起到了分散功能的作用,即主程序會(huì)變得很容易編寫,而具體的功能都由功能子程序完成。主程序流程圖如圖4-1所示,具體程序見程序詳單。N Y開 始串行口初始化外部中斷INT0、INT1的觸發(fā)方式隨機(jī)選擇數(shù)據(jù)緩沖區(qū)的初始化調(diào)用顯示子程序顯示零按鍵是否按下NY是否為九鍵調(diào)用D/A轉(zhuǎn)換子程序調(diào)用A/D轉(zhuǎn)換子程序結(jié) 束圖4-1 主程序流程圖4.2 A/D轉(zhuǎn)換子程序的設(shè)計(jì)A/D轉(zhuǎn)換子程序是系統(tǒng)功能實(shí)現(xiàn)的一個(gè)重要的組成,其主要功能是:選擇相應(yīng)的參考電壓、轉(zhuǎn)換通道和存儲(chǔ)區(qū),然后啟動(dòng)A/D轉(zhuǎn)換,并判斷采樣次數(shù)是否完成。在硬件設(shè)計(jì)時(shí),每個(gè)通道和一個(gè)參考電壓對(duì)應(yīng)了起來,即每個(gè)通道對(duì)應(yīng)不同的輸入信號(hào)的范圍,這樣

50、記錄波形前可估計(jì)波形的電壓大下,選擇不同的按鍵,以接入不同的通道。軟件主要是根據(jù)KEY存儲(chǔ)器中的鍵值,選擇不同的通道和參考電壓。在系統(tǒng)中,為了能完整地覆蓋被測(cè)的整個(gè)變化過程,采樣點(diǎn)取16256個(gè)點(diǎn)。 同時(shí)在本子程序中根據(jù)鍵值的不同還要選擇不同的存儲(chǔ)區(qū)。當(dāng)采樣結(jié)束時(shí),EOC信號(hào)向AT89C51申請(qǐng)中斷,AT89S52接受中斷讀取轉(zhuǎn)換結(jié)果。開 始轉(zhuǎn)換次數(shù)賦初值讀取按鍵值,根據(jù)按鍵值,選擇相應(yīng)通道和A/D轉(zhuǎn)換器參考電壓?jiǎn)?dòng)A/D轉(zhuǎn)換轉(zhuǎn)換是否結(jié)束NY已全部完成采樣次數(shù)?NY返 回圖4-2 A/D轉(zhuǎn)換子程序流程圖 4.3 D/A轉(zhuǎn)換子程序的流程圖D/A轉(zhuǎn)換子程序是波形重構(gòu)的組成,主要的任務(wù)是完成輸出數(shù)據(jù)

51、區(qū)的選擇,啟動(dòng)D/A轉(zhuǎn)換。在采集時(shí)不同通道采集的數(shù)據(jù)放在不同的數(shù)據(jù)存儲(chǔ)區(qū),因此在輸出波形時(shí)也需要根據(jù)按健值來選擇不同的數(shù)據(jù)存儲(chǔ)地址,同時(shí)每完成一個(gè)通道數(shù)據(jù)的轉(zhuǎn)換就查尋一次是否要繼續(xù)轉(zhuǎn)換。在本設(shè)計(jì)中,DAC0832采用的是雙緩沖方式。開 始是否選擇通道選擇數(shù)據(jù)存儲(chǔ)首地址NYDAC0832賦初值發(fā)送數(shù)據(jù)全部發(fā)送完?停止繼續(xù)發(fā)送返 回NYN圖4-3 D/A轉(zhuǎn)換子程序流程圖 4.4軟件抗干擾措施在系統(tǒng)的運(yùn)行過程中可能出現(xiàn)各種干擾,如信號(hào)不穩(wěn)定、電路板抗干擾能力差、程序跑飛等,也可能在搬運(yùn)或者使用過程中對(duì)電路板或者元器件的磨損等。所以在設(shè)計(jì)過程中應(yīng)做好抗干擾設(shè)計(jì),以求將干擾對(duì)系統(tǒng)產(chǎn)生的影響降到最低,而軟

52、件抗干擾具有投資低的優(yōu)點(diǎn)。本文采用的軟件抗干擾措施如下:(1) 指令冗余 當(dāng)CUP受到干擾后,往往將一些操作數(shù)當(dāng)作指令碼來執(zhí)行,引起程序的混亂,我們首先要盡快將程序納入正軌,也就是讓程序彈飛到某一個(gè)單字節(jié)指令NOP,這就是指令冗余。因此,常在一些對(duì)程序的流向起決定作用的指令之前插入兩條NOP指令,以保證彈飛的程序迅速納入正確的控制軌道。在某些對(duì)系統(tǒng)工作狀態(tài)至關(guān)重要的指令前也可插入兩條NOP指令,以保證執(zhí)行正確。(2) 軟件陷阱 當(dāng)彈飛的程序落到非程序區(qū)(如ROM中未使用的空閑和程序中的數(shù)據(jù)表格區(qū))時(shí),就形成了死循環(huán),解決的辦法就是用一條引導(dǎo)指令強(qiáng)行將捕獲的程序轉(zhuǎn)到一個(gè)指定的地址,為了加強(qiáng)捕獲的

53、效果,一般還在其前面加兩條NOP指令。4.5本章小結(jié)本章主要介紹了系統(tǒng)的軟件部分,軟件設(shè)計(jì)是設(shè)計(jì)中最為重要的部分,它關(guān)系到一個(gè)系統(tǒng)能否實(shí)現(xiàn)其預(yù)定的功能,只有利用軟件才能控制系統(tǒng)的運(yùn)行。軟件部分包括主程序設(shè)計(jì)和鍵盤掃描子程序的設(shè)計(jì)、A/D轉(zhuǎn)換子程序的設(shè)計(jì)、D/A轉(zhuǎn)換子程序的設(shè)計(jì)、LED顯示子程序的設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)子程序和延時(shí)子程序的設(shè)計(jì)。第5章 調(diào)試分析5.1 KEIL51軟件簡(jiǎn)介單片機(jī)開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于M

54、CS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,這從近年來各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(mVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51

55、系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。5.1.1 系統(tǒng)概述Keil C是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。KeilC 的編譯環(huán)境如圖5-1所示。圖中:標(biāo)題欄:顯示當(dāng)前編譯的文件菜單條:有十項(xiàng)菜單可供選擇,相應(yīng)的所

56、有操作命令均可在此菜單中查找;工具欄:常用命令的快捷圖標(biāo)按鈕;管理窗口:顯示工程文件的項(xiàng)目、各個(gè)寄存器值的變化、參考資料等;工作窗口:各種文件的顯示窗口。工具欄工作窗口菜單條標(biāo)題欄管理窗口圖5-1 KeilC的編譯環(huán)境 Keil C軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。下面詳細(xì)介紹Keil C開發(fā)系統(tǒng)各部分功能和使用。5.1.2 KeilC單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)C51工具包的整體結(jié)構(gòu),其中mVision與Ishell分別是C for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器

溫馨提示

  • 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)論