裝配圖薄膜諧振式液位高度測量用頻率計的設計與制作(論文+DWG圖紙+外文翻譯+文獻綜述+開題報告)
裝配圖薄膜諧振式液位高度測量用頻率計的設計與制作(論文+DWG圖紙+外文翻譯+文獻綜述+開題報告),裝配,薄膜,諧振,式液位,高度,測量,丈量,頻率計,設計,制作,論文,dwg,圖紙,外文,翻譯,文獻,綜述,開題,報告,講演,呈文
本科畢業(yè)設計(論文)任務書
(指導教師填寫)
設計(論文)
題目
薄膜諧振式液位高度測量用頻率計的設計與制作
院系
電子信息工程學院
專業(yè)年級
測控技術技術與儀器2003級
學號
03071145
學生姓名
余彥華
注:請直接在所屬項目括號內(nèi)打“√”
題目來源
教師科研課題
縱向課題( )
題目類型
工程類型( )
橫向課題( )
理論研究( )
企業(yè)生產(chǎn)( )
實驗研究( √ )
實驗室建設( √ )
計算機軟件開發(fā)( )
自擬課題( )
結合社會、經(jīng)濟、文化實際( )
其他( )
論文( )
設計(論文)選題目的及工作任務
目的:1.了解薄膜諧振式水位傳感器的原理和應用
2.了解頻率計測量頻率與測量水位的基本原理
3.熟練掌握數(shù)字頻率計的設計與調(diào)試方法及減小測量誤差的方法
任務:1.完成資料的收集,文獻調(diào)研,確定設計方案;
2.完成頻率計的硬件設計與制作
3.完成設計裝置的制作與調(diào)試
目前資料收集情況(含指定參考資料)
[1]何道清.傳感器與傳感器技術.北京:科學技術出版社,2004
[2] 何立民.單片機應用系統(tǒng)設計.北京:北京航空航天大學出版社,1990.
[3] 李建忠.單片機原理及應用.西安:西安電子科技大學出版社,2006.
[4] 李廣娣?.單片機基礎. 北京:北京航空航天大學出版社,2000.5~30
[5] 李軍.賀慶之.檢測技術與儀表.北京:輕工業(yè)出版社,1989.188~190
[6] 王孫武.電子測量儀器原理及應用.哈爾濱:哈爾濱工程大學出版社,2002.129~132
[7] 何立民.單片機原理及應用系統(tǒng)設計.北京:北京航空航天大學出版社,1995.
[8] 曹玲芝、孫玉勝.水位傳感器專用頻率計的設計.鄭州輕工業(yè)學院學報,1998年第13卷(第21期)
[9] 扈剛、王延峰. 諧振式水位傳感器. 傳感器技術,2002年第21卷(第5期)
[10]李朝青.單片機原理及接口技術.北京:北京航空航天學院出版社,1994.157~163
[11]肖洪兵、胡輝.跟我學用單片機. 北京:北京航空航天學院出版社,2002.9~38
[12]孫玉勝.洗衣機諧振式水位傳感器特性檢測儀的研制.鄭州輕工業(yè)學院學報,2000年
設計(論文)的進程安排
序號
設計(論文)的各階段內(nèi)容
起止日期
1
資料收集,做出設計方案,完成開題報告
2007.4.2~2007.4.14
2
資料收集、整理、分析;作出設計方案;
完成開題報告;完成外文翻譯
2007.4.15~2007.4.30
3
,設計放大實驗電路
2007.5.1~2007.5.13
4
完成實驗測試,分析測試結果,設計實驗電路板
2007.5.14~2007.6.3
5
撰寫畢業(yè)設計論文
2007.6.4~2007.6.10
6
準備畢業(yè)設計答辯
2007.6.11~2007.6.17
7
畢業(yè)設計答辯
2007.6.18~2007.6.24
設計(論文)的預期結果
1.完成設計裝置的制作與調(diào)試。
2.能夠達到預期的各項技術指標和功能。
3.能夠準確穩(wěn)定的顯示測量信號的頻率。
接受任務日期: 2007 年 4月 2日 要求完成日期: 2007年 6月 24日
學生接受任務(簽名): 指導教師(簽名):
教研室主任(簽名): 院系負責人(簽名):
備注:
此任務書一式兩份,于畢業(yè)設計(論文)開始前一周下達:一份發(fā)給學生,一份指導教師保存,畢業(yè)設計(論文)結束時交教研室備案。
摘 要
本文介紹了一種以單片機(AT89C51)為核心與薄膜諧振式水位傳感器配套使用的液位高度測量用頻率計的設計與制作。還介紹了諧振式水位傳感器的新型傳感原理,傳感器的結構,數(shù)字振蕩電路的特點,闡述了水位與頻率的對應關系。薄膜諧振式水位傳感器內(nèi)置三點式水位傳感器振蕩電路,該振蕩電路的固有頻率隨水位的變化而變化,通過檢測該振蕩電路的固有頻率來判定水位的高低。
該頻率計直接利用單片機內(nèi)部的計數(shù)器對薄膜諧振式水位傳感器的頻率脈沖信號進行計數(shù),然后利用單片機的定時功能實現(xiàn)對頻率的檢測,最后通過LED動態(tài)顯示電路顯示數(shù)值。在設計中應用了單片機的運算和控制功能,滿足測量的精度要求,該頻率測量儀器測量誤差小于±10Hz測頻性能穩(wěn)定可靠,可單獨使用,也可方便嵌入系統(tǒng)中。
該頻率計具有結構簡單、價格低、精度高、操作簡單、并且降低產(chǎn)品的成本,有利于新產(chǎn)品的設計與研制、等特點。隨著單片機應用技術的發(fā)展,越來越多的測量儀器都采用單片機作為系統(tǒng)進行設計,應用單片機進行系統(tǒng)設計時系統(tǒng)結構簡單、控制方便、硬件設計需要外圍器件較少,軟件設計可采用匯編語言編程,匯編語言具有編程方便、運算效率高、占用內(nèi)存少等優(yōu)點。
關鍵詞: 液位檢測;頻率測量;傳感器;單片機
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 頻率測量儀器的現(xiàn)狀及發(fā)展 1
1.3 頻率計的設計內(nèi)容及要求 2
2 薄膜諧振式水位傳感器應用...........................................3
2.1 薄膜諧振式水位傳感器概述 3
2.1.1 薄膜諧振式水位傳感器的結構 3
2.1.2水位傳感器的工作原理 3
2.2薄膜諧振式水位傳感器的功能簡介 4
2.2.1水位檢測 4
2.2.2水位與頻率關系的對應 4
3 頻率計總體方案設計.................................................6
3.1方案論證與比較 6
3.1.1 方案一 6
3.1.2 方案二 7
3.2 方案選擇 7
4 頻率計硬件分析與設計...............................................8
4.1頻率計系統(tǒng)的組成與基本工作原理 8
4.1.1 系統(tǒng)組成 8
4.1.2 系統(tǒng)設計原理 8
4.1.3 測頻原理 9
4.2 AT89C51單片機在本系統(tǒng)中的應用 9
4.2.1 AT89C51簡介 9
4.2.2 AT89C51器件的基本結構 11
4.2.3 AT89C51的定時器/計數(shù)器 13
4.2.4 AT89C51外圍電路設計 14
4.3 地址鎖存器74LS373介紹 14
4.4 八路反相緩沖器74LS240應用 15
4.5 顯示電路 16
4.5.1顯示電路設計 16
4.5.2單片機驅(qū)動數(shù)碼管原理 17
4.6 硬件總電路圖 17
5 軟件設計.........................................................18
5.1主程序設計 18
5.2 中斷服務子程序設計 19
5.3 顯示子程序設計 20
6 運行與調(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 結論與展望........................................................25
7.1 結論 25
7.2 展望 25
謝辭................................................................26
參考文獻............................................................27
附錄 1..............................................................28
程序清單 28
附錄 2..............................................................33
硬件總電路圖 33
I
薄膜諧振式液位高度測量用頻率計的設計與制作
1緒論
1.1選題的目的及意義
頻率測量儀器在生產(chǎn)和科研的各個部門都有使用,也是某些大型系統(tǒng)的重要組成部分;利用單片機的定時計數(shù)功能設計的信號頻率測量儀,可單獨使用,也可方便嵌入系統(tǒng)中。實現(xiàn)頻率測量有專用的頻率測量儀器,但不易用于特殊場合。本文介紹了一種以單片機為核心構成的與薄膜諧振式水位傳感器配套使用的專用頻率計。該頻率計直接用單片機的計數(shù)器對薄膜諧振式水位傳感器的頻率脈沖計數(shù),然后利用單片機的定時功能,從而實現(xiàn)頻率的檢測。
在一些特殊場合只需要用到一般測量用頻率計就可以,但市場上出售的大多都是多功能頻率計,且價格較高,使用起來成本較高。為此,需要設計用于固定場合的專用頻率計。本設計介紹一種與薄膜諧振式水位傳感器配套使用的頻率計。利用薄膜諧振式水位傳感器來檢測容器內(nèi)液位高度是一般液位高度檢測方法之一。目前,在全自動洗衣機中多使用薄膜諧振式水位傳感器來檢測桶內(nèi)的水位,薄膜諧振式水位傳感器內(nèi)置三點式水位傳感器振蕩電路,該振蕩電路的固有頻率隨水位的變化而變化,通過檢測該振蕩電路的頻率來判定水位的高低。該頻率計根據(jù)頻率計的基本原理,本文設計方案的基本思想是一種基于單片機AT89C51制作的頻率計的設計方法,用匯編語言對單片機編程,實現(xiàn)了閘門控制信號、計數(shù)電路、鎖存電路、位選電路、段選電路、顯示電路等。
測頻一直以來都是電子和通訊系統(tǒng)工作的重要手段之一,高精度的頻率測量儀和頻率發(fā)生器有著廣泛的市場前景。傳統(tǒng)的頻率測量儀器都是采用的是在低頻段采用測周法,再高頻段采用測頻法,其精度往往會隨著被測頻率的下降而下降。頻率信號抗干擾性強,易于傳輸,可以達到較高確度的測量,所以在測控系統(tǒng)中,測頻方法的研究越來越受到重視。多種非頻率量的傳感信號要轉化為頻率量進行測量。由于單片機內(nèi)部含有穩(wěn)定度較高的頻率源、定時/計數(shù)器等硬件,能很方便的對外部信號或標準信號進行計數(shù),并且可以進行計數(shù)的邏輯控制以及數(shù)據(jù)存儲運算等,使得基于單片機的頻率測量系統(tǒng)可以具有更小的體積、更實用的功能及更便宜的價格。
1.2 頻率測量儀器的現(xiàn)狀及發(fā)展
隨著電子技術的不斷發(fā)展,單片機應用技術正在逐漸向工業(yè)控制和測量儀器儀表系統(tǒng)設計領域滲透,在現(xiàn)代化的工業(yè)生產(chǎn)、科學研究等領域中,頻率的測量是很普遍的。由于單片機內(nèi)部含有穩(wěn)定度較高的標準頻率源、定時/計數(shù)器等硬件,能很方便地對外部信號或標準頻率信號進行計數(shù), 并且可以進行計數(shù)的邏輯控制以及數(shù)據(jù)存儲運算等, 使得基于單片機的頻率測量系統(tǒng)可以具有更小的體積、更實用的功能及更便宜的價格。頻率的測量通常有兩種方法:測頻法和測周法。由于量化誤差的影響,測頻法在高頻測量時準確度較高,測周法在低頻測時準確度較高,但無論是精確測頻法還是測周法,量化誤差都將在中界頻率附近產(chǎn)生較大的誤差。
頻率計是一種基礎測量儀器,到目前為止已有30多年的發(fā)展史。早期,設計者們追求的目標主要是擴展測量范圍,再加上提高測量精度、穩(wěn)定度等,這些也是人們衡量頻率測量儀的技術水平,決定頻率計價格高低的主要依據(jù)。目前這些基本技術日臻完善,成熟。應用現(xiàn)代技術可以輕松地將頻率計的測頻上限擴展到微波頻段。
目前,頻率測量儀器正向一個寬頻域、高精度的頻率計方向發(fā)展,在高頻段采用直接測頻法,而在低頻段采用測周期法,結合高精度恒誤差的原理,設計出測量精度與被測頻率無關的頻率計
隨著科學技術的發(fā)展,用戶對頻率計也提出了新的要求。對于低檔產(chǎn)品要求使用操作方便,量程(足夠)寬,可靠性高,價格低。而對于中高檔產(chǎn)品, 則要求有高分辨率,高精度,高穩(wěn)定度,高測量速率;除通常通用頻率計所具有的功能外,還應具有數(shù)據(jù)處理功能等。由于微電子技術和計算機技術的發(fā)展,微波頻率計都在不斷地進步著,靈敏度不斷提高,頻率范圍不斷擴大,功能不斷地增加。一些計數(shù)器可以測量脈沖參數(shù),并提供類似于頻率分析儀的屏幕顯示;對這些具有不同功能不同規(guī)格的眾多儀器,我們應該視測試需要正確地選擇,以達到最經(jīng)濟和最佳的應用效果。
1.3 頻率計的設計內(nèi)容及要求
本頻率計的設計是基于單片機AT89C51的和薄膜諧振式水位傳感器配套使用的用于液位測量的頻率測量儀,這就要求設計者在充分了解薄膜諧振式水位傳感器特性的基礎上進行系統(tǒng)的設計。設計內(nèi)容主要包括單片機外圍電路、鎖存電路、位選電路、段選電路、顯示電路等。頻率測量是電子測量的重要領域。
近幾年來的科學技術發(fā)展要求頻率標準具有更高的準確度和穩(wěn)定性。頻率測量的突出地位使得這方面的測量工作也顯得格外重要。針對頻率測量儀器領域內(nèi)的發(fā)展現(xiàn)狀,對頻率計設計有如下要求:
1. 要求該頻率計的頻率測量范圍在1Hz ~60KHz。
2. 測量信號為脈沖信號,幅度為5V。
3. 測量誤差要求小于±10Hz,測頻性能穩(wěn)定可靠。
2 薄膜諧振式水位傳感器應用
水位傳感器是將水位數(shù)據(jù)轉換成電訊號再進行傳送的關鍵設備,目前水位傳感器的主要類型有浮子式、超聲波式、壓阻式、感應式、諧振式等。各種傳感器有不同的使用條件和范圍,傳感器選擇恰當與否直接影響到整個水位觀測系統(tǒng)的可靠性及精度,特別是在一些自然條件和管理要求較為復雜的灌區(qū)應進行充分比較、論證、最終選取適用的傳感器。目前,薄膜諧振式水位傳感器大多應用在節(jié)水設備上用于水位檢測與控制,還用于全自動洗衣機的水位控制部分。
2.1 薄膜諧振式水位傳感器概述
2.1.1 薄膜諧振式水位傳感器的結構
諧振式水位傳感器采用新型的傳感原理,把水位的高低通過水位傳感器直接變成水位與頻率的對應關系。該傳感器內(nèi)置三點式水位傳感器振蕩電路,該振蕩電路的固有頻率隨水位的變化而變化,通過檢測該振蕩電路的頻率來判定水位的高低。水位傳感器的結構 如圖2-1所示:
圖2-1 水位傳感器的結構原理圖
2.1.2水位傳感器的工作原理
圖中水桶的水位H轉換為導管口中的氣壓,通過引入嘴進入傳感器氣室,氣室上面式封閉的,與水位H成正比的氣壓,被傳到薄膜上,導板嵌裝在隔膜上,當水位H上升時,氣壓增大,導板向上移動,當水位下降時,氣壓降低,在彈簧的作用下,導板向下移動,導板中心有導向軸,受外殼的支撐點限位,使導板上下平行移動,不致偏移。導板上有固定支架,裝有磁性元件,在導管氣壓的作用下導板上下平行移動時,帶動磁性元件使其與線圈之間的相對位置發(fā)生變化,因此線圈的電感量發(fā)生變化。該電感與電容組成三點式振蕩電路,該振蕩電路的固有頻率隨水位的變化而變化,通過檢測該振蕩電路的頻率來判定水位的高低。
2.2薄膜諧振式水位傳感器的功能簡介
2.2.1水位檢測
諧振式水位傳感器是利用電磁諧振電路LC 作為傳感器的敏感元件, 將被測物體的變化轉變?yōu)長C 參數(shù)的變化, 最終以頻率參數(shù)輸出。其工作原理是: 將水位的高低通過導管轉換成一個測試內(nèi)腔氣體變化的壓力, 驅(qū)動內(nèi)腔上方的一塊隔膜移動, 帶動隔膜中心的磁芯在某線圈內(nèi)移動, 從而線圈電感發(fā)生變化。由此引起諧振電路的固有頻率隨水位變化。水位測量電路如圖2-2所示, 為便于與單片機接口, 水位傳感器采用數(shù)字振蕩電路, 電感與電容組成的三點式振蕩電路經(jīng) 耦合接入數(shù)字式諧振放大器, 隨著水位變化, 諧振頻率作相應變化, 經(jīng) 整形后輸出, 此時即可將數(shù)字量接到單片機。
圖2-2 水位傳感器測量電路
2.2.2水位與頻率關系的對應
由于桶內(nèi)所形成的壓力遠小于大氣壓,因此,由此引起檢測內(nèi)腔的空氣體積變化很小,既氣腔內(nèi)外的壓差為
(2-1)
式中為水的密度, H 為水的高度。
壓差作用于薄膜上, 驅(qū)動磁芯位移ΔX , 磁芯同時受到彈簧的反作用力,壓差形成的驅(qū)動力為:
= Δp ·S (2-2)
式中 S 為薄膜的有效面積。彈簧的反作用力為:
= K ·ΔX (2-3)
式中 K 為彈性系數(shù)。當= 時位移停止,由H ··S = K·ΔX 得:
ΔX = S/K·H = A ·H (2-4)
由此可見,水位H與位移ΔX 成線性關系,磁芯在線圈中位移ΔX ,將引起電感量的變化, 已知磁芯與線圈如圖2-3 所示。
圖2-3 磁心與線圈的位移
電感L 由下式?jīng)Q定,
(2-5)
式中 N 為線圈匝數(shù); 為空氣導磁率(=4π·H/ m); 為磁芯導磁率; R 為線圈平均半徑;為磁芯有效半徑; a 為線圈長度。該線圈電感與電容器 、 組成三點式振蕩電路,取 = = 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 頻率計總體方案設計
頻率計的的設計方案有很多,這里主要介紹了基于單片機的頻率計的設計和利用中小規(guī)模的集成電路設計的頻率計。
3.1方案論證與比較
3.1.1方案一
此方案采用中小規(guī)模的數(shù)字電路構成頻率計,用計數(shù)器構成主要的測量器件,用定時器構成主要的控制模塊及時標。外圍芯片過多,頻帶太窄,系統(tǒng)實現(xiàn)起來比較復雜,功能不強。
頻率的定義是單位時間(1s)內(nèi)周期信號的變化次數(shù)。若在一定時間間隔T內(nèi)測得周期信號的重復變化次數(shù)為N,則其頻率為
f=N/T (3.1)
據(jù)此,設計方案框圖如圖3-1所示。
延遲反相器
單穩(wěn)觸發(fā)器
T觸發(fā)器
量程選擇
分頻器
時鐘
顯示
傳感器信號
計數(shù)器
鎖存器
圖3-1 方案一設計框圖
其基本原理是,被測信號ux首先經(jīng)整形電路變成計數(shù)器所要求的脈沖信號,頻率與被測信號的頻率fx相同。時鐘電路產(chǎn)生時間基準信號,分頻后控制計數(shù)與保持狀態(tài)。當其高電平時,計數(shù)器計數(shù);低電平時,計數(shù)器處于保持狀態(tài),數(shù)據(jù)送入鎖存器進行鎖存顯示。然后對計數(shù)器清零,準備下一次計數(shù)。
3.1.2 方案二
利用單片機(AT89C51)構成主要的控制和測量模塊,其內(nèi)部的計數(shù)器對其計數(shù),設定單片機定時器定時時間1s,通過軟件使計數(shù)器和定時器的開啟和關閉,到達定時時間的脈沖個數(shù)即為被測信號的頻率。
該方案的硬件電路如圖3-2所示,該電路由單片機AT89C51,8位地址鎖存器74LS373及顯示電路等組成。
復位電路
晶振
傳感器信號
鎖存器
單
片
機
顯 示
圖3-2 方案二設計框圖
其基本原理是,薄膜諧振式水位傳感器的輸出信號直接輸入給單片機的 T1口,利用單片機內(nèi)部的計數(shù)器對其計數(shù),對脈沖個數(shù)進行計數(shù)。設定單片機定時器定時時間1s,通過軟件使計數(shù)器和定時器的開啟和關閉,到達定時時間的脈沖個數(shù)即為被測信號的頻率,并用LED動態(tài)顯示電路顯示出測量頻率。
3.2 方案選擇
綜合比較兩種方案,由于方案一由于用中小規(guī)模集成電路來實現(xiàn),測量精度不高,外圍芯片過多,頻帶太窄,系統(tǒng)實現(xiàn)起來比較復雜,功能不強。方案二測量方法簡單,采用單片機的算術運算和控制功能,保證了系統(tǒng)的測量精度,功能較強,具有智能性,LED數(shù)字顯示電路能夠?qū)崟r的顯示測量結果。因此,采用方案二來實現(xiàn)。
4 頻率計硬件分析與設計
根據(jù)數(shù)字頻率計的基本原理,本設計方案的基本思想是分為三個模塊來實現(xiàn)其功能,即整個頻率計系統(tǒng)分為單片機計數(shù)定時模塊、鎖存器模塊和顯示模塊等幾個單元,并且分別用匯編語言對其進行編程,實現(xiàn)了閘門控制信號、計數(shù)電路、鎖存電路、顯示電路等。
4.1頻率計系統(tǒng)的組成與基本工作原理
4.1.1 系統(tǒng)組成
所設計的頻率計的測量范圍為1Hz到65kHz,采用5位頻率值顯示。頻率計硬件由AT89C51芯片、8位地址鎖存器74LS373、八反相三態(tài)緩沖器74LS240、LED顯示電路和系統(tǒng)軟件所組成。系統(tǒng)硬件框圖如圖4-1所示。
復位電路
RST
AT89C51
P3.5
時鐘產(chǎn)生電路
水位傳感器
鎖
存
器
反
相
器
共陽極
LED
74LS373
74LS240
圖4-1系統(tǒng)硬件框圖
4.1.2 系統(tǒng)設計原理
利用單片機(AT89C51)構成主要的控制和測量模塊,將傳感器輸入到單片機的頻率信號(脈沖信號)利用其內(nèi)部的計數(shù)器對其計數(shù),設定單片機定時器定時時間1s,通過軟件使計數(shù)器和定時器的開啟和關閉,到達定時時間的脈沖個數(shù)即為被測信號的頻率,并用LED動態(tài)顯示電路顯示出測量頻率。該系統(tǒng)以單片機的指令周期作為時標,具有足夠的精度,電路實現(xiàn)簡單,功能較強,具有智能性。
單片機利用定時器T0通過其控制功能測出輸入信號的周期。然后利用單片機的算術運算功能將周期轉換成頻率。頻率值得出后,為方便計算要顯示頻率值的段碼再將其轉換成壓縮的BCD碼,通過查表將要顯示頻率值的每一位的壓縮BCD碼轉換成8段碼送到顯示緩沖區(qū)。最后,送至LED顯示模塊顯示出所測的頻率。
4.1.3 測頻原理
目前頻率測量主要有3種實現(xiàn)方法。(1)直接測頻法。直接測頻法是把被測頻率信號經(jīng)脈沖形成電路后加到閘門的一個輸入端,只有在閘門開通時間t內(nèi),被計數(shù)的脈沖才被送到十進制計數(shù)器進行計數(shù),設計數(shù)器的值為N。由頻率定義式可以計算得到被測信號頻率f=N/t。該測量在低頻段的相對測量誤差較大。增大t可以提高測量精度,但在低頻段效果不理想。(2)組合法。組合測頻法是指在低頻時采用直接測量周期法測信號周期,然后換算成頻率。這種方法可以在一定程度上彌補上述方法的不足,但是難以確定最佳分測點,且電路實現(xiàn)復雜。(3)倍頻法。直接測頻法在高頻段有很高的精度??梢园杨l率測量范圍分成多個頻段,使用倍頻技術,根據(jù)頻段設置倍頻系數(shù)將經(jīng)整形后的低頻信號進行倍頻后再進行測量,高頻段則進行直接測量。
脈沖信號的頻率就是在單位時間內(nèi)所產(chǎn)生的脈沖個數(shù),其表達式為f=N/T,其中f—被測信號的頻率,N—計數(shù)器單位時間所累計的脈沖個數(shù);T—單位時間。如在1s中記錄1000個脈沖,則被測信號的頻率為1000HZ。
晶振產(chǎn)生的標準頻率,經(jīng)單片機電路分頻后可獲取各種時基信號(1ms、10ms、0.1s、1s)。水位傳感器的頻率信號直接加到單片機的主控門T1計數(shù)端。只有在閘門時間采樣期內(nèi)(時基信號的一個周期),輸入信號才通過主控門。若時基信號的周期為T,進入計數(shù)器的脈沖個數(shù)為N,則被測信號的頻率f=N/T,改變時基信號的周期T,即可得到不同的測頻范圍。當主控門關閉時,經(jīng)延時整形電路的延時后,延時電路輸出一個復位信號,使計數(shù)器和所有的觸發(fā)器置0,為后續(xù)新的一次采樣做好準備,即能鎖住一次顯示的時間,直到接受到新的一次采樣為止。顯示方式采用七段LED數(shù)碼管顯示讀出,做到顯示穩(wěn)定、不跳變。
4.2 AT89C51單片機在本系統(tǒng)中的應用
4.2.1 AT89C51簡介
T89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機,片內(nèi)含4K的 可反復檫些的只讀程序存儲器和128字節(jié)的隨機2數(shù)據(jù)存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大,可靈活應用于各種控制領域。
1. 主要性能參數(shù)
l 與MCS-51產(chǎn)品指令系統(tǒng)完全兼容;
l 4K字節(jié)可重檫寫Flash閃速存儲器;
l 1000次檫寫周期;
l 全靜態(tài)操作:0HZ—24MHZ ;
l 三級加密程序存儲器;
l 128*8字節(jié)內(nèi)部RAM;
l 32個可編程I/O口線;
l 2個16位定時/計數(shù)器;
l 6個中斷源;
l 可編程串行UART通道;
l 低功耗空閑和掉電模式。
2. 引腳說明 圖4-2 AT89C51引腳圖
圖4-2 是AT89C51 的引腳圖,引腳說明如下:
u VCC AT89C51 電源正極輸入,接+5V 電壓。
u GND 電源接地端。
u XTAL1 接外部晶振的一個引腳。在單片機內(nèi)部,它是一反相放大器輸入端,這個放大器構成了片內(nèi)振蕩器。它采用外部振蕩器時,一些引腳應接地。
u XTAL2 接外部晶振的一個引腳。在片內(nèi)接至振蕩器的反相放大器輸出端和內(nèi)部時鐘發(fā)生器輸入端。當采用外部振蕩器時,則此引腳接外部振蕩信號的輸入。
u RST AT89C51 的復位信號輸入引腳,高電位工作,當要對芯片又時,只要將此引腳電位提升到高電位,并持續(xù)兩個機器周期以上的時間,AT89C51 便能完成系統(tǒng)復位的各項工作,使得內(nèi)部特殊功能寄存器的內(nèi)容均被設成已知狀態(tài)。
u ALE/PROG ALE 是英文"ADDRESS LATCH ENABLE"的縮寫,表示允許地址鎖存允許信號。當訪問外部存儲器時,ALE 信號負跳變來觸發(fā)外部的8 位鎖存器 (如74LS373),將端口P0 的地址總線(A0-A7)鎖存進入鎖存器中。在非訪問外部存儲器期間,ALE 引腳的輸出頻率是系統(tǒng)工作頻率的 1/6,因此可以用來驅(qū)動其他外圍芯片的時鐘輸入。當問外部存儲器期間,將以1/12 振蕩頻率輸出。
u EA/VPP 該引腳為低電平時,則讀取外部的程序代碼 (存于外部EPROM 中)來執(zhí)行程序。因此在8031 中,EA 引腳必須接低電位,因為其內(nèi)部無程序存儲器空間。如果是使用AT89C51或其它內(nèi)部有程序空間的單片機時,此引腳接成高電平使程序運行時訪問內(nèi)部程序存儲器,當程序指針PC 值超過片內(nèi)程序存儲器地址(如8051/8751/89C51 的PC 超過0FFFH)時,將自動轉向外部程序存儲器繼續(xù)運行。此外, 89C51 內(nèi)部FALSH 時,可以利用此引腳來輸入提供編程電壓。
u PSEN 此為"Program Store Enable"的縮寫。訪問外部程序存儲器選通信號,低電平有效。在訪問外部程序存儲器讀取指令碼時,每個機器周期產(chǎn)生二次PSEN 信號。在執(zhí)行片內(nèi)程序存儲器指令時,不產(chǎn)生PSEN 信號,在訪問外部數(shù)據(jù)時,亦不產(chǎn)生PSEN 信號。
u P0 P0 口(P0.0~P0.7)是一個8 位漏極開路雙向輸入輸出端口,當訪問外部數(shù)據(jù)時,它是地址總線(低8 位)和數(shù)據(jù)總線復用。外部不擴展而單片應用時,則作一般雙向I/O 口用。P0 口每一個引腳可以推動8 個LSTTL 負載。
u P2 P2 口(P2.0~P2.7)口是具有內(nèi)部提升電路的雙向I/0 端口(準雙向并行I/O 口),當訪問外部程序存儲器時,它是高8 位地址。外部不擴展而單片應用時,則作一般雙向I/O 口用。每一個引腳可以推動4 個LSTL 負載。
u P1 P1 口(P1.0~P1.7)口是具有內(nèi)部提升電路的雙向I/0 端口(準雙向并行I/O 口),其輸出可以推動4 個LSTTL 負載。僅供用戶作為輸入輸出用的端口。
u P3 P3 口(P3.0~P3.7)口是具有內(nèi)部提升電路的雙向I/0 端口(準雙向并行I/O 口),它還提供特殊功能,包括串行通信、外部中斷控制、計時計數(shù)控制及外部隨機存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ?。其特殊功能引腳分配如下:
P3.0 RXD 串行通信輸入;
P3.1 TXD 串行通信輸出;
P3.2 INT0 外部中斷0 輸入,低電平有效;
P3.3 INT1 外部中斷1 輸入,低電平有效;
P3.4 T0 計數(shù)器0 外部事件計數(shù)輸入端;
P3.5 T1 計數(shù)器1 外部事件計數(shù)輸入端;
P3.6 WR 外部隨機存儲器的寫選通,低電平有效;
P3.7 RD 外部隨機存儲器的讀選通,低電平有效。
4.2.2 AT89C51器件的基本結構
1. AT89C51 各中斷源向量地址如表4-1 所示:
表4-1 各中斷源向量地址
中斷源
向量地址
外部中斷0(INT0)(IE0)
0003H
定時/計數(shù)器0(TF0)
000BH
外部中斷1(INT1)(IE1)
0013H
定時/計數(shù)器1(TF1)
001BH
串行通訊(RI+TI)
0023H
2. 主要特殊功能寄存器說明
u IE 中斷允許寄存器。其格式如表4-2所示:
表4-2 中斷允許寄存器格式
位地址
AF
-
AD
AC
AB
AA
A9
A8
符號
EA
-
ET2
ES
ET1
EX1
ET0
EX0
EA=0 時,所有中斷停用(禁止中斷)。
EA=1 時,各中斷的產(chǎn)生由個別的允許位決定。
ET1(IE.3) :允許計時器1 中斷(ET1=1 允許,ET1=0 禁止)。
EX1(IE.2) :允許外部中斷INT1 的中斷(EX1=1 允許,EX1=0 禁止)。
ET0(IE.1) :允許計時器0 中斷(ET0=1 允許,ET0=0 禁止)。
EX0(IE.0) :允許外部中斷INT0 的中斷(EX0=1 允許,EX0=0 禁止)。
u TMOD 定時/計數(shù)器工作方式控制寄存器,其格式如表4-3所示:
表4-3 定時/計數(shù)器工作方式控制寄存器格式
符號
GATE
C/T
M1
M0
GATE
C/T
M1
M0
類別
定時/計數(shù)器1
定時/計數(shù)器0
GATE :當GATE=1 時,INT0 或INT1 引腳且為高電平,同時TCON 中的TR0或TR1 控制位如為1 時,定時/計數(shù)器0 或1 才會工作。 若GATE=0,同時只要TCON 中的TR0 或TR1 控制位如為1 時,定時/計數(shù)器0 或1 即可工作。
C/T :選擇定時或計數(shù)器模式。當C/T=1 為計數(shù)器,由外部引腳T0 或T1 輸計數(shù)脈沖。C/T=0 時為計時器,由內(nèi)部系統(tǒng)時鐘提供計時工作脈沖。
M1 :方式選擇位1。
M0 :方式選擇位0。
M1、M2 的操作方式選擇定義如表4-4所示:
表4-4 定時/計數(shù)器工作方式選擇
M1
M0
操作方式
功能說明
0
0
方式0
13位定時/計數(shù)器
0
1
方式1
16位定時/計數(shù)器
1
0
方式2
自動再裝入8位定時/計數(shù)器
1
1
方式3
定時/計數(shù)器1無效將定時計數(shù)器0分成兩個8位計數(shù)器
u TCON 定時/計數(shù)器工作方式控制寄存器,其格式如表4-5所示:
表4-5 定時/計數(shù)器工作方式控制寄存器格式
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
符號
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
TF1 :計時器 1 溢出標志,當計時溢出時,由硬件設定為1,在執(zhí)行相對的中斷服務程序后則自動清0。
TR1 :計時器1 啟動控制位,可以由軟件來設定或清除。TR1 時啟動計時器工作,TRl=0 時關閉。
TF0 :計時器0 溢出標志,當計時溢出時,由硬件設定為1,在執(zhí)行相對的中斷服務程序后則自動清0。
TR0 :計時器0 啟動控制位,可以由軟件來設定或清除。TR0=1 時,啟動計時器工作,TR0=時關閉。
IE1 :外部中斷1 工作標志,當外部中斷被檢查出來時,硬件自動設定此位,在執(zhí)行中斷服務程序后,則清0。
IT1 :外部中斷1 工作形式選擇,IT1=1 時,由下降緣產(chǎn)生外部中斷,IT1=0 時,則為低電位產(chǎn)生中斷。
IE0 :外部中斷0 工作標志,當外部中斷被檢查出來時,硬件自動設定此位,在執(zhí)行中斷服務程序后,則清0。
IT0 :外部中斷0 工作形式選擇,IT1=1 時,由下降緣產(chǎn)生外部中斷,IT1=0 時,則為低電位產(chǎn)生中斷。
3. 定時器初值計算
定時器初值的計算公式:Tc=M-(T/T計數(shù))其中Tc 為初值,M 為計數(shù)器模值,T 定時器定時時間,T為fosc/12。定時器各工作方式的定時時間如表4-5所示:
表4-5 定時器各工作方式的定時時間
工作方式
M模值
T計數(shù)
最大定時時間
方式0
fosc/12
fosc/12
方式1
fosc/12
方式2
fosc/12
方式3
fosc/12
4.2.3 AT89C51的定時器/計數(shù)器
u 定時功能 選擇定時功能時,計數(shù)輸入信號是內(nèi)部的時鐘脈沖,每個機器周期使寄存器的值加1,所以,計數(shù)頻率是振蕩頻率的1/12。例如,采用12MHz的晶振,則計數(shù)脈沖頻率為1MHz.,此時C/=0。
u 計數(shù)功能 選擇計數(shù)功能時,計數(shù)脈沖來自外部輸入引腳,為P3.4,為P3.5。當輸入信號由1→0的跳變時,計數(shù)寄存器(TH0、TL0或TH1、TL1)的值增1.此時C/=1。定時器/計數(shù)器方式1邏輯結構如圖4-4所示:
圖4-4定時器/計數(shù)器方式1邏輯結構
4.2.4 AT89C51外圍電路設計
晶振電路:晶振輸入選擇12MHZ的立式晶振,諧振電容C1、C2選擇30PF,電路如圖4-5所示:
復位電路設計:復位電路采用上電自動復位,基本功能就是在系統(tǒng)上電時提供復位信號,高電平復位,直至系統(tǒng)穩(wěn)定后,撤銷復位信號。電路如圖4-6所示:
圖4-5晶振電路 圖4-6 復位電路
4.3 地址鎖存器74LS373介紹
74LS373是一種8D鎖存器,具有三態(tài)驅(qū)動輸出,其邏輯電路及引腳圖如圖4-7所示,從圖可見,該鎖存器由8個D門組成,有8個輸入端1D~8D,8個輸出端1Q~8Q,2個控制端——G和OE,使能端G有效時,將D端數(shù)據(jù)打入鎖存器中D門,當輸出允許端OE有效時,將鎖存器中鎖存的數(shù)據(jù)送到輸出端Q。圖4-8 所示74LS373真值表。
圖4-7 74LS373內(nèi)部結構及其引腳圖
使能G
輸出允許OE
輸入D
輸出Q
H
H
L
X
L
L
L
H
L
H
X
X
L
H
Q0
Z
圖4-8 74LS373真值表
當使能端G為高電平時,同時輸出允許端OE為低電平,則輸出Q=輸入D;當使能端G為低電平,而輸出允許端OE也為低電平時,則輸出Q=QO(原狀態(tài),即使能端G由高電平變?yōu)榈碗娖角埃敵龆薗的狀態(tài),這就是“鎖存”的意義)。當輸出允許端OE為高電平時,不論使能端G為何值,輸出端Q總為高阻態(tài)。74LS373鎖存器主要用于鎖存地址信息、數(shù)據(jù)信息以及DMA頁面地址信息等
4 .4 八路反相緩沖器74LS240應用
由于本設計顯示電路采用的是5位共陽極數(shù)碼管顯示,段碼是低電平有效,這里選用74LS240對段碼進行取反。八路反相緩沖器,G1和G2接低低電平,反相有效。其內(nèi)部結構和引腳如圖4-9所示。圖4-10是74LS240的真值表。
圖4-9 74LS240內(nèi)部結構和引腳圖
圖4-10 74LS240真值表
4.5 顯示電路
4.5.1顯示電路設計
該顯示電路共顯示5位數(shù)字,采用動態(tài)顯示方式.將所有位段選線并聯(lián)在一起由P2口控制,而共陽極的公共端分別由P1口的P1.0~P1.4線控制,實現(xiàn)各位的分時選通.由于5位段選線都是由P2口控制的,為使每位顯示不同的數(shù)字,故采用只使某一位顯示數(shù)字的方法.在某瞬間,段選控制P2口輸出相應數(shù)字段選碼,而位選則控制P1口在該顯示位送入選通電平(LED為共陽極),以保證該位顯示相應數(shù)字,如此輪流,使每位分時顯示該位相應的數(shù)字.段選碼、位選碼每送入一次后延時1ms,利用視覺暫留的原理,造成連續(xù)顯示的效果。電路如圖4-11所示:
圖4-11 顯示電路原理圖
4.5.2單片機驅(qū)動數(shù)碼管原理
單片機驅(qū)動LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。
靜態(tài)顯示就是顯示驅(qū)動電路具有輸出鎖存功能,單片機將所要顯示的數(shù)據(jù)送出后就不再管,直到下一次顯示數(shù)據(jù)需要更新時再傳送一次新數(shù)據(jù),顯示數(shù)據(jù)穩(wěn)定,占用很少的CPU時間。動態(tài)顯示需要CPU時刻對顯示器件進行數(shù)據(jù)刷新,顯示數(shù)據(jù)有閃爍感,占用的CPU時間多。這兩種顯示方式各有利弊;靜態(tài)顯示雖然數(shù)據(jù)穩(wěn)定,占用很少的CPU時間,但每個顯示單元都需要單獨的顯示驅(qū)動電路,使用的硬件較多;動態(tài)顯示雖然有閃爍感,占用的CPU時間多,但使用的硬件少,能節(jié)省線路板空間。
硬件譯碼就是顯示的段碼完全由硬件完成,CPU只要送出標準的BCD碼即可,硬件接線有一定標準。軟件譯碼是用軟件來完成硬件的功能,編程實現(xiàn)。硬件簡單,接線靈活,顯示段碼完全由軟件來處理,是目前常用的顯示驅(qū)動方式。
4.6 硬件總電路圖
硬件總電路圖見附錄2,電路包括單片機的外圍電路,計數(shù)鎖存電路,位選電路以及五位LED顯示部分。
5 軟件設計
該頻率計的軟件設計主要包括主程序、中斷服務程序、顯示子程序、延時子程序等。主程序主要完成初始化、調(diào)用各功能子程序的功能,其流程圖如圖5-1所示.顯示程序用于顯示所測頻率,其流程圖如圖5-3所示。中斷服務程序用以完成脈沖數(shù)的累加(框圖略)。
5.1主程序設計
主程序設計完成對單片機初始化,調(diào)用各功能子程序。包括置定時器初值,設定時器工作方式,其流程圖如圖5-1所示:
設置定時器工作方式
置定時器初值
開中斷
向顯示緩沖區(qū)放數(shù)
調(diào)顯示子程序
圖5-1主程序流程圖
MAIN: MOV SP,#60H ;設置堆棧
MOV TMOD,#51H ;T1計數(shù)狀態(tài)、方式1,T0定時狀態(tài)、方式1
MOV TL1,#00H ;T1計數(shù)初值設定
MOV TH1,#00H
MOV TL0,#0B0H ;T0定時50ms初值設定
MOV TH0,#3CH ;fosc=12MHZ(最小定時時間為1μs)
MOV R3,#20 ;軟件計數(shù)器
ORL TCON,#01010000B ;同時啟動定時器T0和T1
SETB EA
SETB ET1
LDIR: LCALL DIDPLAY ;調(diào)顯示子程序,并等待中斷
SJMP LDIR ;循環(huán)顯示
T0INT: DJNZ R3,EXIT ;1s時間未到則中斷返回,繼續(xù)定時
ANL TCON,#10001111B ;1s定時到,同時關閉定時器1和計數(shù)器0
MOV R0,TL1 ;將計數(shù)值的低八位存入R0
MOV R1,TH1 ;將計數(shù)值的高八位存入R1
MOV TL1,#0B0H ;重裝初值
MOV TH1,#3CH
MOV R3,#20 ;重新設置軟件計數(shù)器
ORL TCON,#01010000B ;同時啟動定時器T0和T1
AJMP LOOP
EXIT: MOV TH1,#0B0H ;1s未到,重設T1的50ms定時初值
MOV TL1,#3CH
LOOP: RETI
END
5.2 中斷服務子程序設計
共有一個中斷服務子程序為定時器T0中斷服務子程序,功能為產(chǎn)生1S的定時時間,置定時時間到標志。程序見附錄1。
主程序
中斷子程序
返回
斷點
圖5-2 中斷過程示意圖
5.3 顯示子程序設計
本設計顯示電路采用五位共陽極數(shù)碼管顯示,設計為動態(tài)顯示電路,采用軟件譯碼的方式,程序設計包括顯示子程序、分離顯示數(shù)字子程序、16位除法子程序、轉換顯示字段碼子程序、動態(tài)顯示部份。其流程圖如圖5-3所示:程序見附錄1。
取顯示數(shù)據(jù)
送百位段碼
指向顯示緩沖區(qū)首址
查表取字型碼
送萬位位碼
延時2ms
返回
判斷千位是否為0
判斷萬位是否為0
判斷百位是否為0
判斷十位是否為0
送萬位段碼
送十位段碼
送個位段碼
送千位段碼
送百位位碼
送十位位碼
送個位位碼
送千位位碼
關閉
Y
N
N
N
N
Y
Y
Y
圖5-3 顯示子程序流程圖
6 運行與調(diào)試
完成了頻率計的硬件、軟件設計和硬件組裝后,便可進入系統(tǒng)調(diào)試階段。調(diào)試的目的是要查出硬件設計與軟件設計中存在的錯誤,以便修改設計,保證設計最終正常運行,調(diào)試包括硬件調(diào)試和軟件調(diào)試及軟硬件聯(lián)調(diào)。
6.1硬件調(diào)試
硬件調(diào)試包括復位電路調(diào)試、晶振電路調(diào)試、顯示電路調(diào)試。?調(diào)試過程記錄如下:
u 晶振電路調(diào)試
單片機晶振電路采用內(nèi)部時鐘方式,諧振電容20PF,晶振用的是12.000M的立式晶振,用示波器觀察單片機18、19腳沒有產(chǎn)生12MHZ的正弦波,如圖6-1所示。用萬用表檢測單片機引腳電平,單片機供電正常,但是晶振不能起振,將諧振電容更換為30PF后,晶振開始工作,引腳輸出電平為2.4V。此時單片機ALE 引腳的輸出頻率是系統(tǒng)工作頻率的 1/6,即為2MHZ,如圖6-2所示,單片機開始工作。
圖6-1 晶振工作波形 圖6-2 ALE輸出信號
u 顯示電路調(diào)試
由于顯示部分是按照動態(tài)顯示、軟件譯碼的方式設計的。因而很難劃分硬件和軟件,在調(diào)試中即使電路安裝正確沒有一定的指令去指揮它工作,也是無法發(fā)現(xiàn)硬件的故障。因此要使用一些簡單的調(diào)試程序來確定硬件的組裝是否正確、功能是否完整。
顯示部分調(diào)試為了使調(diào)試順利進行,首先將89C51與LED顯示分離,這樣就可以用靜態(tài)方法先測試LED顯示,分別用規(guī)定的電平加至控制數(shù)碼管段和位顯示的引腳,看數(shù)碼管顯示是否與理論上一致。再檢測電路工作是否正常。對89C51進行編程調(diào)試時,分為兩個步驟:第一,對其進行初始化后,分別向P1、P2、P3三個口送入#0FFH,這時可以利用萬用表測試各口的位電壓為3.8 V左右,若送入#00H,這時各口的位電壓應為0.03 V;第二,將89C51與LED結合起來,通過編制程序(采用五位LED分別顯示“12345”程序)進行調(diào)試。數(shù)碼管不顯示,檢查單片機的P0口,發(fā)現(xiàn)輸出的數(shù)據(jù)和要顯示的數(shù)據(jù)一致,可能是驅(qū)動電壓的問題,檢查單片機P0口輸出電平只有1V左右,驅(qū)動能力太弱,解決辦法加上拉電阻或?qū)⑤敵龆未a換到P2口,P2口的輸出電平接近5V,我選擇了后者,互換后顯示正常。
6.2 軟件程序調(diào)試
6.2.1 MedWin仿真軟件簡介
MedWin是由一家專門生產(chǎn)80C51系列單片機仿真器的公司為其80C51系列單片機仿真配備的仿真軟件,它為80C51單片機提供了集成環(huán)境,較適合初學者使用。
6.2.2 匯編語言程序的仿真調(diào)試
匯編語言源程序經(jīng)過匯編后只是解決了程序的語法問題,即程序從語法上已經(jīng)是一個合法的程序,但是檢驗程序正確與否的唯一標準應是將其加載到硬件系統(tǒng)中并能按要求正常運行。問題是我們我們不可能編好一段程序就將其寫入到單片機中并使之運行,待發(fā)現(xiàn)有問題再回到起點,重新編輯和匯編,弄不好要毀掉芯片,既麻煩又增加了開發(fā)成本。調(diào)試過程如下:
將編輯好的程序命名為5LED.ASM,匯編程序并裝入。程序中出現(xiàn)符號未定義,
有多余字符、指令書寫錯誤等語法方面的錯誤,編輯、修改產(chǎn)生代碼并裝入后,結果如圖6-3所示:
圖6-3 匯編并裝入程序
仿真調(diào)試:
“查看”→“寄存器”→以及“特殊功能寄存器”→“調(diào)試”→“單步”按鈕。結果:“特殊功能寄存器”中P2的內(nèi)容為0~9的七段碼。各個寄存器的值與程序中設定的值一致。然后將正確的程序生成目標文件寫入單片機進行調(diào)試。
6.3系統(tǒng)聯(lián)調(diào)
正確的程序?qū)懭牒缶蛻撨M行軟、硬件聯(lián)合調(diào)試。聯(lián)機仿真必須借助于數(shù)字實驗箱、信號發(fā)生器、示波器、萬用表等工具。
1.信號線測試 信號線是聯(lián)絡89C51和外部器件的紐帶,如果信號線連結錯誤或時序不對,那么都會造成對外圍電
收藏