裝配圖薄膜諧振式液位高度測(cè)量用頻率計(jì)的設(shè)計(jì)與制作(論文+DWG圖紙+外文翻譯+文獻(xiàn)綜述+開題報(bào)告)
裝配圖薄膜諧振式液位高度測(cè)量用頻率計(jì)的設(shè)計(jì)與制作(論文+DWG圖紙+外文翻譯+文獻(xiàn)綜述+開題報(bào)告),裝配,薄膜,諧振,式液位,高度,測(cè)量,丈量,頻率計(jì),設(shè)計(jì),制作,論文,dwg,圖紙,外文,翻譯,文獻(xiàn),綜述,開題,報(bào)告,講演,呈文
摘 要
本文介紹了一種以單片機(jī)(AT89C51)為核心與薄膜諧振式水位傳感器配套使用的液位高度測(cè)量用頻率計(jì)的設(shè)計(jì)與制作。還介紹了諧振式水位傳感器的新型傳感原理,傳感器的結(jié)構(gòu),數(shù)字振蕩電路的特點(diǎn),闡述了水位與頻率的對(duì)應(yīng)關(guān)系。薄膜諧振式水位傳感器內(nèi)置三點(diǎn)式水位傳感器振蕩電路,該振蕩電路的固有頻率隨水位的變化而變化,通過檢測(cè)該振蕩電路的固有頻率來判定水位的高低。
該頻率計(jì)直接利用單片機(jī)內(nèi)部的計(jì)數(shù)器對(duì)薄膜諧振式水位傳感器的頻率脈沖信號(hào)進(jìn)行計(jì)數(shù),然后利用單片機(jī)的定時(shí)功能實(shí)現(xiàn)對(duì)頻率的檢測(cè),最后通過LED動(dòng)態(tài)顯示電路顯示數(shù)值。在設(shè)計(jì)中應(yīng)用了單片機(jī)的運(yùn)算和控制功能,滿足測(cè)量的精度要求,該頻率測(cè)量儀器測(cè)量誤差小于±10Hz測(cè)頻性能穩(wěn)定可靠,可單獨(dú)使用,也可方便嵌入系統(tǒng)中。
該頻率計(jì)具有結(jié)構(gòu)簡單、價(jià)格低、精度高、操作簡單、并且降低產(chǎn)品的成本,有利于新產(chǎn)品的設(shè)計(jì)與研制、等特點(diǎn)。隨著單片機(jī)應(yīng)用技術(shù)的發(fā)展,越來越多的測(cè)量儀器都采用單片機(jī)作為系統(tǒng)進(jìn)行設(shè)計(jì),應(yīng)用單片機(jī)進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)系統(tǒng)結(jié)構(gòu)簡單、控制方便、硬件設(shè)計(jì)需要外圍器件較少,軟件設(shè)計(jì)可采用匯編語言編程,匯編語言具有編程方便、運(yùn)算效率高、占用內(nèi)存少等優(yōu)點(diǎn)。
關(guān)鍵詞: 液位檢測(cè);頻率測(cè)量;傳感器;單片機(jī)
Abstract
This paper presents the design and fabrication of a Microprocessor (AT89C51)based film resonant with the water level sensor supporting the use of the liquid level measurement frequencymeter.The principle of new resonator water level sensor is mainly introduced.The internal structure of this Sensor and the characteristic of numeral oscillation circuit are analyze dindetails.There ationship between frequently and water level is expounded.Films resonant water level sensor built-in three-point level sensor oscillation circuit.The oscillator circuit changed with the natural frequency of the water level. By detecting the oscillation circuit natural frequency to determine the level of water.
The frequencymeter use the Microprocessor internal counter to counting the film resonant frequency of the water level sensor pulse,then Microprocessor regular function to achieve frequency testing, final adoption of LED display circuit dynamic numerical show.Application of the design of the 89C51 operation and control functions,Meet the required precision measurement,The error of the frequency measurement instrument is less than ±10Hz,Performance measurement frequency stability and reliability,Also it can be used alone, and easily embedded in the system.
The frequency- meter also has a simple structure, low cost, high accuracy and simple operation,reduce the cost of the product and facilitate the design and development of new product and so on. With the development of the Microprocessor technology, a growing number of measuring instruments are used as a single chip computer system design. Microprocessor system design is simple, easy to control, hardware design requires fewer external components, Software Design use assembly language programming, because assembly language with high computational efficiency and low memory consume.
Keywords: Water Level Measurement; Frequency Measurement; Sensors;
Microprocessor
目 錄
1 緒論...............................................................1
1.1選題的目的及意義 1
1.2 頻率測(cè)量儀器的現(xiàn)狀及發(fā)展 1
1.3 頻率計(jì)的設(shè)計(jì)內(nèi)容及要求 2
2 薄膜諧振式水位傳感器應(yīng)用...........................................3
2.1 薄膜諧振式水位傳感器概述 3
2.1.1 薄膜諧振式水位傳感器的結(jié)構(gòu) 3
2.1.2水位傳感器的工作原理 3
2.2薄膜諧振式水位傳感器的功能簡介 4
2.2.1水位檢測(cè) 4
2.2.2水位與頻率關(guān)系的對(duì)應(yīng) 4
3 頻率計(jì)總體方案設(shè)計(jì).................................................6
3.1方案論證與比較 6
3.1.1 方案一 6
3.1.2 方案二 7
3.2 方案選擇 7
4 頻率計(jì)硬件分析與設(shè)計(jì)...............................................8
4.1頻率計(jì)系統(tǒng)的組成與基本工作原理 8
4.1.1 系統(tǒng)組成 8
4.1.2 系統(tǒng)設(shè)計(jì)原理 8
4.1.3 測(cè)頻原理 9
4.2 AT89C51單片機(jī)在本系統(tǒng)中的應(yīng)用 9
4.2.1 AT89C51簡介 9
4.2.2 AT89C51器件的基本結(jié)構(gòu) 11
4.2.3 AT89C51的定時(shí)器/計(jì)數(shù)器 13
4.2.4 AT89C51外圍電路設(shè)計(jì) 14
4.3 地址鎖存器74LS373介紹 14
4.4 八路反相緩沖器74LS240應(yīng)用 15
4.5 顯示電路 16
4.5.1顯示電路設(shè)計(jì) 16
4.5.2單片機(jī)驅(qū)動(dòng)數(shù)碼管原理 17
4.6 硬件總電路圖 17
5 軟件設(shè)計(jì).........................................................18
5.1主程序設(shè)計(jì) 18
5.2 中斷服務(wù)子程序設(shè)計(jì) 19
5.3 顯示子程序設(shè)計(jì) 20
6 運(yùn)行與調(diào)試........................................................21
6.1硬件調(diào)試 21
6.2 軟件程序調(diào)試 22
6.2.1 MedWin仿真軟件簡介 22
6.2.2 匯編語言程序的仿真調(diào)試 22
6.3系統(tǒng)聯(lián)調(diào) 23
7 結(jié)論與展望........................................................25
7.1 結(jié)論 25
7.2 展望 25
謝辭................................................................26
參考文獻(xiàn)............................................................27
附錄 1..............................................................28
程序清單 28
附錄 2..............................................................33
硬件總電路圖 33
I
薄膜諧振式液位高度測(cè)量用頻率計(jì)的設(shè)計(jì)與制作
1緒論
1.1選題的目的及意義
頻率測(cè)量儀器在生產(chǎn)和科研的各個(gè)部門都有使用,也是某些大型系統(tǒng)的重要組成部分;利用單片機(jī)的定時(shí)計(jì)數(shù)功能設(shè)計(jì)的信號(hào)頻率測(cè)量儀,可單獨(dú)使用,也可方便嵌入系統(tǒng)中。實(shí)現(xiàn)頻率測(cè)量有專用的頻率測(cè)量儀器,但不易用于特殊場(chǎng)合。本文介紹了一種以單片機(jī)為核心構(gòu)成的與薄膜諧振式水位傳感器配套使用的專用頻率計(jì)。該頻率計(jì)直接用單片機(jī)的計(jì)數(shù)器對(duì)薄膜諧振式水位傳感器的頻率脈沖計(jì)數(shù),然后利用單片機(jī)的定時(shí)功能,從而實(shí)現(xiàn)頻率的檢測(cè)。
在一些特殊場(chǎng)合只需要用到一般測(cè)量用頻率計(jì)就可以,但市場(chǎng)上出售的大多都是多功能頻率計(jì),且價(jià)格較高,使用起來成本較高。為此,需要設(shè)計(jì)用于固定場(chǎng)合的專用頻率計(jì)。本設(shè)計(jì)介紹一種與薄膜諧振式水位傳感器配套使用的頻率計(jì)。利用薄膜諧振式水位傳感器來檢測(cè)容器內(nèi)液位高度是一般液位高度檢測(cè)方法之一。目前,在全自動(dòng)洗衣機(jī)中多使用薄膜諧振式水位傳感器來檢測(cè)桶內(nèi)的水位,薄膜諧振式水位傳感器內(nèi)置三點(diǎn)式水位傳感器振蕩電路,該振蕩電路的固有頻率隨水位的變化而變化,通過檢測(cè)該振蕩電路的頻率來判定水位的高低。該頻率計(jì)根據(jù)頻率計(jì)的基本原理,本文設(shè)計(jì)方案的基本思想是一種基于單片機(jī)AT89C51制作的頻率計(jì)的設(shè)計(jì)方法,用匯編語言對(duì)單片機(jī)編程,實(shí)現(xiàn)了閘門控制信號(hào)、計(jì)數(shù)電路、鎖存電路、位選電路、段選電路、顯示電路等。
測(cè)頻一直以來都是電子和通訊系統(tǒng)工作的重要手段之一,高精度的頻率測(cè)量儀和頻率發(fā)生器有著廣泛的市場(chǎng)前景。傳統(tǒng)的頻率測(cè)量儀器都是采用的是在低頻段采用測(cè)周法,再高頻段采用測(cè)頻法,其精度往往會(huì)隨著被測(cè)頻率的下降而下降。頻率信號(hào)抗干擾性強(qiáng),易于傳輸,可以達(dá)到較高確度的測(cè)量,所以在測(cè)控系統(tǒng)中,測(cè)頻方法的研究越來越受到重視。多種非頻率量的傳感信號(hào)要轉(zhuǎn)化為頻率量進(jìn)行測(cè)量。由于單片機(jī)內(nèi)部含有穩(wěn)定度較高的頻率源、定時(shí)/計(jì)數(shù)器等硬件,能很方便的對(duì)外部信號(hào)或標(biāo)準(zhǔn)信號(hào)進(jìn)行計(jì)數(shù),并且可以進(jìn)行計(jì)數(shù)的邏輯控制以及數(shù)據(jù)存儲(chǔ)運(yùn)算等,使得基于單片機(jī)的頻率測(cè)量系統(tǒng)可以具有更小的體積、更實(shí)用的功能及更便宜的價(jià)格。
1.2 頻率測(cè)量儀器的現(xiàn)狀及發(fā)展
隨著電子技術(shù)的不斷發(fā)展,單片機(jī)應(yīng)用技術(shù)正在逐漸向工業(yè)控制和測(cè)量儀器儀表系統(tǒng)設(shè)計(jì)領(lǐng)域滲透,在現(xiàn)代化的工業(yè)生產(chǎn)、科學(xué)研究等領(lǐng)域中,頻率的測(cè)量是很普遍的。由于單片機(jī)內(nèi)部含有穩(wěn)定度較高的標(biāo)準(zhǔn)頻率源、定時(shí)/計(jì)數(shù)器等硬件,能很方便地對(duì)外部信號(hào)或標(biāo)準(zhǔn)頻率信號(hào)進(jìn)行計(jì)數(shù), 并且可以進(jìn)行計(jì)數(shù)的邏輯控制以及數(shù)據(jù)存儲(chǔ)運(yùn)算等, 使得基于單片機(jī)的頻率測(cè)量系統(tǒng)可以具有更小的體積、更實(shí)用的功能及更便宜的價(jià)格。頻率的測(cè)量通常有兩種方法:測(cè)頻法和測(cè)周法。由于量化誤差的影響,測(cè)頻法在高頻測(cè)量時(shí)準(zhǔn)確度較高,測(cè)周法在低頻測(cè)時(shí)準(zhǔn)確度較高,但無論是精確測(cè)頻法還是測(cè)周法,量化誤差都將在中界頻率附近產(chǎn)生較大的誤差。
頻率計(jì)是一種基礎(chǔ)測(cè)量儀器,到目前為止已有30多年的發(fā)展史。早期,設(shè)計(jì)者們追求的目標(biāo)主要是擴(kuò)展測(cè)量范圍,再加上提高測(cè)量精度、穩(wěn)定度等,這些也是人們衡量頻率測(cè)量儀的技術(shù)水平,決定頻率計(jì)價(jià)格高低的主要依據(jù)。目前這些基本技術(shù)日臻完善,成熟。應(yīng)用現(xiàn)代技術(shù)可以輕松地將頻率計(jì)的測(cè)頻上限擴(kuò)展到微波頻段。
目前,頻率測(cè)量儀器正向一個(gè)寬頻域、高精度的頻率計(jì)方向發(fā)展,在高頻段采用直接測(cè)頻法,而在低頻段采用測(cè)周期法,結(jié)合高精度恒誤差的原理,設(shè)計(jì)出測(cè)量精度與被測(cè)頻率無關(guān)的頻率計(jì)
隨著科學(xué)技術(shù)的發(fā)展,用戶對(duì)頻率計(jì)也提出了新的要求。對(duì)于低檔產(chǎn)品要求使用操作方便,量程(足夠)寬,可靠性高,價(jià)格低。而對(duì)于中高檔產(chǎn)品, 則要求有高分辨率,高精度,高穩(wěn)定度,高測(cè)量速率;除通常通用頻率計(jì)所具有的功能外,還應(yīng)具有數(shù)據(jù)處理功能等。由于微電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,微波頻率計(jì)都在不斷地進(jìn)步著,靈敏度不斷提高,頻率范圍不斷擴(kuò)大,功能不斷地增加。一些計(jì)數(shù)器可以測(cè)量脈沖參數(shù),并提供類似于頻率分析儀的屏幕顯示;對(duì)這些具有不同功能不同規(guī)格的眾多儀器,我們應(yīng)該視測(cè)試需要正確地選擇,以達(dá)到最經(jīng)濟(jì)和最佳的應(yīng)用效果。
1.3 頻率計(jì)的設(shè)計(jì)內(nèi)容及要求
本頻率計(jì)的設(shè)計(jì)是基于單片機(jī)AT89C51的和薄膜諧振式水位傳感器配套使用的用于液位測(cè)量的頻率測(cè)量儀,這就要求設(shè)計(jì)者在充分了解薄膜諧振式水位傳感器特性的基礎(chǔ)上進(jìn)行系統(tǒng)的設(shè)計(jì)。設(shè)計(jì)內(nèi)容主要包括單片機(jī)外圍電路、鎖存電路、位選電路、段選電路、顯示電路等。頻率測(cè)量是電子測(cè)量的重要領(lǐng)域。
近幾年來的科學(xué)技術(shù)發(fā)展要求頻率標(biāo)準(zhǔn)具有更高的準(zhǔn)確度和穩(wěn)定性。頻率測(cè)量的突出地位使得這方面的測(cè)量工作也顯得格外重要。針對(duì)頻率測(cè)量儀器領(lǐng)域內(nèi)的發(fā)展現(xiàn)狀,對(duì)頻率計(jì)設(shè)計(jì)有如下要求:
1. 要求該頻率計(jì)的頻率測(cè)量范圍在1Hz ~60KHz。
2. 測(cè)量信號(hào)為脈沖信號(hào),幅度為5V。
3. 測(cè)量誤差要求小于±10Hz,測(cè)頻性能穩(wěn)定可靠。
2 薄膜諧振式水位傳感器應(yīng)用
水位傳感器是將水位數(shù)據(jù)轉(zhuǎn)換成電訊號(hào)再進(jìn)行傳送的關(guān)鍵設(shè)備,目前水位傳感器的主要類型有浮子式、超聲波式、壓阻式、感應(yīng)式、諧振式等。各種傳感器有不同的使用條件和范圍,傳感器選擇恰當(dāng)與否直接影響到整個(gè)水位觀測(cè)系統(tǒng)的可靠性及精度,特別是在一些自然條件和管理要求較為復(fù)雜的灌區(qū)應(yīng)進(jìn)行充分比較、論證、最終選取適用的傳感器。目前,薄膜諧振式水位傳感器大多應(yīng)用在節(jié)水設(shè)備上用于水位檢測(cè)與控制,還用于全自動(dòng)洗衣機(jī)的水位控制部分。
2.1 薄膜諧振式水位傳感器概述
2.1.1 薄膜諧振式水位傳感器的結(jié)構(gòu)
諧振式水位傳感器采用新型的傳感原理,把水位的高低通過水位傳感器直接變成水位與頻率的對(duì)應(yīng)關(guān)系。該傳感器內(nèi)置三點(diǎn)式水位傳感器振蕩電路,該振蕩電路的固有頻率隨水位的變化而變化,通過檢測(cè)該振蕩電路的頻率來判定水位的高低。水位傳感器的結(jié)構(gòu) 如圖2-1所示:
圖2-1 水位傳感器的結(jié)構(gòu)原理圖
2.1.2水位傳感器的工作原理
圖中水桶的水位H轉(zhuǎn)換為導(dǎo)管口中的氣壓,通過引入嘴進(jìn)入傳感器氣室,氣室上面式封閉的,與水位H成正比的氣壓,被傳到薄膜上,導(dǎo)板嵌裝在隔膜上,當(dāng)水位H上升時(shí),氣壓增大,導(dǎo)板向上移動(dòng),當(dāng)水位下降時(shí),氣壓降低,在彈簧的作用下,導(dǎo)板向下移動(dòng),導(dǎo)板中心有導(dǎo)向軸,受外殼的支撐點(diǎn)限位,使導(dǎo)板上下平行移動(dòng),不致偏移。導(dǎo)板上有固定支架,裝有磁性元件,在導(dǎo)管氣壓的作用下導(dǎo)板上下平行移動(dòng)時(shí),帶動(dòng)磁性元件使其與線圈之間的相對(duì)位置發(fā)生變化,因此線圈的電感量發(fā)生變化。該電感與電容組成三點(diǎn)式振蕩電路,該振蕩電路的固有頻率隨水位的變化而變化,通過檢測(cè)該振蕩電路的頻率來判定水位的高低。
2.2薄膜諧振式水位傳感器的功能簡介
2.2.1水位檢測(cè)
諧振式水位傳感器是利用電磁諧振電路LC 作為傳感器的敏感元件, 將被測(cè)物體的變化轉(zhuǎn)變?yōu)長C 參數(shù)的變化, 最終以頻率參數(shù)輸出。其工作原理是: 將水位的高低通過導(dǎo)管轉(zhuǎn)換成一個(gè)測(cè)試內(nèi)腔氣體變化的壓力, 驅(qū)動(dòng)內(nèi)腔上方的一塊隔膜移動(dòng), 帶動(dòng)隔膜中心的磁芯在某線圈內(nèi)移動(dòng), 從而線圈電感發(fā)生變化。由此引起諧振電路的固有頻率隨水位變化。水位測(cè)量電路如圖2-2所示, 為便于與單片機(jī)接口, 水位傳感器采用數(shù)字振蕩電路, 電感與電容組成的三點(diǎn)式振蕩電路經(jīng) 耦合接入數(shù)字式諧振放大器, 隨著水位變化, 諧振頻率作相應(yīng)變化, 經(jīng) 整形后輸出, 此時(shí)即可將數(shù)字量接到單片機(jī)。
圖2-2 水位傳感器測(cè)量電路
2.2.2水位與頻率關(guān)系的對(duì)應(yīng)
由于桶內(nèi)所形成的壓力遠(yuǎn)小于大氣壓,因此,由此引起檢測(cè)內(nèi)腔的空氣體積變化很小,既氣腔內(nèi)外的壓差為
(2-1)
式中為水的密度, H 為水的高度。
壓差作用于薄膜上, 驅(qū)動(dòng)磁芯位移ΔX , 磁芯同時(shí)受到彈簧的反作用力,壓差形成的驅(qū)動(dòng)力為:
= Δp ·S (2-2)
式中 S 為薄膜的有效面積。彈簧的反作用力為:
= K ·ΔX (2-3)
式中 K 為彈性系數(shù)。當(dāng)= 時(shí)位移停止,由H ··S = K·ΔX 得:
ΔX = S/K·H = A ·H (2-4)
由此可見,水位H與位移ΔX 成線性關(guān)系,磁芯在線圈中位移ΔX ,將引起電感量的變化, 已知磁芯與線圈如圖2-3 所示。
圖2-3 磁心與線圈的位移
電感L 由下式?jīng)Q定,
(2-5)
式中 N 為線圈匝數(shù); 為空氣導(dǎo)磁率(=4π·H/ m); 為磁芯導(dǎo)磁率; R 為線圈平均半徑;為磁芯有效半徑; a 為線圈長度。該線圈電感與電容器 、 組成三點(diǎn)式振蕩電路,取 = = C ,其振蕩頻率為
= (1/ 2)π· (2-6)
把式2-4和式2-5 代入式2-6,令2π·C · = W ,則( a/π) ·N = m ,a · = n , ( - 1) ·A · = u ,則
(2-7)
3 頻率計(jì)總體方案設(shè)計(jì)
頻率計(jì)的的設(shè)計(jì)方案有很多,這里主要介紹了基于單片機(jī)的頻率計(jì)的設(shè)計(jì)和利用中小規(guī)模的集成電路設(shè)計(jì)的頻率計(jì)。
3.1方案論證與比較
3.1.1方案一
此方案采用中小規(guī)模的數(shù)字電路構(gòu)成頻率計(jì),用計(jì)數(shù)器構(gòu)成主要的測(cè)量器件,用定時(shí)器構(gòu)成主要的控制模塊及時(shí)標(biāo)。外圍芯片過多,頻帶太窄,系統(tǒng)實(shí)現(xiàn)起來比較復(fù)雜,功能不強(qiáng)。
頻率的定義是單位時(shí)間(1s)內(nèi)周期信號(hào)的變化次數(shù)。若在一定時(shí)間間隔T內(nèi)測(cè)得周期信號(hào)的重復(fù)變化次數(shù)為N,則其頻率為
f=N/T (3.1)
據(jù)此,設(shè)計(jì)方案框圖如圖3-1所示。
延遲反相器
單穩(wěn)觸發(fā)器
T觸發(fā)器
量程選擇
分頻器
時(shí)鐘
顯示
傳感器信號(hào)
計(jì)數(shù)器
鎖存器
圖3-1 方案一設(shè)計(jì)框圖
其基本原理是,被測(cè)信號(hào)ux首先經(jīng)整形電路變成計(jì)數(shù)器所要求的脈沖信號(hào),頻率與被測(cè)信號(hào)的頻率fx相同。時(shí)鐘電路產(chǎn)生時(shí)間基準(zhǔn)信號(hào),分頻后控制計(jì)數(shù)與保持狀態(tài)。當(dāng)其高電平時(shí),計(jì)數(shù)器計(jì)數(shù);低電平時(shí),計(jì)數(shù)器處于保持狀態(tài),數(shù)據(jù)送入鎖存器進(jìn)行鎖存顯示。然后對(duì)計(jì)數(shù)器清零,準(zhǔn)備下一次計(jì)數(shù)。
3.1.2 方案二
利用單片機(jī)(AT89C51)構(gòu)成主要的控制和測(cè)量模塊,其內(nèi)部的計(jì)數(shù)器對(duì)其計(jì)數(shù),設(shè)定單片機(jī)定時(shí)器定時(shí)時(shí)間1s,通過軟件使計(jì)數(shù)器和定時(shí)器的開啟和關(guān)閉,到達(dá)定時(shí)時(shí)間的脈沖個(gè)數(shù)即為被測(cè)信號(hào)的頻率。
該方案的硬件電路如圖3-2所示,該電路由單片機(jī)AT89C51,8位地址鎖存器74LS373及顯示電路等組成。
復(fù)位電路
晶振
傳感器信號(hào)
鎖存器
單
片
機(jī)
顯 示
圖3-2 方案二設(shè)計(jì)框圖
其基本原理是,薄膜諧振式水位傳感器的輸出信號(hào)直接輸入給單片機(jī)的 T1口,利用單片機(jī)內(nèi)部的計(jì)數(shù)器對(duì)其計(jì)數(shù),對(duì)脈沖個(gè)數(shù)進(jìn)行計(jì)數(shù)。設(shè)定單片機(jī)定時(shí)器定時(shí)時(shí)間1s,通過軟件使計(jì)數(shù)器和定時(shí)器的開啟和關(guān)閉,到達(dá)定時(shí)時(shí)間的脈沖個(gè)數(shù)即為被測(cè)信號(hào)的頻率,并用LED動(dòng)態(tài)顯示電路顯示出測(cè)量頻率。
3.2 方案選擇
綜合比較兩種方案,由于方案一由于用中小規(guī)模集成電路來實(shí)現(xiàn),測(cè)量精度不高,外圍芯片過多,頻帶太窄,系統(tǒng)實(shí)現(xiàn)起來比較復(fù)雜,功能不強(qiáng)。方案二測(cè)量方法簡單,采用單片機(jī)的算術(shù)運(yùn)算和控制功能,保證了系統(tǒng)的測(cè)量精度,功能較強(qiáng),具有智能性,LED數(shù)字顯示電路能夠?qū)崟r(shí)的顯示測(cè)量結(jié)果。因此,采用方案二來實(shí)現(xiàn)。
4 頻率計(jì)硬件分析與設(shè)計(jì)
根據(jù)數(shù)字頻率計(jì)的基本原理,本設(shè)計(jì)方案的基本思想是分為三個(gè)模塊來實(shí)現(xiàn)其功能,即整個(gè)頻率計(jì)系統(tǒng)分為單片機(jī)計(jì)數(shù)定時(shí)模塊、鎖存器模塊和顯示模塊等幾個(gè)單元,并且分別用匯編語言對(duì)其進(jìn)行編程,實(shí)現(xiàn)了閘門控制信號(hào)、計(jì)數(shù)電路、鎖存電路、顯示電路等。
4.1頻率計(jì)系統(tǒng)的組成與基本工作原理
4.1.1 系統(tǒng)組成
所設(shè)計(jì)的頻率計(jì)的測(cè)量范圍為1Hz到65kHz,采用5位頻率值顯示。頻率計(jì)硬件由AT89C51芯片、8位地址鎖存器74LS373、八反相三態(tài)緩沖器74LS240、LED顯示電路和系統(tǒng)軟件所組成。系統(tǒng)硬件框圖如圖4-1所示。
復(fù)位電路
RST
AT89C51
P3.5
時(shí)鐘產(chǎn)生電路
水位傳感器
鎖
存
器
反
相
器
共陽極
LED
74LS373
74LS240
圖4-1系統(tǒng)硬件框圖
4.1.2 系統(tǒng)設(shè)計(jì)原理
利用單片機(jī)(AT89C51)構(gòu)成主要的控制和測(cè)量模塊,將傳感器輸入到單片機(jī)的頻率信號(hào)(脈沖信號(hào))利用其內(nèi)部的計(jì)數(shù)器對(duì)其計(jì)數(shù),設(shè)定單片機(jī)定時(shí)器定時(shí)時(shí)間1s,通過軟件使計(jì)數(shù)器和定時(shí)器的開啟和關(guān)閉,到達(dá)定時(shí)時(shí)間的脈沖個(gè)數(shù)即為被測(cè)信號(hào)的頻率,并用LED動(dòng)態(tài)顯示電路顯示出測(cè)量頻率。該系統(tǒng)以單片機(jī)的指令周期作為時(shí)標(biāo),具有足夠的精度,電路實(shí)現(xiàn)簡單,功能較強(qiáng),具有智能性。
單片機(jī)利用定時(shí)器T0通過其控制功能測(cè)出輸入信號(hào)的周期。然后利用單片機(jī)的算術(shù)運(yùn)算功能將周期轉(zhuǎn)換成頻率。頻率值得出后,為方便計(jì)算要顯示頻率值的段碼再將其轉(zhuǎn)換成壓縮的BCD碼,通過查表將要顯示頻率值的每一位的壓縮BCD碼轉(zhuǎn)換成8段碼送到顯示緩沖區(qū)。最后,送至LED顯示模塊顯示出所測(cè)的頻率。
4.1.3 測(cè)頻原理
目前頻率測(cè)量主要有3種實(shí)現(xiàn)方法。(1)直接測(cè)頻法。直接測(cè)頻法是把被測(cè)頻率信號(hào)經(jīng)脈沖形成電路后加到閘門的一個(gè)輸入端,只有在閘門開通時(shí)間t內(nèi),被計(jì)數(shù)的脈沖才被送到十進(jìn)制計(jì)數(shù)器進(jìn)行計(jì)數(shù),設(shè)計(jì)數(shù)器的值為N。由頻率定義式可以計(jì)算得到被測(cè)信號(hào)頻率f=N/t。該測(cè)量在低頻段的相對(duì)測(cè)量誤差較大。增大t可以提高測(cè)量精度,但在低頻段效果不理想。(2)組合法。組合測(cè)頻法是指在低頻時(shí)采用直接測(cè)量周期法測(cè)信號(hào)周期,然后換算成頻率。這種方法可以在一定程度上彌補(bǔ)上述方法的不足,但是難以確定最佳分測(cè)點(diǎn),且電路實(shí)現(xiàn)復(fù)雜。(3)倍頻法。直接測(cè)頻法在高頻段有很高的精度。可以把頻率測(cè)量范圍分成多個(gè)頻段,使用倍頻技術(shù),根據(jù)頻段設(shè)置倍頻系數(shù)將經(jīng)整形后的低頻信號(hào)進(jìn)行倍頻后再進(jìn)行測(cè)量,高頻段則進(jìn)行直接測(cè)量。
脈沖信號(hào)的頻率就是在單位時(shí)間內(nèi)所產(chǎn)生的脈沖個(gè)數(shù),其表達(dá)式為f=N/T,其中f—被測(cè)信號(hào)的頻率,N—計(jì)數(shù)器單位時(shí)間所累計(jì)的脈沖個(gè)數(shù);T—單位時(shí)間。如在1s中記錄1000個(gè)脈沖,則被測(cè)信號(hào)的頻率為1000HZ。
晶振產(chǎn)生的標(biāo)準(zhǔn)頻率,經(jīng)單片機(jī)電路分頻后可獲取各種時(shí)基信號(hào)(1ms、10ms、0.1s、1s)。水位傳感器的頻率信號(hào)直接加到單片機(jī)的主控門T1計(jì)數(shù)端。只有在閘門時(shí)間采樣期內(nèi)(時(shí)基信號(hào)的一個(gè)周期),輸入信號(hào)才通過主控門。若時(shí)基信號(hào)的周期為T,進(jìn)入計(jì)數(shù)器的脈沖個(gè)數(shù)為N,則被測(cè)信號(hào)的頻率f=N/T,改變時(shí)基信號(hào)的周期T,即可得到不同的測(cè)頻范圍。當(dāng)主控門關(guān)閉時(shí),經(jīng)延時(shí)整形電路的延時(shí)后,延時(shí)電路輸出一個(gè)復(fù)位信號(hào),使計(jì)數(shù)器和所有的觸發(fā)器置0,為后續(xù)新的一次采樣做好準(zhǔn)備,即能鎖住一次顯示的時(shí)間,直到接受到新的一次采樣為止。顯示方式采用七段LED數(shù)碼管顯示讀出,做到顯示穩(wěn)定、不跳變。
4.2 AT89C51單片機(jī)在本系統(tǒng)中的應(yīng)用
4.2.1 AT89C51簡介
T89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4K的 可反復(fù)檫些的只讀程序存儲(chǔ)器和128字節(jié)的隨機(jī)2數(shù)據(jù)存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大,可靈活應(yīng)用于各種控制領(lǐng)域。
1. 主要性能參數(shù)
l 與MCS-51產(chǎn)品指令系統(tǒng)完全兼容;
l 4K字節(jié)可重檫寫Flash閃速存儲(chǔ)器;
l 1000次檫寫周期;
l 全靜態(tài)操作:0HZ—24MHZ ;
l 三級(jí)加密程序存儲(chǔ)器;
l 128*8字節(jié)內(nèi)部RAM;
l 32個(gè)可編程I/O口線;
l 2個(gè)16位定時(shí)/計(jì)數(shù)器;
l 6個(gè)中斷源;
l 可編程串行UART通道;
l 低功耗空閑和掉電模式。
2. 引腳說明 圖4-2 AT89C51引腳圖
圖4-2 是AT89C51 的引腳圖,引腳說明如下:
u VCC AT89C51 電源正極輸入,接+5V 電壓。
u GND 電源接地端。
u XTAL1 接外部晶振的一個(gè)引腳。在單片機(jī)內(nèi)部,它是一反相放大器輸入端,這個(gè)放大器構(gòu)成了片內(nèi)振蕩器。它采用外部振蕩器時(shí),一些引腳應(yīng)接地。
u XTAL2 接外部晶振的一個(gè)引腳。在片內(nèi)接至振蕩器的反相放大器輸出端和內(nèi)部時(shí)鐘發(fā)生器輸入端。當(dāng)采用外部振蕩器時(shí),則此引腳接外部振蕩信號(hào)的輸入。
u RST AT89C51 的復(fù)位信號(hào)輸入引腳,高電位工作,當(dāng)要對(duì)芯片又時(shí),只要將此引腳電位提升到高電位,并持續(xù)兩個(gè)機(jī)器周期以上的時(shí)間,AT89C51 便能完成系統(tǒng)復(fù)位的各項(xiàng)工作,使得內(nèi)部特殊功能寄存器的內(nèi)容均被設(shè)成已知狀態(tài)。
u ALE/PROG ALE 是英文"ADDRESS LATCH ENABLE"的縮寫,表示允許地址鎖存允許信號(hào)。當(dāng)訪問外部存儲(chǔ)器時(shí),ALE 信號(hào)負(fù)跳變來觸發(fā)外部的8 位鎖存器 (如74LS373),將端口P0 的地址總線(A0-A7)鎖存進(jìn)入鎖存器中。在非訪問外部存儲(chǔ)器期間,ALE 引腳的輸出頻率是系統(tǒng)工作頻率的 1/6,因此可以用來驅(qū)動(dòng)其他外圍芯片的時(shí)鐘輸入。當(dāng)問外部存儲(chǔ)器期間,將以1/12 振蕩頻率輸出。
u EA/VPP 該引腳為低電平時(shí),則讀取外部的程序代碼 (存于外部EPROM 中)來執(zhí)行程序。因此在8031 中,EA 引腳必須接低電位,因?yàn)槠鋬?nèi)部無程序存儲(chǔ)器空間。如果是使用AT89C51或其它內(nèi)部有程序空間的單片機(jī)時(shí),此引腳接成高電平使程序運(yùn)行時(shí)訪問內(nèi)部程序存儲(chǔ)器,當(dāng)程序指針PC 值超過片內(nèi)程序存儲(chǔ)器地址(如8051/8751/89C51 的PC 超過0FFFH)時(shí),將自動(dòng)轉(zhuǎn)向外部程序存儲(chǔ)器繼續(xù)運(yùn)行。此外, 89C51 內(nèi)部FALSH 時(shí),可以利用此引腳來輸入提供編程電壓。
u PSEN 此為"Program Store Enable"的縮寫。訪問外部程序存儲(chǔ)器選通信號(hào),低電平有效。在訪問外部程序存儲(chǔ)器讀取指令碼時(shí),每個(gè)機(jī)器周期產(chǎn)生二次PSEN 信號(hào)。在執(zhí)行片內(nèi)程序存儲(chǔ)器指令時(shí),不產(chǎn)生PSEN 信號(hào),在訪問外部數(shù)據(jù)時(shí),亦不產(chǎn)生PSEN 信號(hào)。
u P0 P0 口(P0.0~P0.7)是一個(gè)8 位漏極開路雙向輸入輸出端口,當(dāng)訪問外部數(shù)據(jù)時(shí),它是地址總線(低8 位)和數(shù)據(jù)總線復(fù)用。外部不擴(kuò)展而單片應(yīng)用時(shí),則作一般雙向I/O 口用。P0 口每一個(gè)引腳可以推動(dòng)8 個(gè)LSTTL 負(fù)載。
u P2 P2 口(P2.0~P2.7)口是具有內(nèi)部提升電路的雙向I/0 端口(準(zhǔn)雙向并行I/O 口),當(dāng)訪問外部程序存儲(chǔ)器時(shí),它是高8 位地址。外部不擴(kuò)展而單片應(yīng)用時(shí),則作一般雙向I/O 口用。每一個(gè)引腳可以推動(dòng)4 個(gè)LSTL 負(fù)載。
u P1 P1 口(P1.0~P1.7)口是具有內(nèi)部提升電路的雙向I/0 端口(準(zhǔn)雙向并行I/O 口),其輸出可以推動(dòng)4 個(gè)LSTTL 負(fù)載。僅供用戶作為輸入輸出用的端口。
u P3 P3 口(P3.0~P3.7)口是具有內(nèi)部提升電路的雙向I/0 端口(準(zhǔn)雙向并行I/O 口),它還提供特殊功能,包括串行通信、外部中斷控制、計(jì)時(shí)計(jì)數(shù)控制及外部隨機(jī)存儲(chǔ)器內(nèi)容的讀取或?qū)懭肟刂频裙δ?。其特殊功能引腳分配如下:
P3.0 RXD 串行通信輸入;
P3.1 TXD 串行通信輸出;
P3.2 INT0 外部中斷0 輸入,低電平有效;
P3.3 INT1 外部中斷1 輸入,低電平有效;
P3.4 T0 計(jì)數(shù)器0 外部事件計(jì)數(shù)輸入端;
P3.5 T1 計(jì)數(shù)器1 外部事件計(jì)數(shù)輸入端;
P3.6 WR 外部隨機(jī)存儲(chǔ)器的寫選通,低電平有效;
P3.7 RD 外部隨機(jī)存儲(chǔ)器的讀選通,低電平有效。
4.2.2 AT89C51器件的基本結(jié)構(gòu)
1. AT89C51 各中斷源向量地址如表4-1 所示:
表4-1 各中斷源向量地址
中斷源
向量地址
外部中斷0(INT0)(IE0)
0003H
定時(shí)/計(jì)數(shù)器0(TF0)
000BH
外部中斷1(INT1)(IE1)
0013H
定時(shí)/計(jì)數(shù)器1(TF1)
001BH
串行通訊(RI+TI)
0023H
2. 主要特殊功能寄存器說明
u IE 中斷允許寄存器。其格式如表4-2所示:
表4-2 中斷允許寄存器格式
位地址
AF
-
AD
AC
AB
AA
A9
A8
符號(hào)
EA
-
ET2
ES
ET1
EX1
ET0
EX0
EA=0 時(shí),所有中斷停用(禁止中斷)。
EA=1 時(shí),各中斷的產(chǎn)生由個(gè)別的允許位決定。
ET1(IE.3) :允許計(jì)時(shí)器1 中斷(ET1=1 允許,ET1=0 禁止)。
EX1(IE.2) :允許外部中斷INT1 的中斷(EX1=1 允許,EX1=0 禁止)。
ET0(IE.1) :允許計(jì)時(shí)器0 中斷(ET0=1 允許,ET0=0 禁止)。
EX0(IE.0) :允許外部中斷INT0 的中斷(EX0=1 允許,EX0=0 禁止)。
u TMOD 定時(shí)/計(jì)數(shù)器工作方式控制寄存器,其格式如表4-3所示:
表4-3 定時(shí)/計(jì)數(shù)器工作方式控制寄存器格式
符號(hào)
GATE
C/T
M1
M0
GATE
C/T
M1
M0
類別
定時(shí)/計(jì)數(shù)器1
定時(shí)/計(jì)數(shù)器0
GATE :當(dāng)GATE=1 時(shí),INT0 或INT1 引腳且為高電平,同時(shí)TCON 中的TR0或TR1 控制位如為1 時(shí),定時(shí)/計(jì)數(shù)器0 或1 才會(huì)工作。 若GATE=0,同時(shí)只要TCON 中的TR0 或TR1 控制位如為1 時(shí),定時(shí)/計(jì)數(shù)器0 或1 即可工作。
C/T :選擇定時(shí)或計(jì)數(shù)器模式。當(dāng)C/T=1 為計(jì)數(shù)器,由外部引腳T0 或T1 輸計(jì)數(shù)脈沖。C/T=0 時(shí)為計(jì)時(shí)器,由內(nèi)部系統(tǒng)時(shí)鐘提供計(jì)時(shí)工作脈沖。
M1 :方式選擇位1。
M0 :方式選擇位0。
M1、M2 的操作方式選擇定義如表4-4所示:
表4-4 定時(shí)/計(jì)數(shù)器工作方式選擇
M1
M0
操作方式
功能說明
0
0
方式0
13位定時(shí)/計(jì)數(shù)器
0
1
方式1
16位定時(shí)/計(jì)數(shù)器
1
0
方式2
自動(dòng)再裝入8位定時(shí)/計(jì)數(shù)器
1
1
方式3
定時(shí)/計(jì)數(shù)器1無效將定時(shí)計(jì)數(shù)器0分成兩個(gè)8位計(jì)數(shù)器
u TCON 定時(shí)/計(jì)數(shù)器工作方式控制寄存器,其格式如表4-5所示:
表4-5 定時(shí)/計(jì)數(shù)器工作方式控制寄存器格式
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
符號(hào)
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TF1 :計(jì)時(shí)器 1 溢出標(biāo)志,當(dāng)計(jì)時(shí)溢出時(shí),由硬件設(shè)定為1,在執(zhí)行相對(duì)的中斷服務(wù)程序后則自動(dòng)清0。
TR1 :計(jì)時(shí)器1 啟動(dòng)控制位,可以由軟件來設(shè)定或清除。TR1 時(shí)啟動(dòng)計(jì)時(shí)器工作,TRl=0 時(shí)關(guān)閉。
TF0 :計(jì)時(shí)器0 溢出標(biāo)志,當(dāng)計(jì)時(shí)溢出時(shí),由硬件設(shè)定為1,在執(zhí)行相對(duì)的中斷服務(wù)程序后則自動(dòng)清0。
TR0 :計(jì)時(shí)器0 啟動(dòng)控制位,可以由軟件來設(shè)定或清除。TR0=1 時(shí),啟動(dòng)計(jì)時(shí)器工作,TR0=時(shí)關(guān)閉。
IE1 :外部中斷1 工作標(biāo)志,當(dāng)外部中斷被檢查出來時(shí),硬件自動(dòng)設(shè)定此位,在執(zhí)行中斷服務(wù)程序后,則清0。
IT1 :外部中斷1 工作形式選擇,IT1=1 時(shí),由下降緣產(chǎn)生外部中斷,IT1=0 時(shí),則為低電位產(chǎn)生中斷。
IE0 :外部中斷0 工作標(biāo)志,當(dāng)外部中斷被檢查出來時(shí),硬件自動(dòng)設(shè)定此位,在執(zhí)行中斷服務(wù)程序后,則清0。
IT0 :外部中斷0 工作形式選擇,IT1=1 時(shí),由下降緣產(chǎn)生外部中斷,IT1=0 時(shí),則為低電位產(chǎn)生中斷。
3. 定時(shí)器初值計(jì)算
定時(shí)器初值的計(jì)算公式:Tc=M-(T/T計(jì)數(shù))其中Tc 為初值,M 為計(jì)數(shù)器模值,T 定時(shí)器定時(shí)時(shí)間,T為fosc/12。定時(shí)器各工作方式的定時(shí)時(shí)間如表4-5所示:
表4-5 定時(shí)器各工作方式的定時(shí)時(shí)間
工作方式
M模值
T計(jì)數(shù)
最大定時(shí)時(shí)間
方式0
fosc/12
fosc/12
方式1
fosc/12
方式2
fosc/12
方式3
fosc/12
4.2.3 AT89C51的定時(shí)器/計(jì)數(shù)器
u 定時(shí)功能 選擇定時(shí)功能時(shí),計(jì)數(shù)輸入信號(hào)是內(nèi)部的時(shí)鐘脈沖,每個(gè)機(jī)器周期使寄存器的值加1,所以,計(jì)數(shù)頻率是振蕩頻率的1/12。例如,采用12MHz的晶振,則計(jì)數(shù)脈沖頻率為1MHz.,此時(shí)C/=0。
u 計(jì)數(shù)功能 選擇計(jì)數(shù)功能時(shí),計(jì)數(shù)脈沖來自外部輸入引腳,為P3.4,為P3.5。當(dāng)輸入信號(hào)由1→0的跳變時(shí),計(jì)數(shù)寄存器(TH0、TL0或TH1、TL1)的值增1.此時(shí)C/=1。定時(shí)器/計(jì)數(shù)器方式1邏輯結(jié)構(gòu)如圖4-4所示:
圖4-4定時(shí)器/計(jì)數(shù)器方式1邏輯結(jié)構(gòu)
4.2.4 AT89C51外圍電路設(shè)計(jì)
晶振電路:晶振輸入選擇12MHZ的立式晶振,諧振電容C1、C2選擇30PF,電路如圖4-5所示:
復(fù)位電路設(shè)計(jì):復(fù)位電路采用上電自動(dòng)復(fù)位,基本功能就是在系統(tǒng)上電時(shí)提供復(fù)位信號(hào),高電平復(fù)位,直至系統(tǒng)穩(wěn)定后,撤銷復(fù)位信號(hào)。電路如圖4-6所示:
圖4-5晶振電路 圖4-6 復(fù)位電路
4.3 地址鎖存器74LS373介紹
74LS373是一種8D鎖存器,具有三態(tài)驅(qū)動(dòng)輸出,其邏輯電路及引腳圖如圖4-7所示,從圖可見,該鎖存器由8個(gè)D門組成,有8個(gè)輸入端1D~8D,8個(gè)輸出端1Q~8Q,2個(gè)控制端——G和OE,使能端G有效時(shí),將D端數(shù)據(jù)打入鎖存器中D門,當(dāng)輸出允許端OE有效時(shí),將鎖存器中鎖存的數(shù)據(jù)送到輸出端Q。圖4-8 所示74LS373真值表。
圖4-7 74LS373內(nèi)部結(jié)構(gòu)及其引腳圖
使能G
輸出允許OE
輸入D
輸出Q
H
H
L
X
L
L
L
H
L
H
X
X
L
H
Q0
Z
圖4-8 74LS373真值表
當(dāng)使能端G為高電平時(shí),同時(shí)輸出允許端OE為低電平,則輸出Q=輸入D;當(dāng)使能端G為低電平,而輸出允許端OE也為低電平時(shí),則輸出Q=QO(原狀態(tài),即使能端G由高電平變?yōu)榈碗娖角埃敵龆薗的狀態(tài),這就是“鎖存”的意義)。當(dāng)輸出允許端OE為高電平時(shí),不論使能端G為何值,輸出端Q總為高阻態(tài)。74LS373鎖存器主要用于鎖存地址信息、數(shù)據(jù)信息以及DMA頁面地址信息等
4 .4 八路反相緩沖器74LS240應(yīng)用
由于本設(shè)計(jì)顯示電路采用的是5位共陽極數(shù)碼管顯示,段碼是低電平有效,這里選用74LS240對(duì)段碼進(jìn)行取反。八路反相緩沖器,G1和G2接低低電平,反相有效。其內(nèi)部結(jié)構(gòu)和引腳如圖4-9所示。圖4-10是74LS240的真值表。
圖4-9 74LS240內(nèi)部結(jié)構(gòu)和引腳圖
圖4-10 74LS240真值表
4.5 顯示電路
4.5.1顯示電路設(shè)計(jì)
該顯示電路共顯示5位數(shù)字,采用動(dòng)態(tài)顯示方式.將所有位段選線并聯(lián)在一起由P2口控制,而共陽極的公共端分別由P1口的P1.0~P1.4線控制,實(shí)現(xiàn)各位的分時(shí)選通.由于5位段選線都是由P2口控制的,為使每位顯示不同的數(shù)字,故采用只使某一位顯示數(shù)字的方法.在某瞬間,段選控制P2口輸出相應(yīng)數(shù)字段選碼,而位選則控制P1口在該顯示位送入選通電平(LED為共陽極),以保證該位顯示相應(yīng)數(shù)字,如此輪流,使每位分時(shí)顯示該位相應(yīng)的數(shù)字.段選碼、位選碼每送入一次后延時(shí)1ms,利用視覺暫留的原理,造成連續(xù)顯示的效果。電路如圖4-11所示:
圖4-11 顯示電路原理圖
4.5.2單片機(jī)驅(qū)動(dòng)數(shù)碼管原理
單片機(jī)驅(qū)動(dòng)LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動(dòng)態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。
靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出后就不再管,直到下一次顯示數(shù)據(jù)需要更新時(shí)再傳送一次新數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時(shí)間。動(dòng)態(tài)顯示需要CPU時(shí)刻對(duì)顯示器件進(jìn)行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時(shí)間多。這兩種顯示方式各有利弊;靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的CPU時(shí)間,但每個(gè)顯示單元都需要單獨(dú)的顯示驅(qū)動(dòng)電路,使用的硬件較多;動(dòng)態(tài)顯示雖然有閃爍感,占用的CPU時(shí)間多,但使用的硬件少,能節(jié)省線路板空間。
硬件譯碼就是顯示的段碼完全由硬件完成,CPU只要送出標(biāo)準(zhǔn)的BCD碼即可,硬件接線有一定標(biāo)準(zhǔn)。軟件譯碼是用軟件來完成硬件的功能,編程實(shí)現(xiàn)。硬件簡單,接線靈活,顯示段碼完全由軟件來處理,是目前常用的顯示驅(qū)動(dòng)方式。
4.6 硬件總電路圖
硬件總電路圖見附錄2,電路包括單片機(jī)的外圍電路,計(jì)數(shù)鎖存電路,位選電路以及五位LED顯示部分。
5 軟件設(shè)計(jì)
該頻率計(jì)的軟件設(shè)計(jì)主要包括主程序、中斷服務(wù)程序、顯示子程序、延時(shí)子程序等。主程序主要完成初始化、調(diào)用各功能子程序的功能,其流程圖如圖5-1所示.顯示程序用于顯示所測(cè)頻率,其流程圖如圖5-3所示。中斷服務(wù)程序用以完成脈沖數(shù)的累加(框圖略)。
5.1主程序設(shè)計(jì)
主程序設(shè)計(jì)完成對(duì)單片機(jī)初始化,調(diào)用各功能子程序。包括置定時(shí)器初值,設(shè)定時(shí)器工作方式,其流程圖如圖5-1所示:
設(shè)置定時(shí)器工作方式
置定時(shí)器初值
開中斷
向顯示緩沖區(qū)放數(shù)
調(diào)顯示子程序
圖5-1主程序流程圖
MAIN: MOV SP,#60H ;設(shè)置堆棧
MOV TMOD,#51H ;T1計(jì)數(shù)狀態(tài)、方式1,T0定時(shí)狀態(tài)、方式1
MOV TL1,#00H ;T1計(jì)數(shù)初值設(shè)定
MOV TH1,#00H
MOV TL0,#0B0H ;T0定時(shí)50ms初值設(shè)定
MOV TH0,#3CH ;fosc=12MHZ(最小定時(shí)時(shí)間為1μs)
MOV R3,#20 ;軟件計(jì)數(shù)器
ORL TCON,#01010000B ;同時(shí)啟動(dòng)定時(shí)器T0和T1
SETB EA
SETB ET1
LDIR: LCALL DIDPLAY ;調(diào)顯示子程序,并等待中斷
SJMP LDIR ;循環(huán)顯示
T0INT: DJNZ R3,EXIT ;1s時(shí)間未到則中斷返回,繼續(xù)定時(shí)
ANL TCON,#10001111B ;1s定時(shí)到,同時(shí)關(guān)閉定時(shí)器1和計(jì)數(shù)器0
MOV R0,TL1 ;將計(jì)數(shù)值的低八位存入R0
MOV R1,TH1 ;將計(jì)數(shù)值的高八位存入R1
MOV TL1,#0B0H ;重裝初值
MOV TH1,#3CH
MOV R3,#20 ;重新設(shè)置軟件計(jì)數(shù)器
ORL TCON,#01010000B ;同時(shí)啟動(dòng)定時(shí)器T0和T1
AJMP LOOP
EXIT: MOV TH1,#0B0H ;1s未到,重設(shè)T1的50ms定時(shí)初值
MOV TL1,#3CH
LOOP: RETI
END
5.2 中斷服務(wù)子程序設(shè)計(jì)
共有一個(gè)中斷服務(wù)子程序?yàn)槎〞r(shí)器T0中斷服務(wù)子程序,功能為產(chǎn)生1S的定時(shí)時(shí)間,置定時(shí)時(shí)間到標(biāo)志。程序見附錄1。
主程序
中斷子程序
返回
斷點(diǎn)
圖5-2 中斷過程示意圖
5.3 顯示子程序設(shè)計(jì)
本設(shè)計(jì)顯示電路采用五位共陽極數(shù)碼管顯示,設(shè)計(jì)為動(dòng)態(tài)顯示電路,采用軟件譯碼的方式,程序設(shè)計(jì)包括顯示子程序、分離顯示數(shù)字子程序、16位除法子程序、轉(zhuǎn)換顯示字段碼子程序、動(dòng)態(tài)顯示部份。其流程圖如圖5-3所示:程序見附錄1。
取顯示數(shù)據(jù)
送百位段碼
指向顯示緩沖區(qū)首址
查表取字型碼
送萬位位碼
延時(shí)2ms
返回
判斷千位是否為0
判斷萬位是否為0
判斷百位是否為0
判斷十位是否為0
送萬位段碼
送十位段碼
送個(gè)位段碼
送千位段碼
送百位位碼
送十位位碼
送個(gè)位位碼
送千位位碼
關(guān)閉
Y
N
N
N
N
Y
Y
Y
圖5-3 顯示子程序流程圖
6 運(yùn)行與調(diào)試
完成了頻率計(jì)的硬件、軟件設(shè)計(jì)和硬件組裝后,便可進(jìn)入系統(tǒng)調(diào)試階段。調(diào)試的目的是要查出硬件設(shè)計(jì)與軟件設(shè)計(jì)中存在的錯(cuò)誤,以便修改設(shè)計(jì),保證設(shè)計(jì)最終正常運(yùn)行,調(diào)試包括硬件調(diào)試和軟件調(diào)試及軟硬件聯(lián)調(diào)。
6.1硬件調(diào)試
硬件調(diào)試包括復(fù)位電路調(diào)試、晶振電路調(diào)試、顯示電路調(diào)試。?調(diào)試過程記錄如下:
u 晶振電路調(diào)試
單片機(jī)晶振電路采用內(nèi)部時(shí)鐘方式,諧振電容20PF,晶振用的是12.000M的立式晶振,用示波器觀察單片機(jī)18、19腳沒有產(chǎn)生12MHZ的正弦波,如圖6-1所示。用萬用表檢測(cè)單片機(jī)引腳電平,單片機(jī)供電正常,但是晶振不能起振,將諧振電容更換為30PF后,晶振開始工作,引腳輸出電平為2.4V。此時(shí)單片機(jī)ALE 引腳的輸出頻率是系統(tǒng)工作頻率的 1/6,即為2MHZ,如圖6-2所示,單片機(jī)開始工作。
圖6-1 晶振工作波形 圖6-2 ALE輸出信號(hào)
u 顯示電路調(diào)試
由于顯示部分是按照動(dòng)態(tài)顯示、軟件譯碼的方式設(shè)計(jì)的。因而很難劃分硬件和軟件,在調(diào)試中即使電路安裝正確沒有一定的指令去指揮它工作,也是無法發(fā)現(xiàn)硬件的故障。因此要使用一些簡單的調(diào)試程序來確定硬件的組裝是否正確、功能是否完整。
顯示部分調(diào)試為了使調(diào)試順利進(jìn)行,首先將89C51與LED顯示分離,這樣就可以用靜態(tài)方法先測(cè)試LED顯示,分別用規(guī)定的電平加至控制數(shù)碼管段和位顯示的引腳,看數(shù)碼管顯示是否與理論上一致。再檢測(cè)電路工作是否正常。對(duì)89C51進(jìn)行編程調(diào)試時(shí),分為兩個(gè)步驟:第一,對(duì)其進(jìn)行初始化后,分別向P1、P2、P3三個(gè)口送入#0FFH,這時(shí)可以利用萬用表測(cè)試各口的位電壓為3.8 V左右,若送入#00H,這時(shí)各口的位電壓應(yīng)為0.03 V;第二,將89C51與LED結(jié)合起來,通過編制程序(采用五位LED分別顯示“12345”程序)進(jìn)行調(diào)試。數(shù)碼管不顯示,檢查單片機(jī)的P0口,發(fā)現(xiàn)輸出的數(shù)據(jù)和要顯示的數(shù)據(jù)一致,可能是驅(qū)動(dòng)電壓的問題,檢查單片機(jī)P0口輸出電平只有1V左右,驅(qū)動(dòng)能力太弱,解決辦法加上拉電阻或?qū)⑤敵龆未a換到P2口,P2口的輸出電平接近5V,我選擇了后者,互換后顯示正常。
6.2 軟件程序調(diào)試
6.2.1 MedWin仿真軟件簡介
MedWin是由一家專門生產(chǎn)80C51系列單片機(jī)仿真器的公司為其80C51系列單片機(jī)仿真配備的仿真軟件,它為80C51單片機(jī)提供了集成環(huán)境,較適合初學(xué)者使用。
6.2.2 匯編語言程序的仿真調(diào)試
匯編語言源程序經(jīng)過匯編后只是解決了程序的語法問題,即程序從語法上已經(jīng)是一個(gè)合法的程序,但是檢驗(yàn)程序正確與否的唯一標(biāo)準(zhǔn)應(yīng)是將其加載到硬件系統(tǒng)中并能按要求正常運(yùn)行。問題是我們我們不可能編好一段程序就將其寫入到單片機(jī)中并使之運(yùn)行,待發(fā)現(xiàn)有問題再回到起點(diǎn),重新編輯和匯編,弄不好要?dú)У粜酒?,既麻煩又增加了開發(fā)成本。調(diào)試過程如下:
將編輯好的程序命名為5LED.ASM,匯編程序并裝入。程序中出現(xiàn)符號(hào)未定義,
有多余字符、指令書寫錯(cuò)誤等語法方面的錯(cuò)誤,編輯、修改產(chǎn)生代碼并裝入后,結(jié)果如圖6-3所示:
圖6-3 匯編并裝入程序
仿真調(diào)試:
“查看”→“寄存器”→以及“特殊功能寄存器”→“調(diào)試”→“單步”按鈕。結(jié)果:“特殊功能寄存器”中P2的內(nèi)容為0~9的七段碼。各個(gè)寄存器的值與程序中設(shè)定的值一致。然后將正確的程序生成目標(biāo)文件寫入單片機(jī)進(jìn)行調(diào)試。
6.3系統(tǒng)聯(lián)調(diào)
正確的程序?qū)懭牒缶蛻?yīng)該進(jìn)行軟、硬件聯(lián)合調(diào)試。聯(lián)機(jī)仿真必須借助于數(shù)字實(shí)驗(yàn)箱、信號(hào)發(fā)生器、示波器、萬用表等工具。
1.信號(hào)線測(cè)試 信號(hào)線是聯(lián)絡(luò)89C51和外部器件的紐帶,如果信號(hào)線連結(jié)錯(cuò)誤或時(shí)序不對(duì),那么都會(huì)造成對(duì)外圍電
收藏