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

下載本文檔

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

文檔簡介

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

2、入電路、鍵盤和顯示電路、控制和存儲電路以及輸出電路。該設(shè)計使波形記錄與通用電子很好的結(jié)合在一起,具有很強(qiáng)的實用性。關(guān)鍵詞:單片機(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

3、 analysis, correlation 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 oscillos

4、cope, to observe the 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 dev

5、ice. The system has 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, keybo

6、ard and display circuit, 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本科生畢業(yè)設(shè)計(論文)目 錄TOC o 1-3 t h z u HYP

7、ERLINK l _Toc9494 第1章 概 述 PAGEREF _Toc9494 1 HYPERLINK l _Toc20998 1.1設(shè)計(shj)背景與研究現(xiàn)狀 PAGEREF _Toc20998 1 HYPERLINK l _Toc17248 1.2課題(kt)的意義 PAGEREF _Toc17248 2 HYPERLINK l _Toc30722 1.3本論文研究(ynji)內(nèi)容 PAGEREF _Toc30722 2 HYPERLINK l _Toc11388 第2章 系統(tǒng)設(shè)計方案 PAGEREF _Toc11388 3 HYPERLINK l _Toc4767 2.1設(shè)計思路

8、 PAGEREF _Toc4767 3 HYPERLINK l _Toc9582 2.2系統(tǒng)功能分析 PAGEREF _Toc9582 3 HYPERLINK l _Toc28046 2.3總體設(shè)計思想4 HYPERLINK l _Toc25335 2.4本章小結(jié)4 HYPERLINK l _Toc27408 第3章 硬件設(shè)計5 HYPERLINK l _Toc25780 3.1單片機(jī)概述5 HYPERLINK l _Toc28430 3.2液晶顯示電路 PAGEREF _Toc28430 11 HYPERLINK l _Toc16405 3.3輸出電路 PAGEREF _Toc16405 1

9、6 HYPERLINK l _Toc25998 3.4蜂鳴電路 PAGEREF _Toc25998 18 HYPERLINK l _Toc23815 3.5本章小結(jié) PAGEREF _Toc23815 19 HYPERLINK l _Toc13826 第4章 軟件設(shè)計 PAGEREF _Toc13826 20 HYPERLINK l _Toc31370 4.1主程序的設(shè)計 PAGEREF _Toc31370 20 HYPERLINK l _Toc17997 4.2 A/D轉(zhuǎn) 換子程序的設(shè)計 PAGEREF _Toc17997 22 HYPERLINK l _Toc15709 4.3 D/A轉(zhuǎn)換

10、子程序的流程圖 PAGEREF _Toc15709 23 HYPERLINK l _Toc20532 4.4軟件抗干擾措施 PAGEREF _Toc20532 26 HYPERLINK l _Toc29066 4.5本章小結(jié) PAGEREF _Toc29066 26 HYPERLINK l _Toc31276 第5章 調(diào)試分析 PAGEREF _Toc31276 27 HYPERLINK l _Toc27588 5.1 KEIL51軟件簡介 PAGEREF _Toc27588 27 HYPERLINK l _Toc32049 5.2調(diào)試步驟29 HYPERLINK l _Toc31872 5.

11、3調(diào)試演示 PAGEREF _Toc31872 30 HYPERLINK l _Toc27124 5.4本章(bn zhn)小結(jié) PAGEREF _Toc27124 33 HYPERLINK l _Toc25468 結(jié) 論 PAGEREF _Toc25468 34 HYPERLINK l _Toc22697 參考文獻(xiàn) PAGEREF _Toc22697 35 HYPERLINK l _Toc7550 致 謝 PAGEREF _Toc7550 36 HYPERLINK l _Toc17628 附 錄1 PAGEREF _Toc17628 37 HYPERLINK l _Toc1119 附 錄23

12、8 本科生畢業(yè)設(shè)計(論文)第1章 概 述1.1 設(shè)計(shj)背景與研究現(xiàn)狀在實際(shj)的生產(chǎn)、科研等過程中,數(shù)據(jù)(shj)采集、數(shù)據(jù)壓縮存儲、波形分析與統(tǒng)計、圖形繪制、頻譜分析、波形組合運算、諧波分析、有效值計算、功率計算、三相對稱性分析等對于工作的研究很重要,而所有這些必須建立在波形記錄的前提下,傳統(tǒng)的波形記錄儀器,不是時間效率較差,就是價格昂貴,要求較高的購買力,難以滿足一般的用戶需要。再如科研工作常常依賴波形記錄儀記錄、收集信息。本章主要介紹了波形記錄的背景與研究現(xiàn)狀與課題意義。隨著微電子技術(shù)應(yīng)用的迅猛發(fā)展,人們開始利用微處理器的數(shù)據(jù)存儲和數(shù)據(jù)處理能力,并使之與A/D轉(zhuǎn)換技術(shù)相結(jié)合

13、來研制功能強(qiáng)大、結(jié)構(gòu)輕巧、使用靈活方便、數(shù)據(jù)處理能力強(qiáng)的新型波形記錄儀。而波形記錄儀廣泛用于工業(yè)監(jiān)測、地質(zhì)勘測等方面。如導(dǎo)彈飛行記錄器用來記錄導(dǎo)彈的運行狀況,為導(dǎo)彈的評估好壞提供重要的數(shù)據(jù);心電記錄儀用于記錄人體有異常感受時的心電圖,為醫(yī)生的診斷帶來方便;在野外測圖時,必須帶有電子記錄器,用于地形空間數(shù)據(jù)的采集;氣象站需要自動記錄降水的記錄器,廣泛用于汽車,飛機(jī),輪船上的各種黑匣子也是記錄器的一種;在地震的預(yù)測中也離不開波形記錄儀。對記錄儀的性能要求不斷提高,促使技術(shù)不斷的進(jìn)步,而微控技術(shù)的出現(xiàn)為數(shù)字式波形記錄儀的發(fā)展帶來了新的生機(jī)。目前,國內(nèi)的高性能的波形記錄器的研究主要在信息數(shù)據(jù)采集及處理

14、和數(shù)模信號的轉(zhuǎn)換電路方面。其主要方向是提高采樣頻率,如采用更高精度的A/D轉(zhuǎn)換器件;提高數(shù)據(jù)轉(zhuǎn)化速率以及多樣的觸發(fā)功能電路,如采用復(fù)雜的可編程邏輯器件或現(xiàn)場可編程門陣列等可編程器件作為核心部件實現(xiàn)高速數(shù)字的存儲。另一方面,采用計算機(jī)與軟件結(jié)合的方法設(shè)計虛擬波形記錄器。目前許多虛擬儀器已經(jīng)可以實現(xiàn)大部分的波形記錄器功能,同時虛擬波形記錄器的存儲空間更大。但是由于受到計算機(jī)接口總線速度的影響,其性能也受到一定的限制。目前,市場上的波形記錄器大多采用CPLD、FPGA等可編程器件作為核心部件實現(xiàn)高速數(shù)字存儲,同時外帶友好的人機(jī)交互界面,采用LCD顯示,但隨之而來的是成本的快速上升,市場價格昂貴,不適

15、合廣泛運用。針對目前國內(nèi)缺少結(jié)構(gòu)簡單,功能適中,造價低的波形記錄器的情況,本文設(shè)計了一個基于51系列單片機(jī)控制的單片機(jī)波形記錄器,用于記錄如溫度、濕度等緩慢變化信號波形。通過信號采集,數(shù)據(jù)轉(zhuǎn)換等過程將波形存儲,通過接入示波器使波形得以復(fù)現(xiàn)。1.2課題(kt)的意義波形的記錄和分析是許多實際工作(gngzu)的基礎(chǔ):1. 波形記錄儀器是生產(chǎn)、科研和工程(gngchng)調(diào)試等工作必備的工具。 2. 測試、實驗中對測試對象的運行狀態(tài)的波形記錄與分析是測試與實驗的重要手段和對實驗結(jié)果進(jìn)行評價的重要依據(jù);3. 科研工作常常依賴波形記錄儀記錄、收集信息;事故分析更是離不開波形記錄儀提供的依據(jù)。因此該課題

16、的設(shè)計具有實際意義,通過設(shè)計可以提高獨立分析問題和解決問題的能力;可以培養(yǎng)創(chuàng)新意識和創(chuàng)新能力;可以增強(qiáng)個人理論分析、實驗研究、文獻(xiàn)查閱、計算機(jī)運用和文字表達(dá)等方面的能力;可以加深自己對理論知識的理解,以及實際操作的經(jīng)驗。1.3本論文研究內(nèi)容本次設(shè)計的主要內(nèi)容是學(xué)習(xí)和運用AT89S52單片機(jī)和8位D/A轉(zhuǎn)換芯片DAC0832共同實現(xiàn)正弦波、方波、三角波、鋸齒波這四種常見波形的發(fā)生。并且可以接收外接鍵盤輸入而在一定范圍內(nèi)改變頻率。通過該課題的設(shè)計掌握以AT89S52為核心的單片機(jī)系統(tǒng)的軟硬件開發(fā)過程和基本信號的產(chǎn)生原理、測量及誤差分析方法。同時掌握了函數(shù)發(fā)生器系統(tǒng)的設(shè)計流程。軟件方面主要是應(yīng)用C語

17、言設(shè)計程序。該系統(tǒng)的軟件可運行于Windows XP環(huán)境下,硬件電路設(shè)計具有典型性。同時本系統(tǒng)中任何一部分電路模塊均可移植于實用開發(fā)系統(tǒng)的設(shè)計中,電路設(shè)計具有實用性。第2章 系統(tǒng)(xtng)設(shè)計方案2.1 設(shè)計(shj)思路本系統(tǒng)(xtng)利用微機(jī)控制技術(shù)和數(shù)字存儲技術(shù),用于記錄如溫度、濕度等緩慢變化信號的波形。它首先對模擬信號進(jìn)行采樣獲得相應(yīng)的數(shù)字信號并存儲,存儲器中儲存的數(shù)據(jù)可用來在示波器的屏幕上重現(xiàn)信號波形,從而獲得所需要的各種信號參數(shù)。設(shè)計中采用自頂向下的方法,先確定系統(tǒng)的設(shè)計方案,再將系統(tǒng)劃分為幾個模塊設(shè)計。本章主要介紹了系統(tǒng)設(shè)計的主要功能,設(shè)計方案的確定和設(shè)計的主要思想。2.2系

18、統(tǒng)功能分析 根據(jù)系統(tǒng)設(shè)計的要求,系統(tǒng)的主要工作為被測信號的采樣、存儲和重現(xiàn)信號波形。 被測信號的采樣、存儲和重現(xiàn)信號波形過程如下:1.被測信號的采樣、存儲 輸入的被測信號的大小是一個可變化的值,在進(jìn)行A/D轉(zhuǎn)換前,信號通過調(diào)理,以適合A/D轉(zhuǎn)換器。單片機(jī)在啟動A/D轉(zhuǎn)換時還需考慮到與信號的同步問題。同時信號的采樣次數(shù)和存儲地址的分配也要求合理設(shè)計。每完成一次采樣,A/D轉(zhuǎn)換器向單片機(jī)申請中斷,單片機(jī)接受中斷,轉(zhuǎn)入中斷處理。在中斷處理中保存采樣數(shù)據(jù)。2.重現(xiàn)信號波形:波形重構(gòu)是通過D/A轉(zhuǎn)換器不斷快速重復(fù)地把A/D轉(zhuǎn)換過程中存儲在數(shù)據(jù)存儲器中的數(shù)字信號進(jìn)行D/A轉(zhuǎn)換,并按固定頻率輸出至通用模擬示

19、波器完成的。為了使呈現(xiàn)在示波器屏幕上的波形清晰無閃爍,D/A轉(zhuǎn)換必須足夠快。通過初步的分析與思考,將本系統(tǒng)配合通用示波器,需實現(xiàn)如下功能:1.采樣存儲的基本功能:將通用示波器難以觀察的單次變化的信號轉(zhuǎn)換為周期性的重復(fù)信號,實現(xiàn)對單次變化的信號進(jìn)行連續(xù)的觀察;并且,系統(tǒng)中的RAM需設(shè)有掉電保護(hù)措施,系統(tǒng)即使經(jīng)關(guān)機(jī)斷電后還能隨時再現(xiàn)原來的波形信號,達(dá)到了采樣存儲示波器的記憶功能效果。2.慢掃描的基本功能:緩慢變化的信號,先經(jīng)慢速的A/D采樣,然后再以幾倍的速度進(jìn)行D/A轉(zhuǎn)換,使信號波形的時間軸得以壓縮,壓縮的效果等效于示波器掃描速度的減小,使通用示波器具備觀察變化慢的信號的功能。2.3 總體設(shè)計思

20、想(sxing)本設(shè)計采用(ciyng)單片機(jī)做控制器,系統(tǒng)的設(shè)計包括硬件的設(shè)計和軟件的設(shè)計。根據(jù)系統(tǒng)的結(jié)構(gòu)框圖,設(shè)計時將硬件分為四部分:輸入電路、鍵盤顯示電路、控制(kngzh)存儲電路和輸出電路。輸入電路將待測模擬信號轉(zhuǎn)變?yōu)閿?shù)字量;鍵盤和顯示電路用于選擇、顯示輸入通道,啟動采樣和啟動波形的輸出;輸出電路包括D/A轉(zhuǎn)換電路以及雙極性變換電路,用以將數(shù)字量變?yōu)槟M量;控制部分需要結(jié)合軟件的設(shè)計,輸出各種控制邏輯。軟件的設(shè)計也按模塊劃分為:主程序設(shè)計和鍵盤掃描子程序的設(shè)計、A/D轉(zhuǎn)換子程序的設(shè)計、D/A轉(zhuǎn)換子程序的設(shè)計、LED顯示子程序的設(shè)計、數(shù)據(jù)存儲子程序和延時子程序的設(shè)計。設(shè)計的程序主要的功

21、能是實現(xiàn)鍵盤的控制與管理,控制波形的采樣和存儲以及波形的復(fù)現(xiàn)。當(dāng)然在設(shè)計時各個模塊也不是完全獨立,在每一步的設(shè)計中均需要綜合考慮系統(tǒng)的性能,同時在設(shè)計系統(tǒng)的硬件時便著手軟件的設(shè)計,注意了軟硬件的配合。2.4本章小結(jié)本章主要通過方塊圖展示了系統(tǒng)的設(shè)計結(jié)構(gòu)包括主機(jī)部分的設(shè)計,同時還設(shè)計了制作思路。第3章 硬件(yn jin)設(shè)計3.1 單片機(jī)概述(i sh)單片微型計算機(jī)簡稱(jinchng)單片機(jī),是典型的嵌入式 HYPERLINK /view/368297.htm 微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機(jī),單片機(jī)又稱 HYPERLINK /vie

22、w/154544.htm 單片微控制器,它不是完成某一個邏輯功能的 HYPERLINK /view/26651.htm 芯片,而是把一個 HYPERLINK /view/4646187.htm 計算機(jī)系統(tǒng)集成到一個芯片上。單片機(jī)由運算器,控制器,存儲器,輸入輸出設(shè)備構(gòu)成,相當(dāng)于一個微型的計算機(jī)(最小系統(tǒng)),和計算機(jī)相比, HYPERLINK /view/1012.htm 單片機(jī)缺少了外圍設(shè)備等。概括的講:一塊 HYPERLINK /view/26651.htm 芯片就成了一臺計算機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用 HYPERLINK /view/

23、1012.htm 單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。由于 HYPERLINK /view/1012.htm 單片機(jī)在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,單片機(jī)由僅有CPU的專用 HYPERLINK /view/50152.htm 處理器芯片發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和 HYPERLINK /view/2089.htm CPU集成在一個 HYPERLINK /view/26651.htm 芯片中,使 HYPERLINK /view/1130583.htm 計算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對體積要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的8080是最早按照這種思

24、想設(shè)計出的 HYPERLINK /view/50152.htm 處理器,當(dāng)時的 HYPERLINK /view/1012.htm 單片機(jī)都是8位或4位的。其中最成功的是 HYPERLINK /view/2396.htm INTEL的8051,此后在8051上發(fā)展出了 HYPERLINK /view/712784.htm MCS51系列 HYPERLINK /view/1012.htm 單片機(jī)系統(tǒng)。因為簡單可靠而性能不錯獲得了很大的好評。盡管2000年以后ARM已經(jīng)發(fā)展出了32位的 HYPERLINK /view/1058.htm 主頻超過300M的高端 HYPERLINK /view/1012

25、.htm 單片機(jī),直到現(xiàn)在基于8051的 HYPERLINK /view/1012.htm 單片機(jī)還在廣泛的使用。在很多方面單片機(jī)比專用 HYPERLINK /view/50152.htm 處理器更適合應(yīng)用于 HYPERLINK /view/6115.htm 嵌入式系統(tǒng),因此它得到了廣泛的應(yīng)用。事實上 HYPERLINK /view/1012.htm 單片機(jī)是世界上數(shù)量最多 HYPERLINK /view/50152.htm 處理器,隨著單片機(jī)家族的發(fā)展壯大,單片機(jī)和專用處理器的發(fā)展便分道揚鑣?,F(xiàn)代人類生活中所用的幾乎每件有電子器件的產(chǎn)品中都會集成有 HYPERLINK /view/1012.

26、htm 單片機(jī)。手機(jī)、 HYPERLINK /view/3248.htm 電話、 HYPERLINK /view/42510.htm 計算器、家用電器、電子玩具、 HYPERLINK /view/30816.htm 掌上電腦以及鼠標(biāo)等電子產(chǎn)品中都含有 HYPERLINK /view/1012.htm 單片機(jī)。 汽車上一般配備40多片 HYPERLINK /view/1012.htm 單片機(jī),復(fù)雜的 HYPERLINK /view/3094773.htm 工業(yè)控制系統(tǒng)上甚至可能有數(shù)百片單片機(jī)在同時工作。單片機(jī)的數(shù)量不僅遠(yuǎn)超過PC機(jī)和其他計算機(jī)的總和,甚至比人類的數(shù)量還要多13。3.1.1單片機(jī)A

27、T89S52AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統(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口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路

28、。另外,AT89S52可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。P0口:P0口是一個8位漏極開路的雙向I/O口。作為(zuwi)輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動4個TTL邏輯電平(din pn)。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。P2口:P2口是一個具

29、有(jyu)內(nèi)部上拉電阻的8位雙向I/O口,對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。P3口:P3口是一個具有內(nèi)部上拉電阻的8 位雙向I/O口,p3 輸出緩沖器能驅(qū)動4個TTL邏輯電平。RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S52由外部程

30、序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。對于 AT89S52,如果EA接VCC,程序讀寫先從內(nèi)部存儲器(地址為0000H1FFFH)開始,接著從外部尋址,尋址地址為:2000HFFFFH。 數(shù)據(jù)存儲器:AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128字節(jié)與特殊功能寄存器重疊。也就是說高12

31、8字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。 AT89S52具有如下特點:40個引腳,8k Bytes Flash 片內(nèi)程序儲存器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/0)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。此外,AT89S52設(shè)計和配置了振蕩頻率可為0HZ并通過軟件設(shè)置省電模式??臻e模式,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其他功能直至外中斷激活或硬件復(fù)位123。同時該芯片還具有

32、PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求,AT89S52引腳如圖3-1所示。主要功能特性:兼容Mcs-51指令系統(tǒng) 8K可反復(fù)擦寫ISP Flash ROM32個雙向I/O口 4.55.5v工作電壓3個16位可編程定時(dn sh)計數(shù)器 時鐘(shzhng)頻率0-33MHz全雙工作UART穿行(chun xn)中斷口線256bit內(nèi)部RAM2個外部中斷源 低功耗空閑和省電模式中斷喚醒省電模式 3級加密位 看門狗(WDT)電路 軟件設(shè)置空閑和省電功能靈活的ISP字節(jié)和分頁編程 雙數(shù)據(jù)寄存器指針圖3-1 單片機(jī)引腳圖3.1.2 復(fù)位電路無論使用哪種類型的單片機(jī),總要涉及

33、到單片機(jī)復(fù)位電路的設(shè)計。而單片機(jī)復(fù)位電路設(shè)計的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設(shè)計完單片機(jī)系統(tǒng),并在實驗室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機(jī)”、“程序走飛”等現(xiàn)象,這主要是單片機(jī)的復(fù)位電路設(shè)計不可靠引起的。單片機(jī)在啟動時都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機(jī)的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機(jī)器周期(24個振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位。 手動按鈕復(fù)位需要人為在復(fù)位輸入

34、端RST上加入高電平。一般采用的辦法是在RST端和正電源Vcc之間接一個按鈕。當(dāng)人為按下按鈕時,則Vcc的+5V電平就會直接加到RST端。手動按鈕復(fù)位的電路如所示。由于人的動作再快也會使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時間要求。AT89S52的上電復(fù)位,只要在RST復(fù)位輸入引腳上接一電容至Vcc端,下接一個電阻到地即可。對于CMOS型單片機(jī),由于在RST端內(nèi)部有一個下拉電阻,故可將外部電阻去掉,而將外接電容減至1?F。上電復(fù)位的工作過程是在加電時,復(fù)位電路通過電 容加給RST端一個短暫的高電平信號,此高電平信號隨著Vcc對電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時間取決

35、于電容的充電時間。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號必須維持足夠長的時間。上電時,Vcc的上升時間約為10ms,而振蕩器的起振時間取決于振蕩頻率,如晶振頻率為10MHz,起振時間為1ms;晶振頻率為1MHz,起振時間則為10ms。在圖2的復(fù)位電路中,當(dāng)Vcc掉電時,必然會使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個負(fù)電壓將不會對器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時得不到有效的復(fù)位,則程序計數(shù)器PC將得不到一個合適的初值,因此,CPU可能會從一個未被定義的位置開始執(zhí)行程序。常用的上電或開關(guān)復(fù)

36、位。上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時間的高電平。當(dāng)單片機(jī)已在運行當(dāng)中時,按下復(fù)位鍵K后松開,也能使RST為一段時間的高電平,從而(cng r)實現(xiàn)上電或開關(guān)復(fù)位的操作。單片機(jī)復(fù)位電路的基本功能是:系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠(kko)起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位。在單片機(jī)的RST引腳引入高電平并保持2個機(jī)器周期時,單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作。實際應(yīng)用中,復(fù)位操作有兩種形式:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位。上電復(fù)位只要在RST復(fù)位輸入引腳上接一電

37、容至VCC端,下接一個電阻到地即可。上電復(fù)位要求接通電源后,單片機(jī)自動實現(xiàn)復(fù)位操作。上電瞬間(shn jin)RST引腳獲得高電平,隨著電容的充電,RST引腳的高電平逐漸下降。只要RST引腳保持兩個機(jī)器周期的高電平單片機(jī)就可以進(jìn)行復(fù)位操作。手動按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平,一般采用的辦法是在RST端和正電源VCC之間接一個按鈕。當(dāng)人為按下時,則VCC的+5V電平就會直接加到RST端47。本設(shè)計用的上電與接鍵均有效的復(fù)位。電路圖如3-2所示:圖3-2 復(fù)位電路圖3.1.3 振蕩(zhndng)特性計算機(jī)工作時,是在統(tǒng)一的時鐘脈沖控制下一拍一拍地進(jìn)行的。這個脈沖是由單片機(jī)控制器中

38、的時序電路發(fā)出的。單片機(jī)的時序就是CPU在執(zhí)行指令時所需控制信號的時間順序,為了保證各部件(bjin)間的同步工作,單片機(jī)內(nèi)部電路應(yīng)在唯一的時鐘信號下嚴(yán)格地控時序進(jìn)行工作。要給我們的計算機(jī)CPU提供時序,就需要相關(guān)的硬件(yn jin)電路,即振蕩器和時鐘電路。89S52單片機(jī)內(nèi)部有一個高增益反相放大器,這個反相放大器的作用就是用于構(gòu)成振蕩器用的,但要形成時鐘,外部還需要加一些附加電路。89S52單片機(jī)的時鐘產(chǎn)生有以下兩種方法:內(nèi)部時鐘方式:利用單片機(jī)內(nèi)部的振蕩器,然后在引腳XTAL1(18腳)和XTAL2(19腳)兩端接晶振,就構(gòu)成了穩(wěn)定的自激振蕩器,其發(fā)出的脈沖直接送入內(nèi)部時鐘電路,外接晶

39、振時,晶振兩端的電容一般選擇為30PF左右;這兩個電容對頻率有微調(diào)的作用,晶振的頻率范圍可在1.2MHz-12MHz之間選擇。為了減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作,振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近。外部時種方式:此方式是利用外部振蕩脈沖接入XTAL1或XTAL2。HMOS和CHMOS單片機(jī)外時鐘信號接入方式不同,HMOS型單片機(jī)(例如8051)外時鐘信號由XTAL2端腳注入后直接送至內(nèi)部時鐘電路,輸入端XTAL1應(yīng)接地。由于XTAL2端的邏輯電平不是TTL的,故建議外接一個上接電阻。對于CHMOS型的單片機(jī)(例如80C51),因內(nèi)部時鐘發(fā)生器的信號取自反相器的輸入端,故

40、采用外部時鐘源時,接線方式為外時鐘信號接到XTAL1而XTAL2懸空。外接時鐘信號通過一個二分頻的觸發(fā)器而成為內(nèi)部時鐘信號,要求高、低電平的持續(xù)時間都大于20ns,一般為頻率低于12MHz的方波。片內(nèi)時鐘發(fā)生器就是上述的二分頻觸發(fā)器,它向芯片提供了一個2節(jié)拍的時鐘信號。前面已提到,計算機(jī)工作時,是在統(tǒng)一的時鐘脈沖控制下一拍一拍地進(jìn)行的。由于指令的字節(jié)數(shù)不同,取這些指令所需要的時間也就不同,即使是字節(jié)數(shù)相同的指令,由于執(zhí)行操作有較大的差別,不同的指令執(zhí)行時間也不一定相同,即所需的拍節(jié)數(shù)不同。為了便于對CPU時序進(jìn)行分析,一般按指令的執(zhí)行過程規(guī)定了幾個周期時鐘電路由外接諧振器的時鐘振蕩器、時鐘發(fā)生

41、器及關(guān)斷控制信號等組成。時鐘振蕩器是單片機(jī)的時鐘源,時鐘發(fā)生器對振蕩器的輸出信號進(jìn)行二分頻,關(guān)斷控制信號用于單片機(jī)的功耗管理可關(guān)閉時鐘振蕩器,也可關(guān)閉CPU的時鐘,降低單片機(jī)的功耗。時鐘電路:單片機(jī)的時鐘信號通常有兩種方式生產(chǎn):一是內(nèi)部時鐘方式,二是外部時鐘方式。本設(shè)計采用內(nèi)部時鐘方式,在單片機(jī)內(nèi)部有一振蕩電路,只要在單片機(jī)的XTAL1和XTAL2腳外接石英晶體(簡稱晶振),就構(gòu)成了自己震蕩器并在單片機(jī)內(nèi)部產(chǎn)生時鐘脈沖信號。圖3-3 振蕩電路(zhn dn din l)圖圖3-3中電容器的作用是穩(wěn)定(wndng)頻率和快速起振,電容值在530pF,典型值為30pF,晶振Y1的振蕩頻率范圍在1.

42、212MHz和6MHz.本設(shè)計采用12MHz晶振,電容值為30pF。在電路(dinl)總體設(shè)計中,先從片內(nèi)程序儲存器取指還是從內(nèi)部程序儲存器取指的選擇信號。當(dāng)EAVpp接高電平時,先從片內(nèi)程序存儲器讀取指令,讀完4KB后,自動改為片外取指。若EAVpp接低電平,則所有指令均從片外程序存儲器讀取。ALE腳用于輸出允許地址所存信號。PSEN腳用于外部程序存儲器選通信號,在對外部程序存儲器取指操作時此引腳置低電平有效。在執(zhí)行片內(nèi)程序存儲器取指時PESN腳無效。本設(shè)計無片外程序儲存區(qū)擴(kuò)展,所以將EAVpp接高電平,ALE及PSEN腳懸空。3.2 液晶顯示電路在本畢業(yè)設(shè)計中,波形的顯示是采用簡單的液晶L

43、CD 1602顯示屏。LCD(Liquid Crystal Display)是液晶顯示器英文名稱的縮寫,液晶顯示器是一種被動式的顯示器,即液晶本身并不發(fā)光,而是利用液晶經(jīng)過處理后能改變光線通過方向的特性,達(dá)到白底黑字或黑底白字顯示的目的。液晶顯示器具有功耗低、抗干擾能力強(qiáng)等優(yōu)點。3.2.1 LCD 1602功能介紹LCD 1602也被稱作1602字符型液晶。它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊,它有若干個或者等點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔,每行之間也有也有間隔,這樣則起到了字符間距和行間距的作用,也正因為如此,它不能顯示圖形。LC

44、D 1602是指顯示(xinsh)的內(nèi)容為,即可以(ky)顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。LCD 1602實物圖如圖3-4所示,LCD 1602引腳圖如圖3-5所示。圖3-4 LCD 1602實物圖圖3-5 LCD 1602引腳圖目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便(fngbin)地應(yīng)用于市面上大部分的字符型液晶。3.2.2 LCD 1602性能參數(shù)LCD 1602的主要技術(shù)參數(shù)及應(yīng)用配置如表3-1所示。表3-1 芯片的主要技術(shù)參數(shù)及應(yīng)用配置顯示容量:162個字符芯片工作電壓:4.55.

45、5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.954.35(WXH)mmLCD1602的管腳排列(pili)如圖3-6所示,它共有(n yu)16個引腳,各引腳功能如表3-2所示。詳細(xì)說明(shumng)如下:(1)VSS:電源地;(2)VDD:電源正極;(3)VL:液晶顯示偏壓信號,對比度調(diào)整端,接地時最高,接正電源最低,可接10K,電位器調(diào)整;(4)RS:寄存器選擇,高電平選擇數(shù)據(jù)寄存器,低電平選擇指令寄存器;(5)R/W:讀/寫選擇端,高電平讀操作,低電平寫操作;(6)E使能信號,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令;(7)BLA背光源正極;BLK

46、背光源負(fù)極;(8)D0D7數(shù)據(jù)端口。圖3-6 LCD 1602的管腳排列表3-2 LCD 1602管腳功能及說明編號符號引腳說明1VSS電源地2VDD電源正極3VL液晶顯示偏壓信號4RS數(shù)據(jù)/命令選擇端(H/L)5R/W讀/寫選擇端(H/L)6E使能信號7D0Data I/O8D1Data I/O9D2Data I/O10D3Data I/O11D4Data I/O12D5Data I/O13D6Data I/O14D7Data I/O15BLA背光源正16BLK背光源負(fù)LCD 1602的主要(zhyo)技術(shù)參數(shù)如表3-3所示。表3-3 LCD 1602A主要(zhyo)技術(shù)參數(shù)指令碼功能00

47、111000設(shè)置16*2顯示,5*7點陣,8位數(shù)據(jù)接口 LCD 1602顯示(xinsh)模式如表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)讀/寫一個字符后,地址指針加1,且光標(biāo)加1;N=0 當(dāng)讀/寫一個字符后,地址指針減1,且光標(biāo)減1;S=1 當(dāng)寫一個字符,整屏顯示左移(N=1)或者右移(N=0),以得到光標(biāo)不移動而整屏移動的效果;S=0 當(dāng)寫一個字符,整屏顯示不移動。3.2.3 LCD 1602與單片機(jī)連接(linji)LCD 1602可以

48、采用兩種方式與單片機(jī)連接,一種是采用8位數(shù)據(jù)總線D0D7,和RS、R/W、EN三個控制端口;另一種是只用D4D7作為四位數(shù)據(jù)分兩次傳送。本實驗將使用并采用八位(b wi)數(shù)據(jù)方式來控制1602顯示,如圖3-7所示。圖3-7 AT89S52與LCD1602接口(ji ku)電路圖進(jìn)行LCD設(shè)計主要是LCD的控制/驅(qū)動和外界的接口設(shè)計。控制主要是通過接口與外界通信、管理內(nèi)/外顯示RAM,控制驅(qū)動器,分配顯示數(shù)據(jù);驅(qū)動主要是根據(jù)控制器要求,驅(qū)動LCD進(jìn)行顯示??刂破鬟€常含有內(nèi)部ASCII字符庫,或可外擴(kuò)的大容量漢字庫。單片機(jī)AT89S52的P1.1與LCD 1602的使能端E相連,GND與讀寫選擇端

49、R/W相連,P1.0與RS相連,當(dāng)使能端使能時,再通過命令選擇端來控制讀數(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)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”。LCD 1602液晶模塊內(nèi)部的控制器共有11條控制指令,它的讀寫操作、屏幕和光標(biāo)

50、的操作都是通過(tnggu)指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示(xinsh),指令碼01H,光標(biāo)復(fù)位到地址00H位置;指令2:光標(biāo)復(fù)位(f wi),光標(biāo)返回到地址00H;指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動方向,高電平右移,低電平左移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:高電平時移動顯示的文字,低電平時移動光標(biāo);指令

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

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

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

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

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

56、入正確開鎖時,經(jīng)過三極管放大電流(dinli)驅(qū)動蜂鳴器工作。圖3-10 蜂鳴電路(dinl) 3.5 本章(bn zhn)小結(jié)本章主要介紹(jisho)了單片機(jī)各個引腳的功能,并講述了單片機(jī)的復(fù)位電路、振蕩電路以及本設(shè)計中的紅外發(fā)射和接收電路、矩陣鍵盤、顯示電路、蜂鳴電路和開鎖電路。第4章 軟件設(shè)計4.1主程序的設(shè)計(shj)系統(tǒng)的軟件部分(b fen)以主程序為入口,在初始化之后調(diào)用鍵盤管理程序,完成對鍵盤的掃描,讀入鍵值,并根據(jù)相應(yīng)的鍵值調(diào)用D/A轉(zhuǎn)換(zhunhun)子程序或A/D轉(zhuǎn)換子程序。作為程序的入口,主程序控制各類程序的調(diào)用。在系統(tǒng)中其主要的任務(wù)是在鍵盤中斷子程序執(zhí)行完后,調(diào)用

57、D/A轉(zhuǎn)換子程序或A/D轉(zhuǎn)換子程序,設(shè)串行口方式和中斷的觸發(fā)方式,初始化各數(shù)據(jù)緩沖區(qū),而系統(tǒng)其它的功能都由各子程序完成。這樣處理主程序起到了分散功能的作用,即主程序會變得很容易編寫,而具體的功能都由功能子程序完成。主程序流程圖如圖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)換(zhunhun)子程序的設(shè)計A/D轉(zhuǎn)換子程序是系統(tǒng)功能實現(xiàn)的一個重要的組成,其主要功能是:選擇相應(yīng)的參考電壓、轉(zhuǎn)換通道

58、和存儲區(qū),然后啟動A/D轉(zhuǎn)換,并判斷采樣次數(shù)是否完成。在硬件設(shè)計時,每個通道和一個參考電壓對應(yīng)了起來,即每個通道對應(yīng)不同的輸入信號的范圍,這樣記錄波形前可估計(gj)波形的電壓大下,選擇不同的按鍵,以接入不同的通道。軟件主要是根據(jù)KEY存儲器中的鍵值,選擇不同的通道和參考電壓。在系統(tǒng)中,為了能完整地覆蓋被測的整個變化過程,采樣點取16256個點。 同時在本子程序中根據(jù)(gnj)鍵值的不同還要選擇不同的存儲區(qū)。當(dāng)采樣結(jié)束時,EOC信號向AT89C51申請中斷,AT89S52接受中斷讀取轉(zhuǎn)換結(jié)果。開 始轉(zhuǎn)換次數(shù)賦初值讀取按鍵值,根據(jù)按鍵值,選擇相應(yīng)通道和A/D轉(zhuǎn)換器參考電壓啟動A/D轉(zhuǎn)換轉(zhuǎn)換是否結(jié)

59、束NY已全部完成采樣次數(shù)?NY返 回圖4-2 A/D轉(zhuǎn)換(zhunhun)子程序流程圖 4.3 D/A轉(zhuǎn)換(zhunhun)子程序的流程圖D/A轉(zhuǎn)換子程序是波形重構(gòu)的組成,主要的任務(wù)是完成輸出數(shù)據(jù)區(qū)的選擇,啟動D/A轉(zhuǎn)換。在采集時不同通道采集的數(shù)據(jù)放在不同的數(shù)據(jù)存儲區(qū),因此在輸出波形時也需要根據(jù)按健值來選擇不同的數(shù)據(jù)存儲地址,同時每完成一個通道數(shù)據(jù)的轉(zhuǎn)換就查尋一次是否要繼續(xù)(jx)轉(zhuǎn)換。在本設(shè)計中,DAC0832采用的是雙緩沖方式。開 始是否選擇通道選擇數(shù)據(jù)存儲首地址NYDAC0832賦初值發(fā)送數(shù)據(jù)全部發(fā)送完?停止繼續(xù)發(fā)送返 回NYN圖4-3 D/A轉(zhuǎn)換(zhunhun)子程序流程圖 4.4軟

60、件(run jin)抗干擾措施在系統(tǒng)的運行(ynxng)過程中可能出現(xiàn)各種干擾,如信號不穩(wěn)定、電路板抗干擾能力差、程序跑飛等,也可能在搬運或者使用過程中對電路板或者元器件的磨損等。所以在設(shè)計過程中應(yīng)做好抗干擾設(shè)計,以求將干擾對系統(tǒng)產(chǎn)生的影響降到最低,而軟件抗干擾具有投資低的優(yōu)點。本文采用的軟件抗干擾措施如下:(1) 指令冗余 當(dāng)CUP受到干擾后,往往將一些操作數(shù)當(dāng)作指令碼來執(zhí)行,引起程序的混亂,我們首先要盡快將程序納入正軌,也就是(jish)讓程序彈飛到某一個單字節(jié)指令NOP,這就是指令冗余。因此,常在一些對程序的流向起決定作用的指令之前插入兩條NOP指令,以保證彈飛的程序迅速納入正確的控制軌

溫馨提示

  • 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

提交評論