欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7722|回復: 4
收起左側(cè)

51單片機1602液晶顯示的頻率計設(shè)計論文

[復制鏈接]
ID:369002 發(fā)表于 2018-7-11 15:45 | 顯示全部樓層 |閱讀模式

在電子領(lǐng)域內(nèi),頻率是一種最基本的參數(shù),并與其他許多電參量的測量方案和測量結(jié)果都有著十分密切的關(guān)系。由于頻率信號抗干擾能力強、易于傳輸,可以獲得較高的測量精度。因此,頻率的測量就顯得尤為重要,測頻方法的研究越來越受到重視。
頻率計作為測量儀器的一種,常稱為電子計數(shù)器,它的基本功能是測量信號的頻率和周期頻率計的應(yīng)用范圍很廣,它不僅應(yīng)用于一般的簡單儀器測量,而且還廣泛應(yīng)用于教學、科研、高精度儀器測量、工業(yè)控制等其它領(lǐng)域。隨著微電子技術(shù)和計算機技術(shù)的迅速發(fā)展,特別是單片機的出現(xiàn)和發(fā)展,使傳統(tǒng)的電子側(cè)量儀器在原理、功能、精度及自動化水平等方面都發(fā)生了巨大的變化,形成一種完全突破傳統(tǒng)概念的新一代側(cè)量儀器。頻率計廣泛采用了高速集成電路和大規(guī)模集成電路,使儀器在小型化、耗電、可靠性等方面都發(fā)生了重大的變化。目前,市場上有各種多功能、高精度、高頻率的數(shù)字頻率計,但價格不菲。

為適應(yīng)實際工作的需要,本次設(shè)計給出了一種較小規(guī)模和單片機(AT89S52)相結(jié)合的頻率計的設(shè)計方案,不但切實可行,而且體積小、保密性強、設(shè)計簡單、成本低、精度高、可測頻帶寬,大大降低了設(shè)計成本和實現(xiàn)復雜度。頻率計的硬件電路是用Protel繪圖軟件繪制而成,軟件部分的單片機控制程序,是以KeilC做為開發(fā)工具用C語言編寫而成,而頻率計的實現(xiàn)則是選用Ptotues仿真軟件來進行模擬和測試。


ABSTRACT

In the electronic field, frequency is a kind of most basic parameter, and all there are close relations in the measurement schemes of many other electric parameters and result of measuring. Because the signal anti-interference ability of frequency is strong, easy to transmit, can obtain higher measurement precision. So, the measurement of frequency seems particularly important, the research of the method is being paid attention to.
The Frequency meter, as one kind of the measuring instrument, often called the electronic counter, its basic function is that frequency and application of cycle Frequency meter of measuring the signal are in a very large range, it not only applies to general simple instrument measurement but also apply to other fields such as teaching, scientific research, high-accuracy instrument measuring, industrial control extensively. With the rapid development of microelectric technique and computer technology, especially appearance and development of the one-chip computer, the instruments have all changed enormously in such aspects as principle, function, precision and automatic level to enable the traditional electronic side amount, form a kind of side amount instrument of new generation that totally broke through the traditional concept. The Frequency meter has adopted the high-speed integrated circuit and large scale integrated circuit extensively, make the instrument change greatly in such aspects as miniaturize, power consumptive, dependability. At present, there are various digital Frequency meter of multi-function, high precision, high frequency on the market, but the price is high.
In order to meet the need of the real work, design and provide one this time The design plan of Frequency meter combining with one-chip computer (AT89S52) on a small scale, not only feasible, and small, of good security, design simply, with low costs, the precision is high, can examine the bandwidth frequently, have reduced the design cost and realized complexity greatly. The hardware circuit of the Frequency meter is drawing with Protel mapping software, the one-chip computer control procedure of the software part, regarded KeilC as the developing instrument to write in C language, but the realization of the Frequency meter was to select to carry on imitating and test with Protues artificial software.

目  錄

1 緒 論

1.1 課題的引入

1.2 產(chǎn)生背景

1.3 國內(nèi)外研究現(xiàn)狀

1.4 單片機頻率計設(shè)計的目的及意義

2 AT89S52單片機介紹及其發(fā)展概況

2.1 單片機的介紹

2.1.1 單片機概述

2.1.2 單片機的發(fā)展

2.1.3 單片機的特點及應(yīng)用

2.2 AT89S52系列單片機

2.2.1 AT89系列單片機

2.2.2 AT89S52系列單片機的基本結(jié)構(gòu)

3 頻率計總體方案設(shè)計

3.1 頻率計設(shè)計原理

3.1.1 頻率檢測實現(xiàn)方法

3.1.2 頻率計測頻原理

3.2 設(shè)計思路及方法

3.2.1 頻率計方案概述

3.2.2 頻率計的量程自動切換

4 系統(tǒng)的硬件設(shè)計

4.1 時鐘信號發(fā)生器

4.2 AT89S52 控制寄存器

4.2.1 AT89S52中斷控制系統(tǒng)

4.2.2 AT89S52定時/計數(shù)器的控制

4.3 LCD1602顯示電路

4.3.1 LCD1602的主要技術(shù)參數(shù)及接口說明

4.3.2 控制器接口及時序

4.3.3 頻率計硬件電路整體設(shè)計

5 系統(tǒng)的軟件設(shè)計

5.1 Keil C簡介

5.2 頻率計程序的建立過程

5.3 軟件功能模塊設(shè)計

5.3.1 LCD初始化設(shè)置模塊

5.3.2 浮點數(shù)到ASCII碼轉(zhuǎn)換模塊

5.3.3 定時/計數(shù)器初始化模塊

5.3.4 定時器中斷服務(wù)模塊子程序

6 系統(tǒng)的模擬及仿真

6.1 Proteus ISIS簡介

6.1.1 Proteus ISIS的概況簡介及特點

6.1.2 Proteus ISIS的運行概況

6.1.3 用Proteus 軟件虛擬單片機實驗的優(yōu)點

6.2 系統(tǒng)的模擬與仿真過程

6.3 頻率計系統(tǒng)仿真分析            

結(jié)束語

致謝

參考文獻


1   緒 論
1.1  課題的引入
在電子技術(shù)中,頻率是一種計算單位時間內(nèi)的信號變化的數(shù)值的儀器,是最基本的參數(shù)之一,由于頻率信號抗干擾能力強、易于傳輸,可以獲得較高的測量精度,并且與許多電參量的測量方案、測量結(jié)果都有十分密切的關(guān)系。因此,頻率的測量就顯得更為重要。
隨著微電子技術(shù)和計算機技術(shù)的迅速發(fā)展,特別是單片機的出現(xiàn)和發(fā)展,使傳統(tǒng)的電子測量儀器在原理、功能、精度及自動化水平等方面都發(fā)生了巨大的變化,形成一種完全突破傳統(tǒng)概念的新一代測量儀器。從80年代單片機引入我國至今,單片機已廣泛地應(yīng)用于電子設(shè)計中,使頻率計智能化水平在廣度和深度上產(chǎn)生了質(zhì)的飛躍,數(shù)字化也成為了電子設(shè)計的必由之路。運用單片機設(shè)計頻率計,并采用適當?shù)乃惴ㄈ〈鷤鹘y(tǒng)電路,克服了傳統(tǒng)頻率計結(jié)構(gòu)復雜、穩(wěn)定性差、精度不高的弊端,其體積小、保密性強、設(shè)計簡單、成本低,不僅大大降低了設(shè)計成本和實現(xiàn)復雜度,而且頻率計性能也將大幅提高,可實現(xiàn)精度較高、等精度和寬范圍頻率計的要求。[15]
1.2  產(chǎn)生背景
頻率計作為測量儀器的一種,常稱為電子計數(shù)器,它的基本功能是測量信號的頻率和周期頻率計的應(yīng)用范圍很廣,它不僅應(yīng)用于一般的簡單儀器測量,而且還廣泛應(yīng)用于教學、科研、高精度儀器測量、工業(yè)控制等其它領(lǐng)域。
20世紀70年代,微電子技術(shù)正處于發(fā)展階段,集成電路屬于中規(guī)模發(fā)展時期,各種新材料新工藝尚未成熟,美國仙童(Fairchild)公司研制出世界上第一臺單片微型機F8。此時單片機仍處在初級的發(fā)展階段,元件集成規(guī)模還比較小,功能比較簡單,一般均把CPU、RAM有的還包括了一些簡單的I/O口集成到芯片上,它還需配上外圍的其他處理電路方才構(gòu)成完整的計算系統(tǒng)。
問世以來,單片機開始迅速發(fā)展,其功能不斷增強和完善,應(yīng)用領(lǐng)域也越來越廣泛,現(xiàn)已成為微型計算機的重要分支。目前,單片機發(fā)展具體體現(xiàn)在CPU功能增強內(nèi)部資源增多引腳的多功能化和低電壓低功耗等方面。
隨著嵌入式系統(tǒng)式系統(tǒng)片上系統(tǒng)等概念的提出.普遍接受及應(yīng)用,單片機的發(fā)展又進入了一個新的階段,單片機的體積更小功能更齊全可靠性更高.由于起明顯的優(yōu)勢,單片機在工業(yè)控制、數(shù)據(jù)采集、智能儀器儀表、家用電器、智能玩具、通信系統(tǒng)、機械加工等各個領(lǐng)域都獲得了廣泛的應(yīng)用,極大的提高了這些領(lǐng)域的技術(shù)水平和自動化程度。單片機技術(shù)已成為現(xiàn)代電子技術(shù)應(yīng)用領(lǐng)域十分重要的技術(shù)之一,是電子技術(shù)應(yīng)用領(lǐng)域工程技術(shù)人員必備的知識和技能,它能夠是我們設(shè)計的產(chǎn)品更具智能性和先進性。
從80年代單片機引入我國至今,單片機已廣泛地應(yīng)用于電子設(shè)計中,使頻率計智能化水平在廣度和深度上產(chǎn)生了質(zhì)的飛躍,數(shù)字化也成為了電子設(shè)計的必由之路。運用51系列單片機和高速計數(shù)器的組合設(shè)計頻率計,并采用適當?shù)乃惴ㄈ〈鷤鹘y(tǒng)電路,不僅能克服傳統(tǒng)頻率計結(jié)構(gòu)復雜、穩(wěn)定性差、精度不高的弊端,而且頻率計性能也將大幅提高,可實現(xiàn)精度較高、等精度和寬范圍頻率計的要求。
1.3  國內(nèi)外研究現(xiàn)狀
20世紀70年代,美國仙童(Fairchild)公司研制出世界上第一臺單片微型機F8。單片機的問世和飛速發(fā)展掀起了計算機工程應(yīng)用的一場新革命,使計算機技術(shù)沖破了實驗室和機房的界限,廣泛應(yīng)用與工業(yè)控制系統(tǒng)數(shù)據(jù)采集系統(tǒng)自動測試系統(tǒng)只能儀表和接口以及各類功能模塊等廣闊的領(lǐng)域。隨著嵌入式系統(tǒng)式系統(tǒng)片上系統(tǒng)等概念的提出.普遍接受及應(yīng)用,單片機的發(fā)展又進入了一個新的階段,單片機的體積更小功能更齊全可靠性更高。由于起明顯的優(yōu)勢,單片機在工業(yè)控制、數(shù)據(jù)采集、智能儀器儀表、家用電器、智能玩具、通信系統(tǒng)、機械加工等各個領(lǐng)域都獲得了廣泛的應(yīng)用,極大的提高了這些領(lǐng)域的技術(shù)水平和自動化程度。單片機技術(shù)已成為現(xiàn)代電子技術(shù)應(yīng)用領(lǐng)域十分重要的技術(shù)之一,是電子技術(shù)應(yīng)用領(lǐng)域工程技術(shù)人員必備的知識和技能,它能夠是我們設(shè)計的產(chǎn)品更具智能性和先進性。51系列單片機是國內(nèi)目前應(yīng)用最廣泛的一種8位單片機之一,隨著嵌入式系統(tǒng)、片上系統(tǒng)等概念的提出和普遍接受及應(yīng)用,51系列及其衍生單片機還會在繼后很長一段時間占據(jù)嵌入式系統(tǒng)產(chǎn)品的低端市場。[5]
頻率計也是一種應(yīng)用較廣泛的電子測量儀器。隨著微電子技術(shù)和計算機技術(shù)的迅速發(fā)展,特別是單片微機的出現(xiàn)和發(fā)展,使傳統(tǒng)的電子側(cè)量儀器在原理、功能、精度及自動化水平等方面都發(fā)生了巨大的變化,形成一種完全突破傳統(tǒng)概念的新一代測量儀器。頻率計廣泛采用了高速集成電路和大規(guī)模集成電路,使儀器在小型化、耗電、可靠性等方面都發(fā)生了重大的變化。
1.4  單片機頻率計設(shè)計的目的及意義
在電子技術(shù)中,頻率是一種計算單位時間內(nèi)的信號變化的數(shù)值的儀器,是最基本的參數(shù)之一,并且與許多電參量的測量方案、測量結(jié)果都有十分密切的關(guān)系,因此,頻率的測量就顯得更為重要。頻率計作為測量儀器的一種,常稱為電子計數(shù)器,它的基本功能是測量信號的頻率和周期頻率計的應(yīng)用范圍很廣,它不僅應(yīng)用于一般的簡單儀器測量,而且還廣泛應(yīng)用于教學、科研、高精度儀器測量、工業(yè)控制等其它領(lǐng)域。目前市場上的頻率計產(chǎn)品很多,但基本上都是采用專用計數(shù)芯片和數(shù)字邏輯電路組成,由于這些芯片本身的工作頻率不高,從而限制了產(chǎn)品工作頻率的提高,遠不能滿足在一些特殊的場合需要測量很高的頻率的要求,而且測量精度也受到芯片本身極大的限制。從80年代單片機引入我國至今,單片機已廣泛地應(yīng)用于電子設(shè)計中,使頻率計智能化水平在廣度和深度上產(chǎn)生了質(zhì)的飛躍,數(shù)字化也成為了電子設(shè)計的必由之路。運用51系列單片機和高速計數(shù)器的組合設(shè)計頻率計,并采用適當?shù)乃惴ㄈ〈鷤鹘y(tǒng)電路,不僅能克服傳統(tǒng)頻率計結(jié)構(gòu)復雜、穩(wěn)定性差、精度不高的弊端,而且頻率計性能也將大幅提高,可實現(xiàn)精度較高、等精度和寬范圍頻率計的要求。隨著單片機技術(shù)的不斷發(fā)展,單片機能實現(xiàn)更加靈活的邏輯控制功能,具有很強的數(shù)據(jù)處理能力,可以用單片機通過軟件設(shè)計直接用十進制數(shù)字顯示被測信號頻率。頻率計是電子測試、自動化控制等設(shè)備中不可或缺的重要模塊。在電子工程、資源勘探、儀器儀表等相關(guān)應(yīng)用中,頻率計是工程技術(shù)人員必不可少的測量工具,頻率測量也是電子測量技術(shù)中最基本最常見的測量之一。不少物理量的測量,如轉(zhuǎn)速、振動頻率等的測量都涉及到或可以轉(zhuǎn)化為頻率的測量。
目前,市場上有各種多功能、高精度、高頻率的數(shù)字頻率計,但價格不菲。為適應(yīng)實際工作的需要,本次設(shè)計給出了一種較小規(guī)模和單片機(AT89S52)相結(jié)合的頻率計的設(shè)計方案,不但切實可行,而且體積小、保密性強、設(shè)計簡單、成本低、精度高、可測頻帶寬,大大降低了設(shè)計成本和實現(xiàn)復雜度。

2   AT89S52單片機介紹及其發(fā)展概況2.1  單片機的介紹2.1.1  單片機概述
單片機(Single-Chip-Microcomputer),又稱單片微控器,是一種集成電路芯片,采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力(如算術(shù)運算、邏輯運算、數(shù)據(jù)傳送、中斷處理)的微處理器(CPU),隨機存取數(shù)據(jù)存儲器(RAM)、只讀程序存儲器(ROM)、輸入/輸出電路(I/O)、定時/計數(shù)器、中斷系統(tǒng)、串行通訊口,可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模數(shù)轉(zhuǎn)換等電路集成到一個半導體芯片上,構(gòu)成一個最小而又完善的計算機系統(tǒng)。它們之間相互連接的結(jié)構(gòu)框圖如下圖所示。這些電路能在軟件的控制下準確、迅速、高效地完成程序設(shè)計者事先規(guī)定的任務(wù)。單片機結(jié)構(gòu)上的設(shè)計,在硬件.指令系統(tǒng)及I/O能力等方面都有獨到之處,具有較強而有效的控制功能。其結(jié)構(gòu)圖為2-1所示。
圖2-1 單片機結(jié)構(gòu)圖
雖然單片機只是一個芯片,但無論從組成還是從其邏輯功能上看,都具有微機系統(tǒng)的含義。另一方面,單片機畢竟是一個芯片,只有外加所需的輸入輸出設(shè)備,才能構(gòu)成實用的單片機應(yīng)用系統(tǒng)。單片機有著微處理器所不具備的功能,它可單獨完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,這是單片機最大的特征。[8]
然而單片機又不同于單板機,芯片在沒有開發(fā)前,它只具備功能極強的超大規(guī)模集成電路,如果賦于它特定的程序,它便是一個最小的、完整的微型計算機控制系統(tǒng),它與單板機或個人電腦有著本質(zhì)的區(qū)別。單片機的應(yīng)用屬于芯片級應(yīng)用,需要用戶了解單片機芯片的結(jié)構(gòu)和指令系統(tǒng),以及其它集成電路應(yīng)用技術(shù)和系統(tǒng)設(shè)計所需要的理論與技術(shù),用這樣特定的芯片設(shè)計應(yīng)用程序,從而使該芯片具備特定的功能。
單片機的應(yīng)用極為廣泛,它涉及智能儀器儀表、工業(yè)控制、計算機網(wǎng)絡(luò)和通信以及醫(yī)用設(shè)備等領(lǐng)域。它以無與倫比的高性能、低價位贏得了廣大電子開發(fā)者的喜愛。
2.1.2  單片機的發(fā)展
1976年Intel公司推出了真正意義上的單片機MCS—48,它以體積小、功能全、價格低等自身魅力贏得了廣泛的應(yīng)用,為單片機的發(fā)展奠定了基礎(chǔ),成為單片機發(fā)展史上一個重要的里程碑。在MCS—48的帶領(lǐng)下,許多半導體芯片在生產(chǎn)廠商競相研制和發(fā)展自己的單片機系列。到80年代末,世界各地已相繼研制出大約50個系列300多個品種的單片機產(chǎn)品,其中包括Motorola公司的6801,6802,Zilog公司的Z-8系列,Rockwell公司的6501,6502等。此外,日本的NEC公司,日立公司等也不甘落后,相繼推出了各自的單片機品種如Zilog公司的Z80、Motorola公司的6801、6802系列等。[7]目前我國使用做多的是Intel公司在MCS-48的基礎(chǔ)上于20世紀80年代初發(fā)展起來的 8位的單片機MCS-51,直到現(xiàn)在仍不失為單片機的主流系列。繼8位單片機之后,又出現(xiàn)了16位單片機,1983年Intel公司推出的MCS-96系列單片機就是其中的典型代表。
51系列單片機是國內(nèi)目前應(yīng)用最廣泛的一種8位單片機之一,隨著嵌入式系統(tǒng)、片上系統(tǒng)等概念的提出和普遍接受及應(yīng)用。51系列及其衍生單片機還會在繼后很長一段時間占據(jù)嵌入式系統(tǒng)產(chǎn)品的低端市場。
縱觀單片機近30年的發(fā)展歷程,單片機今后將向多功能、高性能、高速度、低電壓、低功耗、低價格、外圍電路簡單化以及片內(nèi)存儲器容量增加的方向發(fā)展。但其位數(shù)不一定會繼續(xù)增加,盡管現(xiàn)在已經(jīng)有了32位單片機,但使用的并不多。可以預言,今后的單片機將是功能更強,集成度和可靠性更高而功耗更低,以及使用更方便等特點。此外,專用化也是單片機的一個發(fā)展方向,針對單一用途的專用單片機將會越來越多。[12]
2.1.3  單片機的特點及應(yīng)用
一塊單片機芯片就是具有一定規(guī)模的微型計算機,在加上必要的外圍器件,就可以構(gòu)成完整的計算機硬件系統(tǒng)。由于單片機的這種特殊的結(jié)構(gòu)形式,使其具有很多顯著的優(yōu)點,單片機在各個領(lǐng)域內(nèi)的應(yīng)用都得到迅猛的發(fā)展。
1) 單片機的應(yīng)用特點
① 具有較高的性價比。高性能、低價格是單片機最顯著的一個特點,其應(yīng)用系統(tǒng)具有印制板小、接插件少、安裝調(diào)試簡單方便等特點,使單片機應(yīng)用系統(tǒng)的性價比高于一般危機系統(tǒng)。
② 體積小、可靠性高。
③ 控制功能強。單片機采用面向控制的指令系統(tǒng),實時控制功能特別強。
④ 使用方便、容易產(chǎn)品化。
單片機開發(fā)開發(fā)工具具有很強的軟硬件調(diào)試功能,使研制單片機應(yīng)用系統(tǒng)極為方便,加之現(xiàn)場運行環(huán)境的可靠性,因此使單片機能滿足許多小型對象的嵌入式應(yīng)用要求,可廣泛用在儀器儀表、家用電器、智能玩具、控制系統(tǒng)等領(lǐng)域。
2) 單片機的應(yīng)用領(lǐng)域
單片機由于其體積小、功耗低、價格低廉,而且具有邏輯判斷、定時計數(shù)、程序控制等多種功能,廣泛應(yīng)用于工業(yè)控制、數(shù)據(jù)采集、智能儀器儀表、家用電器、智能玩具、通信系統(tǒng)、機械加工等領(lǐng)域。可以毫不夸張的說,凡是能想到的地方,單片機都可以用得上。
① 智能儀器
② 工業(yè)控制
③ 家用電器
④ 機電一體化
單片機除以上各方面應(yīng)用外,還廣泛應(yīng)用于辦公自動化領(lǐng)域、汽車電路、通信系統(tǒng)、計算機外圍設(shè)備等,稱為計算機發(fā)展和應(yīng)用的一個重要方向。單片機從其問世和發(fā)展以來從工業(yè)測控對象環(huán)境接口特點出發(fā),向著增強控制功能提高工業(yè)環(huán)境的可靠性靈活方便地構(gòu)成應(yīng)用計算機系統(tǒng)的界面接口的方向發(fā)展。
2.2  AT89S52系列單片機
ATMEL公司是美國20世紀80年代中期成立并發(fā)展起來的半導體公司。該公司的技術(shù)優(yōu)勢在于推出Flash存儲器技術(shù)和高質(zhì)量、高可靠性的生產(chǎn)技術(shù),它率先將獨特的Flash存儲技術(shù)注入單片機產(chǎn)品中。其推出的AT89系列單片機,在世界電子技術(shù)行業(yè)中引起了極大的反響,在國內(nèi)也受到廣大用戶歡迎。AT89S系列單片機時繼AT89C系列之后推出的功能更強的新產(chǎn)品。
2.2.1  AT89系列單片機
AT89系列單片機是以8051為內(nèi)核,結(jié)合自己的技術(shù)優(yōu)勢構(gòu)成的,所以它和8051是兼容的。因此,AT89系列對于以8051為基礎(chǔ)的應(yīng)用系統(tǒng)而言,是十分容易進行取代和構(gòu)成的。
1) AT89系列單片機具有以下優(yōu)點:
① 和AT8051接插相兼容
AT89系列單片機的引腳和8051是一樣的,其封裝是按軍工標準進行的,有很高的質(zhì)量標準和產(chǎn)品穩(wěn)定性。
② 以EEPROM電可擦除和Flash技術(shù)為主導的存儲器
ATMEL公司把EEPROM和Flash技術(shù)巧妙相結(jié)合形成特殊的集成電路,從而使應(yīng)用領(lǐng)域擴大。
③ 靜態(tài)時鐘方式
AT89系列單片機采用靜態(tài)時鐘方式,可以節(jié)省帶電能。這對于降低便攜類產(chǎn)品的功耗十分有用。
④ 可反復進行應(yīng)用系統(tǒng)試驗
采用AT89系列單片機設(shè)計的應(yīng)用系統(tǒng),可以反復進行系統(tǒng)試驗。每次試驗可以編制不同的程序,這樣可以保證用戶的系統(tǒng)設(shè)計達到最優(yōu)。
⑤ 高標準的質(zhì)量檢測
ATMEL公司能夠?qū)Ω鞣N集成電路進行嚴格且高標準的質(zhì)量檢測。其軍品集成電路工作性能是完全符合軍品標準的,在-55~125℃范圍內(nèi)其集成電路仍能實現(xiàn)正常的輸出功能。因此,產(chǎn)品在航空航天儀器、雷達系統(tǒng)、導彈、智能自適應(yīng)儀、機器人、各種武器電子系統(tǒng)、抗惡劣環(huán)境電子系統(tǒng)等領(lǐng)域都被廣泛應(yīng)用。
AT89S系列于AT89C系列相比,預算速度有了較大的提高,它的靜態(tài)工作頻率為0~33MHZ,片內(nèi)集成有雙數(shù)據(jù)指針DPTR、定時監(jiān)視器、低功耗休閑狀態(tài)及關(guān)電方式、關(guān)電方式下的中斷恢復等諸多功能,極大地滿足了各種不同的應(yīng)用要求。AT89S52單片機是AT89S系列中增強型高檔產(chǎn)品,它片內(nèi)存儲器容量是AT89S51的一倍,即片內(nèi)8K的Flash程序存儲器和256B的RAM。另外,它還增加了一個功能極強的、具有獨特應(yīng)用的16位定時/計數(shù)器2等多種功能。AT89S52系列單片機與MCS-51系列全兼容,它是在MCS-51的技術(shù)內(nèi)核為主導的基礎(chǔ)上傾注了ATMEL公司優(yōu)良技術(shù)進行新的設(shè)計與開發(fā),使之功能更強,更具特色,從而能夠較快的學習和掌握,并具備廣泛的開發(fā)環(huán)境,使開發(fā)應(yīng)用更方便。[3]
2.2.2  AT89S52系列單片機的基本結(jié)構(gòu)
AT89S52單片機是AT89S系列中增強型高檔產(chǎn)品,它片內(nèi)存儲器容量是AT89S51的一倍,即片內(nèi)8K的Flash程序存儲器和256B的RAM。另外,它還增加了一個功能極強的、具有獨特應(yīng)用的16位定時/計數(shù)器2等多種功能。AT89S52系列單片機與MCS-51系列全兼容,它是在MCS-51的技術(shù)內(nèi)核為主導的基礎(chǔ)上傾注了ATMEL公司優(yōu)良技術(shù)進行新的設(shè)計與開發(fā),使之功能更強,更具特色,從而能夠較快的學習和掌握,并具備廣泛的開發(fā)環(huán)境,使開發(fā)應(yīng)用更方便。
1) AT89S52單片機介紹及其硬件結(jié)構(gòu)
AT89S52是一個低功耗、高性能,采用CMOS工藝制造的8位單片機,是Atmel公司AT89系列中的一款性能相當優(yōu)異的高檔型產(chǎn)品,兼容標準MCS—51指令系統(tǒng)及其引腳結(jié)構(gòu),與Atmel公司其它產(chǎn)品相比AT89S52的最大特點是:能在線編程,且編程連線極簡單。AT89S52片內(nèi)含8KB  ISP(In-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器。
AT89S52具有如下特征參數(shù):40個引腳、8KB Flash片內(nèi)程序存儲器、256KB的RAM,4個可編程I/O口、5個帶2級中斷嵌套的中斷、3個16位可編程定時計數(shù)器、1個全雙工串行通訊口、看門狗(WDT)電路、片內(nèi)時鐘振蕩器。
此外,AT89S52設(shè)計和配置了振蕩頻率可為0HZ并可通過軟件設(shè)置省電模式。空閑掉電模式下,CPU暫停工作,而RAM、定時/計數(shù)器、串行口、外中斷系統(tǒng)可繼續(xù)工作;掉電模式下,“凍結(jié)”振蕩器而保存RAM的數(shù)據(jù),停止芯片其他功能直至外中斷激活或硬件復位。
AT89S52單片機的主要功能:
8位字長CPU;
振蕩器和時鐘電路,全靜態(tài)操作:0~33MHZ;
8KB系統(tǒng)內(nèi)部可編程Flash存儲器;
256KB內(nèi)部RAM;
4個I/O共32位線;
3個16位定時/計數(shù)器;
全雙工(UART)串行口通道;
ISP端口;
定時監(jiān)視器(看門狗);
雙數(shù)據(jù)指針(DPTR);
20多個特殊功能寄存器;
電源下降標志。
2) AT89S52單片機的幾種封裝形式
AT89S52其有效引腳為40條,具有PDIP、TQFP、PLCC三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。
3) AT89S52單片機的引腳功能說明
① 主電源引腳
Vss(GND)(20腳):電源地電平
Vcc(40腳):電源供電電壓4.0~5.0V
外接晶振或外部振蕩器引腳
XTAL1(19腳):當外接晶振時,接外部晶振的一個引腳。
XTAL2(18腳):接外部晶振的另一個引腳
② 多功能I/O引腳
P0口(39~32腳):8位并行I/O口
P1口(1~8腳):內(nèi)接上拉電阻的8位準雙向I/O口,能負擔4個TTL負載。它的第二功能如下:
P1.0(1腳):定時/計數(shù)器T2的外部計數(shù)輸入
P1.1(2腳):定時/計數(shù)器T2捕獲/再裝入觸發(fā)及方向控制
P1.5(6腳):MOSI(用于系統(tǒng)內(nèi)部編程)
P1.6(7腳):MOSO(用于系統(tǒng)內(nèi)部編程)
P1.7(8腳):SCK(用于系統(tǒng)內(nèi)部編程)
P2口(21~28腳):內(nèi)接上拉電阻的8位準雙向I/O口,能接4個TTL負載
P3口(10~17腳):內(nèi)接上拉電阻的8位準雙向I/O口,能接4個TTL負載,其第二功能為:
P3.0(10腳):RXD(串行接收端口)
P3.1(11腳):TXD(串行發(fā)送端口)
P3.2(12腳):INT0(外部中斷0請求端)
P3.3(13腳):INT1(外部中斷1請求端)
P3.4(14腳):T0(定時/計數(shù)器0外部計數(shù)輸入端)
P3.5(15腳):T1(定時/計數(shù)器1外部計數(shù)輸入端)
P3.6(16腳):WR(外部數(shù)據(jù)寫選通)
P3.7(17腳):RD(外部數(shù)據(jù)讀選通)
③ 控制、選通和復位引腳
RST(9腳):復位信號輸入端
ALE/PROG(30腳):ALE地址鎖存使能端,PROG為Flash編程時輸入編程脈沖
PSEN(29腳):訪問外部程序存儲器讀選通信號
EA/Vpp(31腳):EA為訪問內(nèi)部或外部程序存儲器選擇信號,Vpp為Flash編程電壓。

3   頻率計總體方案設(shè)計3.1  頻率計設(shè)計原理
頻率的測量實際上就是在1s時間內(nèi)對信號進行計數(shù),計數(shù)值就是信號頻率。用單片機設(shè)計頻率計通常采用兩種辦法,第一種方法是使用單片機自帶的計數(shù)器對輸入脈沖進行計數(shù);第二種方法是單片機外部使用計數(shù)器對脈沖信號進行計數(shù),計數(shù)值再由單片機讀取。第一種方法的好處是設(shè)計出的頻率計系統(tǒng)結(jié)構(gòu)和程序編寫簡單,成本低廉,不需要外部計數(shù)器,直接利用所給的單片機最小系統(tǒng)就可以實現(xiàn)。這種方法的缺陷是受限于單片機計數(shù)的晶振頻率,輸入的時鐘頻率通常是單片機晶振頻率的幾分之一甚至是幾十分之一,在本次設(shè)計使用的AT89S52單片機,由于檢測一個由“1”到“0”的跳變需要兩個機器周期,前一個機器周期測出“1”,后一個周期測出“0”。故輸入時鐘信號的最高頻率不得超過單片機晶振頻率的二十四分之一。第二種方法的好處是輸入的時鐘信號頻率可以不受單片機晶振頻率的限制,可以對相對較高頻率進行測量,但缺點是成本比第一種方法高,設(shè)計出來的系統(tǒng)結(jié)構(gòu)和程序也比較復雜。由于成本有限,本次設(shè)計中采用第一種方法,因此輸入的時鐘信號最高頻率不得高于12MHz/24=500KHz。對外部脈沖的占空比無特殊要求。
3.1.1  頻率檢測實現(xiàn)方法
1) 計數(shù)法測頻率
使用計數(shù)方法實現(xiàn)頻率測量時,外部的待測信號為單片機定時/計數(shù)器0的計數(shù)源,利用定時/計數(shù)器1定時實現(xiàn)計數(shù)閘門。頻率計的工作過程為:定時/計數(shù)器0的計數(shù)寄存器清0,運行控制位TR置1,啟動定時/計數(shù)器工作;同時運行定時/計數(shù)器1定時1s,定時/計數(shù)器0對外部的待測信號進行計數(shù),定時/計數(shù)器1定時1s時間到TR清0,停止計數(shù)。從計數(shù)寄存器0讀出測量數(shù)據(jù),測量數(shù)據(jù)在完成數(shù)據(jù)處理后,由顯示電路顯示量結(jié)果。單片機外接晶振為12MHz,單片機指令周期為1μs,當被測頻率信號過高時單片機不能測量。
2) 定時法測頻率
使用定時方法實現(xiàn)頻率測量時,外部的待測信號通過頻率計的分頻器二分頻變成寬度等于待測信號周期的方波,該方波加至定時/計數(shù)器1的輸入腳,及外部中斷INT1口,由INT1口高電平和軟件置位TR1,同時控制啟動定時/計數(shù)器1對單片機的機器周期的計數(shù),并檢測方波高電平是否結(jié)束;當判定高電平結(jié)束時TR1清0,停止計數(shù),然后從計數(shù)寄存器讀出測量數(shù)據(jù)。這時讀出的數(shù)據(jù)反映的是待測信號的周期,通過數(shù)據(jù)處理把周期值變換成頻率值,由顯示電路顯示測量結(jié)果。
3.1.2  頻率計測頻原理
頻率計開始工作或者完成一次頻率測量,系統(tǒng)軟件都進行測量初始化。首先定時/計數(shù)器的計數(shù)寄存器清0,運行控制位TR置1,啟動對待測信號的計數(shù)。計數(shù)閘門由軟件延時程序?qū)崿F(xiàn),從計數(shù)閘門的最小值(即測量頻率的高量程)開始測量,計數(shù)閘門結(jié)束時TR清0,停止計數(shù)。計數(shù)寄存器中的數(shù)值經(jīng)過數(shù)制轉(zhuǎn)換程序從十六進制數(shù)轉(zhuǎn)換為十進制數(shù)。判斷該數(shù)的最高位,若該位不為0,滿足測量數(shù)據(jù)有效位數(shù)的要求,測量值和量程信息一起送到顯示模塊;若該位為0,將計數(shù)閘門的寬度擴大10倍,重新對待測信號的計數(shù),直到滿足測量數(shù)據(jù)有效位數(shù)的要求。
當上述測量判斷過程直到計數(shù)閘門寬度達到1s(對應(yīng)的頻率測量范圍為100~999Hz)時測量結(jié)果仍不具有3位有效數(shù)字,頻率計則使用定時方法測量待測信號的周期。定時/計數(shù)器的工作被設(shè)置為定時器方式,定時/計數(shù)器的計數(shù)寄存器清0,在判斷待測信號的上跳沿到來后,運行控制位TR置為1,以單片機工作周期為單位進行計數(shù),直至信號的下跳沿到來,運行控制位TR清0,停止計數(shù)。16位定時/計數(shù)器的最高計數(shù)值為65 535,當待測信號的頻率較低時,定時/計數(shù)器將發(fā)生溢出。產(chǎn)生溢出時,程序進入定時器中斷服務(wù)程序,對溢出次數(shù)進行計數(shù)。待測信號的周期由3個字節(jié)組成:定時/計數(shù)器溢出次數(shù)、定時/計數(shù)器的高8位和低8位。信號的頻率f與信號的周期T之間的關(guān)系為:f=1/T。
完成信號的周期測量后,需要做一次倒數(shù)運算才能獲得信號的頻率。為提高運算精度,采用浮點數(shù)算術(shù)運算。浮點數(shù)由3個字節(jié)組成:第1字節(jié)最高位為數(shù)符,其余7位為階碼;第2字節(jié)為尾數(shù)的高字節(jié);第3字節(jié)為尾數(shù)的低字節(jié)。待測信號周期的3個字節(jié)定點數(shù)通過截取高16位、設(shè)置數(shù)符和計算階碼轉(zhuǎn)換為上述格式的浮點數(shù)。然后浮點數(shù)算術(shù)運算對其進行處理,獲得用浮點數(shù)格式表達的信號頻率值。再通過浮點數(shù)到ASCII碼轉(zhuǎn)換模塊把用浮點數(shù)格式表達的信號頻率值變換成本頻率計的顯示格式,送到顯示模塊顯示待測信號的頻率值。完成顯示后,頻率計都開始下一次信號的頻率測量。
3.2  設(shè)計思路及方法
本頻率計的結(jié)構(gòu)主要包括時鐘信號發(fā)生電路、分頻電路、單片機控制電路和LCD顯示電路組成。頻率計的主要核心部件是采用AT89S52來產(chǎn)生定時和記錄脈沖變化次數(shù),運用AT89S52來構(gòu)成計數(shù)器,突破了大部分運用數(shù)字電路模板來構(gòu)成計數(shù)器。本設(shè)計主要采用AT89S52芯片和LCD數(shù)碼管來實現(xiàn),軟件編程主要是采用C51語言來編程。其系統(tǒng)結(jié)構(gòu)如下圖所示:

圖3-1 頻率計系統(tǒng)結(jié)構(gòu)圖
3.2.1  頻率計方案概述
本頻率計的設(shè)計以AT89S52單片機為核心,利用他內(nèi)部的定時/計數(shù)器完成待測信號周期/頻率的測量。單片機AT89S52內(nèi)部具有3個16位定時/計數(shù)器,定時/計數(shù)器的工作可以由編程來實現(xiàn)定時、計數(shù)和產(chǎn)生計數(shù)溢出時中斷要求的功能。在定時器工作方式下,在被測時間間隔內(nèi),每來一個機器周期,計數(shù)器自動加1(使用12 MHz時鐘時,每1μs加1),這樣以機器周期為基準可以用來測量時間間隔。在計數(shù)器工作方式下,加至外部引腳的待測信號發(fā)生從1到0的跳變時計數(shù)器加1,這樣在計數(shù)閘門的控制下可以用來測量待測信號的頻率。外部輸入在每個機器周期被采樣一次,這樣檢測一次從1到0的跳變至少需要2個機器周期(24個振蕩周期),所以最大計數(shù)速率為時鐘頻率的1/24(使用12MHz時鐘時,最大計數(shù)速率為500 kHz)。定時/計數(shù)器的工作由運行控制位TR控制,當TR置1,定時/計數(shù)器開始計數(shù);當TR清0,停止計數(shù)。
本設(shè)計綜合考慮了頻率測量精度和測量反應(yīng)時間的要求。例如當要求頻率測量結(jié)果為3位有效數(shù)字,這時如果待測信號的頻率為1 Hz,則計數(shù)閘門寬度必須大于1000 s。為了兼顧頻率測量精度和測量反應(yīng)時間的要求,把測量工作分為兩種方法:
① 當待測信號的頻率>100Hz時,定時/計數(shù)器構(gòu)成為計數(shù)器,以機器周期為基準,由軟件產(chǎn)生計數(shù)閘門,計數(shù)閘門寬度>1s時,即可滿足頻率測量結(jié)果為3位有效數(shù)字;
② 當待測信號的頻率<100Hz時,定時/計數(shù)器構(gòu)成為定時器,由頻率計的予處理電路把待測信號變成方波,方波寬度等于待測信號的周期。這時用方波作計數(shù)閘門,當待測信號的頻率=100Hz,周期為10ms,使用12MHz時鐘時的最小計數(shù)值為10000,完全滿足測量精度的要求。
3.2.2  頻率計的量程自動切換
使用計數(shù)方法實現(xiàn)頻率測量時,外部的待測信號為單片機定時/計數(shù)器的計數(shù)源,利用軟件延時程序?qū)崿F(xiàn)計數(shù)閘門。頻率計的工作過程為:定時/計數(shù)器的計數(shù)寄存器清0,運行控制位TR置1,啟動定時/計數(shù)器工作;運行軟件延時程序,同時定時/計數(shù)器對外部的待測信號進行計數(shù),延時結(jié)束時TR清0,停止計數(shù)。從計數(shù)寄存器讀出測量數(shù)據(jù),測量數(shù)據(jù)在完成數(shù)據(jù)處理后,由顯示電路顯示測量結(jié)果。
使用定時方法實現(xiàn)頻率測量時,外部的待測信號通過頻率計的預處理電路變成寬度等于待測信號周期的方波,該方波同樣加至定時/計數(shù)器的輸入腳。工作高電平是否加至定時/計數(shù)器的輸入腳;當判定高電平加至定時/計數(shù)器的輸入腳,運行控制位TR置1,啟動定時/計數(shù)器對單片機的機器周期的計數(shù),同時檢測方波高電平是否結(jié)束;當判定高電平結(jié)束時TR清0,停止計數(shù),然后從計數(shù)寄存器讀出測量數(shù)據(jù)。這時讀出的數(shù)據(jù)反映的是待測信號的周期,通過數(shù)據(jù)處理把周期值變換成頻率值,由顯示電路顯示測量結(jié)果。
測量結(jié)果的顯示格式采用科學計數(shù)法,即有效數(shù)字乘以10為底的冪。這里設(shè)計的頻率計用5位數(shù)碼管顯示測量結(jié)果:前3位為測量結(jié)果的有效數(shù)字;第4位為指數(shù)的符號;第5位為指數(shù)的值。采用這種顯示格式既保證了測量結(jié)果的顯示精度,又保證了測量結(jié)果的顯示范圍(0.100Hz~9.99MHz)。
頻率計測量量程自動轉(zhuǎn)換的過程由頻率計測量量程的高端開始。由于只顯示3位有效數(shù)字,測量量程的高端計數(shù)閘門不需要太寬,例如在進入計數(shù)器的信號頻率范圍在10.0~99.9kHz,計數(shù)閘門寬度為10ms即可。頻率計開始工作時使用計數(shù)方法實現(xiàn)頻率測量,并使計數(shù)閘門寬度為最窄,完成測量后判斷測量結(jié)果是否具有3位有效數(shù)字,如果成立,將結(jié)果送去顯示,完成測量工作;否則將計數(shù)閘門寬度擴大10倍,繼續(xù)進行測量判斷,直到計數(shù)閘門寬度達到1s,這時對應(yīng)的進入單片機的待測信號頻率范圍為100~999Hz。如果測量結(jié)果仍不具有3位有效數(shù)字,頻率計則使用定時方法實現(xiàn)頻率測量。
定時方法測量的是待測信號的周期,這種方法只設(shè)一種量程,測量結(jié)果通過浮點數(shù)運算模塊將信號周期轉(zhuǎn)換成對應(yīng)的頻率值,再將結(jié)果送去顯示。無論采用何種方式,只要完成一次測量,頻率計自動開始下一個測量循環(huán),因此該頻率計具有連續(xù)測量的功能,同時實現(xiàn)量程的自動轉(zhuǎn)換。

4   系統(tǒng)的硬件設(shè)計
本頻率計的硬件電路主要由時鐘信號發(fā)生器、頻率計控制電路和LCD顯示電路組成。頻率計的主要核心部件是采用AT89S52的內(nèi)部定時/計數(shù)器來產(chǎn)生定時和記錄脈沖變化次數(shù)。主要用到的元器件有晶振器件、電阻、74LS04、74LS74、74LS00、AT89S52單片機、LCD1602等。其硬件系統(tǒng)框圖如3-2所示:
圖3-2 硬件系統(tǒng)框圖
4.1  時鐘信號發(fā)生器
時鐘信號發(fā)生器是頻率計的頻率信號產(chǎn)生電路,它是由一個晶振、兩個電阻、一個電容及兩個非門74LS04構(gòu)成的工作于串聯(lián)諧振狀態(tài)的TTL門電路振蕩器。當電路頻率為串聯(lián)諧振頻率時,晶體的等效電抗接近零(發(fā)生串聯(lián)諧振),串聯(lián)諧振頻率信號最容易通過閉環(huán)回路,這個頻率信號通過兩級反相后形成反饋振蕩,晶體同時也擔任著選頻作用,在工作于串聯(lián)諧振狀態(tài)的振蕩電路,它的頻率取決于晶體本身具有的頻率參數(shù)。也就是說,石英晶體多諧多諧振蕩器的振蕩頻率取決于石英晶體的固有諧振頻率,與外接電阻、電容無關(guān)。圖4-1為頻率計的時鐘信號發(fā)生電路的原理圖:
圖4-1 時鐘信號發(fā)生原理圖
4.2  AT89S52 控制寄存器4.2.1  AT89S52中斷控制系統(tǒng)
AT89S52的中斷系統(tǒng)共有8個中斷源,6個中斷矢量,兩級中斷優(yōu)先級,可有軟件設(shè)定實現(xiàn)兩級嵌套,可通過軟件來屏蔽或響應(yīng)個對應(yīng)的中斷請求。
1) AT89S52中斷源
AT89S52的中斷系統(tǒng)有8個中斷源,對應(yīng)有6個中斷矢量。其外部中斷有兩種觸發(fā)中斷的方式,即低電平觸發(fā)和跳轉(zhuǎn)觸發(fā)。各種中斷請求信號分別由定時/計數(shù)器控制寄存器TCON和串行通信控制寄存器SCON的相應(yīng)位鎖存,提供給主機查詢和采樣。
TCON控制寄存器是由定時計數(shù)器和中斷請求兩者合用,其格式如表4-1:
表4-1 TCON控制寄存器
TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
位地址
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H

各位含義如下:
TF1:定時/計數(shù)器1回0溢出中斷請求標志位
TR1:定時/計數(shù)器1啟/停控制位
TF0:定時/計數(shù)器0回0溢出中斷請求標志位
TR0:定時/計數(shù)器0啟/停控制位
IE1:外部中斷(INT1)請求標志位
IE0:外部中斷(INT0)請求標志位
IT1:用軟件置位/復位IT1來選擇外部中斷INT1是跳變還是電平觸發(fā)中斷請求
IT0:用軟件置位/復位IT1來選擇外部中斷INT1是跳變還是電平觸發(fā)中斷請求
2) 中斷控制
AT89S52的中斷是可編程的,即可通過軟件來實現(xiàn)對中斷系統(tǒng)功能進行設(shè)置和控制。
AT89S52的中斷均屬可屏蔽中斷,即通過軟件對特殊功能寄存器IE的設(shè)置,實現(xiàn)對各中斷源的中斷請求開放或屏蔽的控制。中斷控制寄存器IE的格式及各位含義如表4-2所示:
表4-2 中斷控制寄存器IE的格式
IE
EA
X
ET2
ES
ET1
EX1
ET0
EX0
位地址
AFH

ADH
ACH
ABH
AAH
A9H
A8H

EA(IE.7):全部中斷允許/禁止位。
X(IE.6):保留位,無意義。
ET2(IE.5):定時/計數(shù)器2回0溢出或捕獲中斷響應(yīng)控制。
ES(IE.4):串行通信接收/發(fā)送中斷響應(yīng)控制位。
ET1(IE.3):定時/計數(shù)器1回0溢出或捕獲中斷響應(yīng)控制。
EX1(IE.2):外部中斷INT1中斷響應(yīng)控制位。
ET0(IE.1):定時/計數(shù)器0回0溢出或捕獲中斷響應(yīng)控制。
EX0(IE.0):外部中斷INT0中斷響應(yīng)控制位。
從上可見AT89S52的中斷響應(yīng)為兩級控制,EA為總的中斷響應(yīng)控制位,各對應(yīng)的中斷源還有中斷響應(yīng)控制位。
3) 中斷優(yōu)先級
AT89S52的中斷設(shè)有兩級優(yōu)先級,每個中斷源均可通過軟件對中斷優(yōu)先級寄存器IP的對應(yīng)位進行設(shè)置,變成為高優(yōu)先級或低優(yōu)先級,置1為高優(yōu)先級,清0為低優(yōu)先級。正在執(zhí)行的低優(yōu)先級中斷服務(wù)程序可以被高優(yōu)先級的中斷請求所中斷,但不能被同級或低優(yōu)先級中斷源中斷請求所中斷;正在執(zhí)行的高優(yōu)先級的中斷服務(wù)程序不能被任何中斷源中斷請求所中斷。兩個或兩個以上的中斷源同時請求中斷時,主機只響應(yīng)優(yōu)先級高的中斷請求。為了實現(xiàn)上訴述規(guī)則,中斷系統(tǒng)內(nèi)部設(shè)有兩個不可尋址的中斷優(yōu)先級狀態(tài)觸發(fā)器,其中一個用于指示正在服務(wù)于高優(yōu)先級的中斷,并阻止所有其他一切中斷請求的響應(yīng),另外一個則用于指示正在服務(wù)于低高優(yōu)先級的中斷,除能被高優(yōu)先級中斷請求所終端外,阻止其他同級或低于它的中斷請求所中斷。
中斷優(yōu)先級控制器IP,其地址字節(jié)為B8H,具有位尋址功能,可通過軟件設(shè)定各個中斷源的中斷優(yōu)先級。IP控制寄存器的格式如表4-3所示:
表4-3 IP控制寄存器格式
IP
X
X
PT2
PS
PT1
PX1
PT0
PX0
位地址


BDH
BCH
BBH
BAH
B9H
B8H

各位含義如下:
X、X (IP.6、IP.7):保留位,無定意義。
PT2(IP.5):定時/計數(shù)器2的中斷優(yōu)先級設(shè)置位。
PS(IP.4):串行通信中斷優(yōu)先級設(shè)置位。
PT1(IP.3):定時/計數(shù)器1的中斷優(yōu)先級設(shè)置位。
PX1(IP.2):外部中斷INT1中斷優(yōu)先級設(shè)置位
PT0(IP.1):定時/計數(shù)器0的中斷優(yōu)先級設(shè)置位。
PX0(IP.0)::外部中斷INT0中斷優(yōu)先級設(shè)置位
復位后IP的內(nèi)容為00H。
4.2.2  AT89S52定時/計數(shù)器的控制
AT89S52片內(nèi)集成了3個16位定時/計數(shù)器,定時/計數(shù)器0和1是通用的定時計數(shù)器,定時計數(shù)器2集定時、計數(shù)和捕獲三種功能于一體,功能更強。
組成定時/計數(shù)器的核心是一個16位的加1計數(shù)器。這個16位的計數(shù)器是兩個8位的計數(shù)器(THx、TLx)組成。提供給計數(shù)器實現(xiàn)加1計數(shù)的信號有兩個來源:一個是由外部提供的計數(shù)脈沖通過引腳Tx端口送加1計數(shù)器;另一個則由單片機內(nèi)部的時鐘脈沖經(jīng)12分頻后送加1計數(shù)器。因此,既可用于定時方式,又可用于對外部事件的計數(shù)方式,對于定時/計數(shù)器2還有“捕獲”方式。工作方式是通過軟件對特殊功能寄存器TMOD和T2CON的設(shè)置來進行選擇。本次頻率計的設(shè)計中只用到定時/計數(shù)器的定時和計數(shù)功能,應(yīng)此只需用到定時計數(shù)器0、1。
AT89S52單片機為定時計數(shù)器設(shè)有特殊功能寄存器TMOD、TCON和T2CON,用于定義他們的工作方式及其控制功能的實現(xiàn)。當每執(zhí)行一條改變上述特殊功能寄存器內(nèi)容的指令時,其改變內(nèi)容將鎖存于寄存器中,并在該指令的下一條指令的第一個機器的S1P1開始生效。
定時/計數(shù)器0和1的的操作模式和工作方式由控制寄存器來定義的,其格式如下:
表4-4 定時/計數(shù)器工作方式寄存器
GATE
C/T
M1
M0
GATE
C/T
M1
M0

TMOD寄存器內(nèi)容分為兩部分,低4位用于定時/計時器0,高4位用于定時/計數(shù)器1。兩部分的操作功能完全相同。各位具體功能如下:
M1、M2為工作方式選擇位,其定義為:
表4-5 M1、M2工作方式選擇位
M1  M0
工作方式
功能說明
0   0
方式0
13位定時計數(shù)器
0   1
方式1
16位定時計數(shù)器
1   0
方式2
自動再裝入8位定時計數(shù)器
1   1
方式3
將定時/計數(shù)器0分為兩個8位計數(shù)器

C/T:選擇定時計數(shù)其操作模式。1為計數(shù)模式,0位定時模式。
GATE:選通控制位。
TMOD的字節(jié)地址為89H,不能位尋址,復位后TMOD所有位均為0.因此,復位后定時/計數(shù)器0和1自動置為定時模式和工作方式0。
4.3  LCD1602顯示電路
在頻率計設(shè)計中,顯示部分對整個系統(tǒng)來說是非常重要的。整個系統(tǒng)的設(shè)計最終結(jié)果都要通過顯示器來反應(yīng)出來。本次頻率計系統(tǒng)的設(shè)計采用的顯示器為LCD1602。圖4-2為LCD1602的顯示電路:
圖4-2 LCD顯示電路
其各引腳定義如下:
第1腳:VSS為地電源。
第2腳:VDD接5V正電源。
第3腳:V0為液晶顯示器對比度調(diào)整端。
第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。
第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據(jù)。
第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
4.3.1  LCD1602的主要技術(shù)參數(shù)及接口說明
1) LCD的主要技術(shù)參數(shù):
表4-6 LCD主要技術(shù)參數(shù)
顯示容量:
16*2個字符
芯片工作電壓:
4.5~5.5V
工作電流:
2.0mA(5.0V)
模塊最佳工作電壓:
5.0V
字符尺寸:
2.95*4.35(WXH)mm

2) 接口信號說明:
表4-7 LCD接口信號說明
編號
符號
引腳說明
編號
符號
引腳說明
1
VSS
電源地
9
D2
Data I/O
2
VDD
電源正極
10
D3
Data I/O
3
VL
液晶顯示偏壓信號
11
D4
Data I/O
4
RS
數(shù)據(jù)/命令選擇端
12
D5
Data I/O
5
R/W
讀/寫選擇端
13
D6
Data I/O
6
E
使能信號
14
D7
Data I/O
7
D0
Data I/O
15
BLA
背光源正極
8
D1
Data I/O
16
BLK
背光源負極

4.3.2  控制器接口及時序
1) 基本操作時序:
讀狀態(tài):輸入 RS=L,RW=H,E=H            輸出  D0~D7=狀態(tài)字
寫指令:輸入 RS=L,RW=L,D0~D7=指令碼,E=高脈沖   輸出  無
讀數(shù)據(jù):輸入 RS=H,RW=H,E=H            輸出  D0~D7=數(shù)據(jù)
寫數(shù)據(jù):輸入 RS=H,RW=L, D0~D7=數(shù)據(jù),E=高脈沖    輸出  無
2) 狀態(tài)字說明
表4-8 LCD狀態(tài)字說明(1)
STA7
D7
STA6
D6
STA5
D5
STA4
D4
STA3
D3
STA2
D2
STA1
D1
ST0
D0
表4-8 LCD狀態(tài)字說明(2)
STA0-6
當前數(shù)據(jù)地址指針的值

STA7
讀寫操作使能
1:禁止      0:允許

3) 指令說明:
顯示模式設(shè)置:
表4-9 LCD顯示模式設(shè)置
指令碼
功能
0
0
1
1
1
0
0
0
設(shè)置16*2顯示,5*7點陣,8位數(shù)據(jù)接口

顯示開關(guān)及光標設(shè)置:
表4-10 LCD顯示開關(guān)及光標設(shè)置
指令碼
功能
0
0
0
0
1
D
C
B
D=1 開顯示;   D=0 關(guān)顯示
C=1 顯示光標   C=0 不顯示光標
B=1 光標閃爍   B=0光標不顯示
0
0
0
0
0
1
N
S
N=1,當讀寫一個字符后地址指針加1,光標加1
N=0,當讀寫一個字符后地址指針減1,光標減1
S=1,當寫一個字符,整屏顯示左移或右移
S=0, 當寫一個字符,整屏顯示不移動

4.3.3  頻率計硬件電路整體設(shè)計
整個頻率計的硬件電路設(shè)計主要由包括時鐘信號發(fā)產(chǎn)生器、LCD1602顯示電路、頻率計的控制電路這三大部分電路組成。圖4-3為頻率計的電路原理圖:
圖4-3 頻率計電路原理圖
在頻率計的硬件設(shè)計當中主要用到了單片機的P0口、外部震蕩器引腳XATL1和XTAL2以及P3.2和P3.5,其各引腳定義如下:
P0口(39~32腳):8位并行I/O口,作為輸出口時,每個管腳可帶8個TTL負載。在外擴存儲器時,它定義為低8位地址/數(shù)據(jù)總線。當定義為I/O口時,為準雙向I/O口,需外接上拉電阻,在寫入“1”后就成為高阻抗輸入口。在對片內(nèi)Flash編程時P0口接收字節(jié)碼,在程序校驗時輸出字節(jié)代碼。程序校驗期間應(yīng)接上拉電阻。
XTAL1(19腳):外接晶振時,接外部晶振的一個引腳。片內(nèi)振蕩器由一個單級反相器組成,XTAL1為反相器的輸入。當外部振蕩器提供時鐘信號時,則由XTAL1端輸入。
XTAL2(18腳):接外部晶振的另一個引腳,片內(nèi)為單級反向反相器的輸出。當由外部時鐘源提供時鐘信號時,則本引腳浮空。
P3.4(14腳):T0(定時計數(shù)器0外部計數(shù)輸入端)。
P3.5(15腳):T1(定時計數(shù)器1外部計數(shù)輸入端)。
整個電路原理圖的元件清單圖4-4所示:
圖4-4 頻率計電路元件清單

5   系統(tǒng)的軟件設(shè)計
在軟件開發(fā)上我們采用KeilC做為開發(fā)工具,KeilC是WINDOWS平臺下的單片機開發(fā)工具,同時支持C語言和匯編語言編程,考慮到在頻率測量過程中有比較多的數(shù)學運算,所以在編程工具上我們采用了C語言,這樣開發(fā)過程就變的更加輕松了。其整個程序流程如下圖5-1所示:
圖5-1 程序流程圖
5.1  Keil C簡介
51的編程語言常用的有二種,一種是匯編語言,一種是C語言。匯編語言的機器代碼生成效率很高但可讀性卻并不強,復雜一點的程序就更是難讀懂,而C 語言在大多數(shù)情況下其機器代碼生成效率和匯編語言相當,但可讀性和可移植性卻遠遠超過匯編語言,而且C 語言還可以嵌入?yún)R編來解決高時效性的代碼編寫問題。因此在頻率計的程序設(shè)計過程中使用的C語言,使用C 語言肯定要使用到C 編譯器,以便把寫好的C 程序編譯為機器碼,這樣單片機才能執(zhí)行編寫好的程序。KEIL uVISION2 是眾多單片機應(yīng)用開發(fā)軟件中優(yōu)秀的軟件之一,它支持眾多不同公司的MCS51 架構(gòu)的芯片,它集編輯,編譯,仿真等于一體,同時還支持,PLM,匯編和C 語言的程序設(shè)計,它的界面和常用的微軟VC++的界面相似,界面友好,易學易用,在調(diào)試程序,軟件仿真方面也有很強大的功能。
在使用Keil C軟件之前當然要先進行安裝,之后就可以在其環(huán)境下建立自己的C語言項目,并且我們還可以通過Keil軟件仿真看到程序運行的結(jié)果。
5.2  頻率計程序的建立過程
首先運行Keil C軟件,打開之后首先出現(xiàn)如圖5-2所示畫面:
圖5-2 Keil C運行界面
接著按下面的步驟建立項目:
⑴ 點擊Project 菜單,選擇下拉式菜單中的New Project,接著彈出一個標準Windows 文件對話窗口,在“文件名”中輸入一個C 程序項目名稱,這里我們用“plj”,“保存”后的文件擴展名為uv2,這是KEILuVision2 項目文件擴展名,以后我們可以直接點擊此文件以打開先前做的項目。圖5-3為建立程序項目界面:
圖5-2  建立程序項目界面
⑵ 如圖5-5所示,選擇所要的單片機,這里我們選擇所需要用的Ateml 公司的AT89S52,其功能、特點在右邊有簡單的介紹。完成上面步驟后,就可以進行程序的編寫了。
圖5-5 選擇所需要的單片機類型
⑶ 首先我們要在項目中創(chuàng)建新的程序文件。如圖5-6,通過菜單File-New 或快捷鍵Ctrl+N就會出現(xiàn)一個新的文字編輯窗口。然后在這個窗口中進行代碼的編寫。
圖5-6 建立一個代碼編輯窗口
⑷ 創(chuàng)建兩個文字編輯窗口,并在其中編寫如下兩段代碼,并分別將他們命名位LCD1602.h和main.c,保存在項目所在的目錄中。這是Keil的C語法檢查生效,單詞呈現(xiàn)不同顏色。然后如圖5-6,在屏幕左邊的Source Group1 文件夾圖標上右擊彈出菜單,選則“ Add File to Group ‘SourceGroup 1’”彈出文件窗口,選擇剛剛保存的文件,點擊ADD 按鈕,關(guān)閉文件窗,將編寫好的兩段程序添加到項目中去。
圖5-6 將建立好的程序文件添加到項目中
⑸ 如圖5-7和圖5-8所示,在屏幕左邊Target圖標上右擊彈出菜單中單擊”O(jiān)ptions for Target ‘Target 1’”,在彈出界面中選擇“Output”選項卡將其中的”Creat HEX Fi”,確定之后選擇Project-Build Target或快捷鍵進行編譯并生成二進制的字節(jié)碼文件。
圖5-7 在輸出選項中選擇創(chuàng)建二進制代碼文件
圖5-8 將編寫的程序文件進行編譯鏈接
⑹ 編譯成功后生成的所有文件如圖5-9所示,其中以.hex結(jié)尾就是在后面進行軟件仿真是所需要的二進制代碼文件。
圖5-9 運行Keil C編譯成功后生成的所有文件
5.3  軟件功能模塊設(shè)計
系統(tǒng)軟件設(shè)計主要包括9大模塊,分別為測量初始化模塊、顯示模塊、信號頻率測量模塊、量程自動轉(zhuǎn)換模塊、信號周期測量模塊、定時器中斷服務(wù)模塊、浮點數(shù)格式化模塊、浮點數(shù)算術(shù)運算模塊、浮點數(shù)到BCD碼轉(zhuǎn)換模塊。其系統(tǒng)軟件框圖如圖5-10。









圖5-10 頻率計系統(tǒng)軟件框圖
5.3.1  LCD初始化設(shè)置模塊
LCD初始化主要進行顯示器顯示模式設(shè)置和顯示開關(guān)及光標設(shè)置,在本次設(shè)計中定義其顯示模式為:8位數(shù)據(jù)端口,5*7矩陣,16*2顯示,并且開啟顯示無光標。具體實現(xiàn)代碼為:
void LCD_Initial()
{
LcdEn=0;
LCD_Write(LCD_COMMAND,0x38);          //8位數(shù)據(jù)端口,2行顯示,5*7點陣
LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);    //開啟顯示, 無光標
LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);   //清屏
LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);       //AC遞增, 畫面不動
}
5.3.2  浮點數(shù)到ASCII碼轉(zhuǎn)換模塊
在LCD1602的顯示中,數(shù)據(jù)是以ASCII碼的形式在屏幕上顯示出來的,而通過系統(tǒng)測量出的頻率值為浮點數(shù)形式,因此必須將浮點數(shù)形式的數(shù)據(jù)轉(zhuǎn)化為ASCII碼的形式才能顯示出來。將浮點數(shù)轉(zhuǎn)換為ASCII碼的代碼為:
void IntToStr(unsigned int t, unsigned char *str, unsigned char n)
{
unsigned char a[5]; char i, j;                                             
a[0]=(t/10000)%10;              //取得整數(shù)值到數(shù)組                     
a[1]=(t/1000)%10;                                                  
a[2]=(t/100)%10;                                                   
a[3]=(t/10)%10;                                                   
a[4]=(t/1)%10;                                                     
for(i=0; i<5; i++)               //轉(zhuǎn)成ASCII碼                           
a=a+'0';                                                
for(i=0; a=='0' && i<=3; i++);                                 
for(j=5-n; j<i; j++)            //填充空格                              
{ *str=' ';  str++; }                                          
for(; i<5; i++)                                                   
{ *str=a; str++; }              //加入有效的數(shù)字                        
*str='\0';
}
5.3.3  定時/計數(shù)器初始化模塊
在系統(tǒng)測頻之前,首先要進行定時/計數(shù)器0和1的初始化,這一部分主要是進行定時/計數(shù)器0和1的工作方式和中斷優(yōu)先級的設(shè)置,在實驗中通過設(shè)置定時/計數(shù)器 0和1的工作方式控制寄存器TMOD的操作模式和工作方式,我們設(shè)置定時器1為16位定時器方式,定時器0為16位計數(shù)器方式,并通過中斷優(yōu)先級控制寄存器IP設(shè)定定時器1為高優(yōu)先級中斷。其具體代碼為:
void Time01_Init(void)
{
EA=0;                                            //關(guān)總中斷
TR0=0;                                            //關(guān)定時器0
TR1=0;                                            //關(guān)定時器1
IE=0x0A;                              //允許TF1/TF0標志位(TCON7/TCON5)的中斷請求                                          TMOD=0x15;    //定時器1是16位定時器方式,定時器0是16為計數(shù)器方式
IP=0x08;                            //定時器1是高優(yōu)先級中斷
TH1=0x3C;            
TL1=0xB0;
}
5.3.4  定時器中斷服務(wù)模塊子程序
在頻率測量過程中,我們使用單片機的定式計數(shù)器來實現(xiàn)頻率的測量。當計數(shù)器0工作一段時間后,我們要讀取計數(shù)值進行頻率計算時,首先要關(guān)閉定時器1來切斷外部信號,然后讀取計數(shù)器中的數(shù)值來進行計算。其相應(yīng)功能代碼即定時器T1中斷服務(wù)子程序為:
void TIMER1_ISR (void) interrupt 3 using 1
{   
EA=0;                                                 //關(guān)總中斷
TR0=0;                                                 //關(guān)定時器0
TR1=0;                                                 //關(guān)定時器1
flag=!flag;
TH1=0x3c;            
TL1=0xB0;
frequence=(TH0*0x100+TL0)/200;
if(flag)
P3=P3|1<<5;
else
P3=P3&(~(1<<5));
TH0=0x00;            
TL0=0x00;
TR1=1;                                                                      // 開定時器1
TR0=1;                                                                      // 開定時器0
EA=1;                                                                      // 開總中斷
}

6   系統(tǒng)的模擬及仿真
本次基于單片機的頻率計設(shè)計是通過Proteus ISIS軟件來進行模擬和仿真的。Proteus是目前最好的模擬單片機外圍器件的工具,可以仿真51系列、AVR、PIC等常用的MCU及其外圍電路(如LCD、RAM、鍵盤、馬達、LED、AD/DA等)。
6.1  Proteus ISIS簡介6.1.1  Proteus ISIS的概況簡介及特點
Proteus ISIS 是英國Labcenter 公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows 操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路。Proteus 與其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU 的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調(diào)試時,關(guān)心的不再是某些語句執(zhí)行時單片機寄存器和存儲器內(nèi)容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結(jié)果。
該軟件的特點是:
① 實現(xiàn)了單片機仿真和SPICE 電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、RS232 動態(tài)仿真、I2C 調(diào)試器、SPI 調(diào)試器、鍵盤和LCD 系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。
② 支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000 系列、8051 系列、AVR 系列、PIC12 系列、PIC16 系列、PIC18 系列、Z80 系列、HC11系列以及各種外圍芯片。
③ 提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2 等軟件。
④ 具有強大的原理圖繪制功能。總之,該軟件是一款集單片機和SPICE 分析于一身的仿真軟件,功能極其強大。
6.1.2  Proteus ISIS的運行概況
1) proteus的工作過程
運行proteus 的ISIS 程序后,進入該仿真軟件的主界面。在工作前,要設(shè)置view 菜單下的捕捉對齊和system下的顏色、圖形界面大小等項目。通過工具欄中的p(從庫中選擇元件命令)命令,在pick devices 窗口中選擇電路所需的元件,放置元件并調(diào)整其相對位置,元件參數(shù)設(shè)置,元器件間連線,編寫程序;在source 菜單的Definecode generation tools 菜單命令下,選擇程序編譯的工具、路徑、擴展名等項目;在source 菜單的Add/removesource files 命令下,加入單片機硬件電路的對應(yīng)程序;通過debug 菜單的相應(yīng)命令仿真程序和電路的運行情況。
2) Proteus軟件所提供的各種資源
Proteus 軟件所提供了30 多個元件庫,數(shù)千種元件。元件涉及到數(shù)字和模擬、交流和直流等。
對于一個仿真軟件或?qū)嶒炇遥瑴y試的儀器儀表的數(shù)量、類型和質(zhì)量,是衡量實驗室是否合格的一個關(guān)鍵因素。在Proteus 軟件包中,不存在同類儀表使用數(shù)量的問題。
Proteus 還提供了一個圖形顯示功能,可以將線路上變化的信號,以圖形的方式實時地顯示出來,其作用與示波器相似但功能更多。
Proteus 提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。
對于單片機硬件電路和軟件的調(diào)試,Proteus提供了兩種方法:一種是系統(tǒng)總體執(zhí)行效果,一種是對軟件的分步調(diào)試以看具體的執(zhí)行情況。
對于總體執(zhí)行效果的調(diào)試方法,只需要執(zhí)行debug 菜單下的execute 菜單項或F12 快捷鍵啟動執(zhí)行,用debug菜單下的pause animation 菜單項或pause 鍵暫停系統(tǒng)的運行;或用debug 菜單下的stop animation菜單項或shift-break 組合鍵停止系統(tǒng)的運行。其運行方式也可以選擇工具欄中的相應(yīng)工具進行。
對于軟件的分步調(diào)試,應(yīng)先執(zhí)行debug 菜單下的start/restart debugging 菜單項命令,此時可以選擇stepover、step into和step out命令執(zhí)行程序(可以用快捷鍵F10、F11 和ctrl+F11),執(zhí)行的效果是單句執(zhí)行、進入子程序執(zhí)行和跳出子程序執(zhí)行。在執(zhí)行了start / restart debuging命令后,在debug菜單的下面要出現(xiàn)仿真中所涉及到的軟件列表和單片機的系統(tǒng)資源等,可供調(diào)試時分析和查看。
6.1.3  用Proteus 軟件虛擬單片機實驗的優(yōu)點
采用Proteus 仿真軟件進行虛擬單片機實驗,具有比較明顯的優(yōu)勢,其實驗實習內(nèi)容全面、硬件投入少、可自行實驗、實驗過程中損耗小、與工程實踐最為接近等。當然其存在的缺點也是有的。其有點有以下幾點:
① 內(nèi)容全面
② 硬件投入少,經(jīng)濟優(yōu)勢明顯
③ 學可自行實驗,鍛煉解決實際工程問題的能力
④ 實驗過程中損耗小,基本沒有元器件的損耗問題
⑤ 與工程實踐最為接近,可以了解實際問題的解決過程
⑥ 大量的范例,可供參考處理
⑦ 協(xié)作能力的培養(yǎng)和鍛煉
Proteus不僅可以作為學校單片機(電子等)實驗的模擬仿真,也可以作為個人工作室的仿真實驗。作為電子技術(shù)或控制類相關(guān)專業(yè)的學生和工程技術(shù)人員,在學習了該軟件后,可以充分地利用它所提供的資源,幫助自己提高工程應(yīng)用能力。
6.2  系統(tǒng)的模擬與仿真過程
1) 進入Proteus ISIS
雙擊桌面上的ISIS 6 Professional 圖標或者單擊屏幕左下方的“開始”→“程序”→“Proteus 6 Professional” →“ISIS 6 Professional”,出現(xiàn)如圖6-1所示屏幕,表明進入Proteus ISIS 集成環(huán)境。
圖 6-1 運行Proteus ISIS的開始界面
2) 工作界面
Proteus ISIS的工作界面是一種標準的Windows界面,如圖6-2所示。包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口。
圖6-2 Proteus ISIS的工作界面
3) 在Proteus中進行仿真圖的設(shè)計和運行
如圖6-3,首先單擊工作界面右邊的對象選擇按鈕“P”,在彈出的窗口中通過關(guān)鍵字“Keywords”選擇仿真圖所需要的的器件將其添加到對象選擇窗口中。
圖6-3 在器件選擇窗口中選擇所需要的元器件
然后,選擇對象選擇窗口中已經(jīng)添加的元器件,將其放到圖形編輯窗口中,并進行單片機仿真圖的設(shè)計。如圖6-4和6-5所示,仿真圖的核心器件有:AT89S52單片機、74LS00、74LS74、LM016L(LCD) 。
圖6-4 在圖形編輯窗口中添加元件
圖6-5 系統(tǒng)仿真圖
其次,在仿真圖中雙擊單片機芯片,在彈出的如圖6-6的窗口“Edit Component”中為“Prograom File”選擇二進制文件“plj-s52.hex”,該文件為軟件設(shè)計中由Keil C編譯程序所生成的二進制文件。
圖6-6 為單片機加載二進制代碼
最后,在單片機的屬性窗口中為其添加系統(tǒng)時鐘頻率為3MHZ,則對應(yīng)的機器周期為250ms。并為信號發(fā)生器選擇適當?shù)念l率為4KHZ,并點擊左下角的“Play”按鈕進行頻率計的軟件模擬與仿真。其仿真結(jié)果為圖6-7所示:
圖6-7 頻率計的仿真結(jié)果
6.3  頻率計系統(tǒng)仿真分析
在頻率計的軟件仿真中為了觀察頻率計的工作狀況和測試系統(tǒng)的工作狀態(tài),在頻率計的仿真圖中添加一個示波器來觀察幾個重要節(jié)點的波形狀況。其頻率計的仿真測試如圖6-8所示。
圖6-8 頻率計仿真測試圖
示波器有四個通道,從上至下依次為通道A、B、C、D。A通道測試系統(tǒng)所測試的頻率信號,D通道測試單片機對外圍電路的同步信號,C通道測試經(jīng)過外圍電路同步后的測頻信號。我們設(shè)置頻率信號為10KHZ,選擇單片機系統(tǒng)時鐘信號頻率為3MHZ,運行后所得到的測頻結(jié)果如圖6-9所示。
圖6-9 頻率計測頻結(jié)果
所測試節(jié)點的信號的波形圖如圖6-10和圖6-11所示。
圖6-10 所測節(jié)點信號的波形圖(1)
圖6-11所測節(jié)點信號的波形圖(2)
由波形圖中可以看出,當定時器1給出一個信號后,頻率信號和定時器信號通過外圍同步電路將選通信號送入單片機的定時計數(shù)器中進行計數(shù),從而測出所給的頻率值。由于所用到的示波器是由軟件模擬的,所得到的波形可能和實際波形有很大的誤差,這是由于其軟件本身缺陷造成的。
圖6-11 系統(tǒng)仿真圖元件清單
在整個系統(tǒng)的仿真中所用到元件清單如圖6-12所示,在頻率計仿真圖中主要用到了五種元件。其中U1.U2.U2為集成電路元件:U1為單片機AT89S52,U2為3個與非門74LS00,U3為一個鎖存器74LS74。還有一個16引腳值為LM016L的液晶顯示器LCD用于顯示頻率值,一個阻值為10K的上拉電阻。其中U2和U3組成仿真圖的控制電路,來實現(xiàn)頻率信號與單片機測頻信號的同步。

結(jié)束語
在現(xiàn)代電子技術(shù)中頻率計作為測量儀器的一種,常稱為電子計數(shù)器,它的基本功能是測量信號的頻率和周期頻率計的應(yīng)用范圍很廣,它不僅應(yīng)用于一般的簡單儀器測量,而且還廣泛應(yīng)用于教學、科研、高精度儀器測量、工業(yè)控制等其它領(lǐng)域。
隨著微電子技術(shù)和計算機技術(shù)的迅速發(fā)展,特別是單片機的出現(xiàn)和發(fā)展,使傳統(tǒng)的電子側(cè)量儀器在原理、功能、精度及自動化水平等方面都發(fā)生了巨大的變化,形成一種完全突破傳統(tǒng)概念的新一代側(cè)量儀器。頻率計廣泛采用了高速集成電路和大規(guī)模集成電路,使儀器在小型化、耗電、可靠性等方面都發(fā)生了重大的變化。單片機是20世紀中期發(fā)展起來的一種面向控制的大規(guī)模集成電路模塊,具有功能強、體積小、可靠性高、價格低廉等特點,在工業(yè)控制、數(shù)據(jù)采集、智能儀表、機電一體化、家用電器等領(lǐng)域得到了廣泛的應(yīng)用,極大的提高了這些領(lǐng)域的技術(shù)水平和自動化程度。目前,市場上有各種多功能、高精度、高頻率的數(shù)字頻率計,但價格不菲。為適應(yīng)實際工作的需要,本次設(shè)計給出了一種較小規(guī)模和單片機(AT89S52)相結(jié)合的頻率計的設(shè)計方案,不但切實可行,而且體積小、保密性強、設(shè)計簡單、成本低、精度高、可測頻帶寬,大大降低了設(shè)計成本和實現(xiàn)復雜度。
歸納起來,在整個論文的設(shè)計中,首先介紹了頻率計的產(chǎn)生背景以及國內(nèi)外的發(fā)展現(xiàn)狀,并針對其優(yōu)缺點提出了進行基于單片機的頻率計設(shè)計的目的及意義。然后介紹了AT89S52單片機的功能及特點,并針對其特性給出了頻率計的設(shè)計原理、思路及方法。最后具介紹了進行系統(tǒng)硬件和軟件設(shè)計以及系統(tǒng)模擬與仿真的具體實現(xiàn)過程。通過系統(tǒng)實現(xiàn)和論文設(shè)計的過程,是我對基于單片機的頻率計的原理及應(yīng)用有了更進一步的認識,并且熟練掌握了進行計算機硬件系統(tǒng)設(shè)計的一般原理及方法。
通過幾個月的努力,即將完成論文,當然由于本人精力和時間有限,本論文中或多或少會存在一些缺點,所設(shè)計的軟件難免存在一些不足,還懇請各位老師和同學給與批評和指正。

致  謝
光陰似箭、日月如梭,四年的本科學習很快就要過去了,在論文即將完成之際,我衷心的感謝所有指導、關(guān)心和幫助我的老師、同學和朋友。
首先感謝我的導師張坤鰲教授!本文的研究工作是在付老師的悉心指導和嚴格要求下完成的。在課題的研究和論文的寫作過程中,張坤鰲老師給了我很多耐心的指導和啟發(fā)。張老師淵博的學識、嚴謹?shù)闹螌W態(tài)度、敬業(yè)的精神和平易近人的態(tài)度,給我留下了深刻的印象,在付老師的教導下,我在學習生活方面都得到了很多的進步!他既是良師又是益友,不僅讓我學到了專業(yè)知識,還讓我學到了很多做人的道理,會不斷激勵著我奮發(fā)學習、努力進步。這些都將使我的一生受益匪淺!老師的諄諄教誨將令我終身難忘。在此,請允許我表示我深深的敬意和衷心的感謝。
于此同時,我還要感謝計算機學院的各位老師給我們提供了一次鍛煉和學習的機會,感謝我的同學和室友,他們在我的學習和生活中給了我很大的幫助。
最后,我要感謝所有在我論文完成過程中給予了幫助和關(guān)心的朋友。
完整的Word格式文檔51黑下載地址(含程序):
51單片機1602液晶顯示頻率計.doc (1.06 MB, 下載次數(shù): 82)



回復

使用道具 舉報

ID:446009 發(fā)表于 2018-12-13 22:09 | 顯示全部樓層
課程設(shè)計有需要用的地方
回復

使用道具 舉報

ID:342942 發(fā)表于 2019-5-21 08:23 來自觸屏版 | 顯示全部樓層
有沒有完整的仿真和程序啊
回復

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
ID:785393 發(fā)表于 2020-6-20 22:15 | 顯示全部樓層
利用單片機完成頻率發(fā)生和頻率測定功能,使用數(shù)碼管顯示發(fā)生的頻率,和使用1602顯示測定的頻率啊。
回復

使用道具 舉報

ID:783473 發(fā)表于 2020-6-20 23:58 | 顯示全部樓層
樓主很棒,謝謝樓主!!!!!!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表