

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢業(yè)設(shè)計(jì)說明書(論文)</p><p> 設(shè)計(jì)題目: 基于AT89C51單片機(jī)的頻率計(jì) </p><p> 專 業(yè): 應(yīng)用電子技術(shù) </p><p> 班 級(jí): 應(yīng)電07-2班 </p><p> 學(xué) 號(hào):
2、 </p><p> 姓 名: </p><p> 指導(dǎo)教師: </p><p> 二00九年十二月五日</p><p> 信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)任務(wù)書</p><p> 備注:任務(wù)書由指導(dǎo)教師填寫,一式二份。
3、其中學(xué)生一份,指導(dǎo)教師一份。</p><p><b> 目 錄</b></p><p><b> 摘 要1</b></p><p> 第1章 緒 論2</p><p> 第2章 設(shè)計(jì)方案論證與比較3</p><p> 2.1 基于集成電路的簡(jiǎn)易數(shù)字頻率計(jì)
4、設(shè)計(jì)3</p><p> 2.2 基于AT89C51的頻率計(jì)設(shè)計(jì)3</p><p> 2.3 方案的可行性和優(yōu)點(diǎn)4</p><p> 第3章 頻率計(jì)電路的工作原理6</p><p> 3.1 單元電路工作原理6</p><p> 3.1.1 信號(hào)轉(zhuǎn)換電路6</p><p>
5、 3.1.2 分頻電路7</p><p> 3.1.3 數(shù)據(jù)選擇電路8</p><p> 3.1.4 單片機(jī)硬件系統(tǒng)設(shè)計(jì)9</p><p> 3.1.5 顯示電路12</p><p> 3.2 基于AT89C51的頻率計(jì)總體硬件電路圖12</p><p> 第4章 基于AT89C51頻率計(jì)的軟件設(shè)
6、計(jì)15</p><p> 第5章 電路的仿真20</p><p><b> 總 結(jié)21</b></p><p><b> 參考文獻(xiàn)22</b></p><p><b> 摘 要</b></p><p> 隨著電子信息產(chǎn)業(yè)的不斷發(fā)展,
7、信號(hào)頻率的測(cè)量在科技研究和實(shí)際應(yīng)用中的作用日益重要。傳統(tǒng)的頻率計(jì)通常是使用很多的邏輯電路和時(shí)序電路來實(shí)現(xiàn)的,這種電路一般運(yùn)行緩慢,而且測(cè)量頻率的范圍比較小。考慮到上述問題,本電路設(shè)計(jì)一個(gè)基于單片機(jī)技術(shù)的數(shù)字頻率計(jì),可使測(cè)量頻率范圍大、運(yùn)行速度快。在線路實(shí)現(xiàn)上更加可靠。</p><p> 本文從頻率計(jì)的原理出發(fā),首先把待測(cè)正弦信號(hào)經(jīng)過整形;然后把信號(hào)送入單片機(jī)的定時(shí)計(jì)數(shù)器里進(jìn)行計(jì)數(shù),獲得頻率值;最后把測(cè)得的頻率數(shù)
8、值送入顯示電路里進(jìn)行顯示。利用單片機(jī)設(shè)計(jì)的數(shù)字頻率計(jì),選擇了實(shí)現(xiàn)系統(tǒng)的各種電路元器件,并對(duì)硬件電路進(jìn)行了仿真。</p><p> 關(guān)鍵詞 單片機(jī);數(shù)字頻率計(jì);測(cè)量</p><p><b> 第1章 緒 論</b></p><p> 在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的
9、測(cè)量就顯得更為重要。測(cè)量頻率的方法有多種,其中電子計(jì)數(shù)器測(cè)量頻率具有精度高、使用方便、測(cè)量迅速,以及便于測(cè)量過程自動(dòng)化等優(yōu)點(diǎn),是頻率測(cè)量的重要手段之一。電子計(jì)數(shù)器測(cè)頻有兩種方式:一是直接測(cè)頻法,即在一定閘門時(shí)間內(nèi)測(cè)量被測(cè)信號(hào)的脈沖個(gè)數(shù);二是間接測(cè)頻法如周期測(cè)頻法,直接測(cè)頻法適用于高頻信號(hào)的頻率測(cè)量,間接測(cè)頻法適用于低頻信號(hào)的頻率測(cè)量。本設(shè)計(jì)采用的測(cè)頻方法是直接測(cè)頻。</p><p> 隨著電子信息產(chǎn)業(yè)的發(fā)展,信
10、號(hào)作為其最基礎(chǔ)的元素,其頻率的測(cè)量在科技研究和實(shí)際應(yīng)用中的作用日益重要,而且需要測(cè)頻的范圍也越來越寬。傳統(tǒng)的頻率計(jì)通常采用組合電路和時(shí)序電路等大量的硬件電路構(gòu)成,產(chǎn)品不但體積較大,運(yùn)行速度慢,而且測(cè)量范圍低,精度低。因此,隨著對(duì)頻率測(cè)量的要求的提高,傳統(tǒng)的測(cè)頻的方法在實(shí)際應(yīng)用中已不能滿足要求。因此,我們需要尋找一種新的測(cè)頻的方法。隨著單片機(jī)技術(shù)的發(fā)展和成熟,用單片機(jī)來做為一個(gè)電路系統(tǒng)的控制電路逐漸顯示出其無與倫比的優(yōu)越性。因此本論文采用
11、單片機(jī)來做為電路的控制系統(tǒng),設(shè)計(jì)一個(gè)能測(cè)量高頻率的數(shù)字頻率計(jì)。用單片機(jī)來做控制電路的數(shù)字頻率計(jì)測(cè)量頻率精度高,測(cè)量頻率的范圍得到很大的提高。</p><p> 本論文的任務(wù)是設(shè)計(jì)一個(gè)基于單片機(jī)技術(shù)的數(shù)字頻率計(jì)。主要介紹了信號(hào)轉(zhuǎn)換電路、分頻處理電路、數(shù)據(jù)選擇電路、單片機(jī)控制電路、顯示電路的構(gòu)成原理,以及其測(cè)頻的基本方法。進(jìn)行了相應(yīng)的軟、硬件設(shè)計(jì)。</p><p> 第2章 設(shè)計(jì)方案論證與
12、比較</p><p> 根據(jù)設(shè)計(jì)任務(wù)書要求,本課題是設(shè)計(jì)一個(gè)基于AT89C51單片機(jī)的頻率計(jì)。設(shè)計(jì)指標(biāo)為,可測(cè)量輸入信號(hào)為峰值+5v的正弦信號(hào);頻率測(cè)量范圍10Hz~10KHz正弦信號(hào);頻率測(cè)量精度為0.1%;采用1602液晶顯示器顯示測(cè)量結(jié)果。</p><p> 2.1 基于集成電路的簡(jiǎn)易數(shù)字頻率計(jì)設(shè)計(jì)</p><p> 基于集成電路的簡(jiǎn)易數(shù)字頻率計(jì)由信號(hào)衰
13、減放大電路、信號(hào)整形電路、閘門電路、計(jì)數(shù)電路、譯碼顯示電路、時(shí)基電路、控制電路等部分組成。其整體結(jié)構(gòu)框圖如圖2-1所示。</p><p> 圖2-1 簡(jiǎn)易數(shù)字頻率計(jì)結(jié)構(gòu)框圖</p><p> 簡(jiǎn)易數(shù)字頻率計(jì)的整體結(jié)構(gòu)如圖所示,測(cè)量頻率共有三個(gè)檔,當(dāng)被測(cè)信號(hào)經(jīng)整形后變成脈沖信號(hào)(矩形波或方波),送入閘門,等待時(shí)基信號(hào)的到來,時(shí)基信號(hào)由555定時(shí)器構(gòu)成一個(gè)較穩(wěn)定的多諧振蕩器,經(jīng)整形分頻后,
14、產(chǎn)生一個(gè)標(biāo)準(zhǔn)的時(shí)基信號(hào)作為閘門開通的基準(zhǔn)時(shí)間。當(dāng)被測(cè)信號(hào)通過閘門,作為計(jì)數(shù)器的時(shí)鐘信號(hào),計(jì)數(shù)器即開始記錄時(shí)鐘的個(gè)數(shù),從而達(dá)到了測(cè)量頻率的要求。</p><p> 2.2 基于AT89C51的頻率計(jì)設(shè)計(jì)</p><p> 基于AT89C51的頻率計(jì)由信號(hào)轉(zhuǎn)換電路、分頻處理電路、數(shù)據(jù)選擇電路、單片機(jī)控制電路、顯示電路組成,其整體結(jié)構(gòu)框圖如圖2-2所示。</p><p&g
15、t; 圖2-2 基于AT89C51的頻率計(jì)系統(tǒng)設(shè)計(jì)框圖</p><p> 測(cè)量一個(gè)信號(hào)的頻率有兩種方法:第一種是計(jì)數(shù)法,用基準(zhǔn)信號(hào)去測(cè)量被測(cè)信號(hào)的高電平持續(xù)的時(shí)間,然后轉(zhuǎn)換成被測(cè)信號(hào)的頻率。第二種是計(jì)時(shí)法,計(jì)算在基準(zhǔn)信號(hào)高電平期間通過的被測(cè)信號(hào)個(gè)數(shù)。</p><p> 根據(jù)設(shè)計(jì)要求測(cè)量10Hz~10KHz的正弦信號(hào),因?yàn)樵趩纹瑱C(jī)計(jì)數(shù)中只能對(duì)脈沖波進(jìn)行計(jì)數(shù),首先要將正弦信號(hào)通過過零比較
16、轉(zhuǎn)換成方波信號(hào),然后變成測(cè)量方波信號(hào)的頻率。在本設(shè)計(jì)中采用的是計(jì)數(shù)法,當(dāng)信號(hào)頻率超過1KHz的時(shí)候測(cè)量精度將超出測(cè)量極度要求,所以當(dāng)被測(cè)信號(hào)的頻率高于1KHz的時(shí)候需要將被測(cè)信號(hào)進(jìn)行分頻處理直到達(dá)到設(shè)計(jì)的精度要求。</p><p> 根據(jù)設(shè)計(jì)要求用單片機(jī)的內(nèi)部定時(shí)器產(chǎn)生基準(zhǔn)信號(hào),由外部中斷輸入被測(cè)信號(hào),通過定時(shí)方式計(jì)算被測(cè)信號(hào)的高電平持續(xù)時(shí)間。通過單片機(jī)計(jì)算得出結(jié)果,最后由1602液晶顯示器顯示測(cè)量結(jié)果。<
17、;/p><p> 2.3 方案的可行性和優(yōu)點(diǎn)</p><p> 基于集成電路的簡(jiǎn)易數(shù)字頻率計(jì),由555定時(shí)器、RC阻容件構(gòu)成多諧振蕩器作為時(shí)基電路,由于被測(cè)信號(hào)范圍為10Hz~10KHz,所以將頻率分為幾檔:多諧振蕩器經(jīng)二級(jí)10分頻后,可提取應(yīng)檔位變化所需的時(shí)間1s、0.1s、0.01s。在電路中引進(jìn)電位器來調(diào)節(jié)震蕩器產(chǎn)生的頻率。在閘門導(dǎo)通情況下,開始計(jì)數(shù)被測(cè)信號(hào)中有多少個(gè)上升沿,使用數(shù)碼
18、管顯示輸出。</p><p> 基于AT89C51的頻率計(jì),基準(zhǔn)頻率由單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生,被測(cè)正弦信號(hào)經(jīng)過過零比較器變?yōu)榉讲ㄐ盘?hào),經(jīng)過分頻處理后,通過數(shù)據(jù)選擇電路將被測(cè)信號(hào)輸入到單片機(jī)的P3.2口,通過定時(shí)方式計(jì)算被測(cè)信號(hào)的高電平持續(xù)時(shí)間,由單片機(jī)分析是否分頻以及分頻次數(shù),并由P2.0口輸出到液晶顯示1602顯示。</p><p> 對(duì)比以上兩種方案,前一方案由555構(gòu)成的振蕩器輸
19、出方波信號(hào)時(shí),由于電路里使用的電容元件,隨著溫度的變化,輸出信號(hào)的頻率也會(huì)發(fā)生變化,而基于單片機(jī)的頻率計(jì)中的基準(zhǔn)頻率由單片機(jī)內(nèi)部T0產(chǎn)生基準(zhǔn)信號(hào),因此基準(zhǔn)頻率穩(wěn)定。前一方案采用數(shù)碼管顯示輸出,基于單片機(jī)的頻率計(jì)采用液晶顯示輸出,相比兩種輸出方式,液晶顯示相對(duì)于數(shù)碼管顯示值更加清晰明確;同時(shí)基于單片機(jī)的頻率計(jì)的整體硬件電路相對(duì)于基于集成電路的頻率計(jì)的硬件電路簡(jiǎn)單。綜合對(duì)比之下確定基于單片機(jī)的頻率計(jì)的作為本次設(shè)計(jì)的最終方案。</p&g
20、t;<p> 第3章 頻率計(jì)電路的工作原理</p><p> 3.1 單元電路工作原理</p><p> 硬件電路主要由信號(hào)轉(zhuǎn)換電路、分頻電路、數(shù)據(jù)選擇電路、單片機(jī)硬件電路和顯示電路五部分組成,現(xiàn)在對(duì)硬件電路各組成部分進(jìn)行電路設(shè)計(jì)。</p><p> 3.1.1 信號(hào)轉(zhuǎn)換電路</p><p> 電路要求測(cè)量為峰值+5v
21、的正弦信號(hào),因?yàn)樵趩纹瑱C(jī)計(jì)數(shù)中只能對(duì)脈沖波進(jìn)行計(jì)數(shù),因此需要將正弦信號(hào)轉(zhuǎn)換成方波信號(hào),需要一信號(hào)轉(zhuǎn)換電路,該電路主要由LM833N器件組成,具體電路如圖3-1所示。</p><p> 圖3-1 信號(hào)轉(zhuǎn)換電路</p><p> 當(dāng)反相端參考電壓為零,則輸入信號(hào)每次過零時(shí),輸出電壓產(chǎn)生一次跳變,從一個(gè)電平變到另一個(gè)電平,這種比較器稱為過零比較器,將正弦信號(hào)轉(zhuǎn)換成方波信號(hào)用過零比較電路實(shí)現(xiàn)。
22、在圖3-1的同相輸入端輸入正弦信號(hào),由于在U1的正半周,U1>0,則UO=UOH;在U1的負(fù)半周,U1<0,則UO=UOL;因此輸出波形為方波(這種高、低電平各占周期時(shí)間一半的矩形波稱為方波),其輸出幅度與電源電壓和運(yùn)放的最大輸出電壓有關(guān),因此在正弦信號(hào)通過LM833N與零電平比較,電壓大于零的時(shí)候輸出LM833N的正電源+5v,電壓小于零的時(shí)候輸出負(fù)電源0v。</p><p> 3.1.2 分頻電
23、路</p><p> 為了滿足設(shè)計(jì)精度要求,當(dāng)外部被測(cè)信號(hào)頻率高于1KHz時(shí),由于受單片機(jī)基準(zhǔn)頻率1MHz的限制,會(huì)使計(jì)數(shù)器的計(jì)數(shù)個(gè)數(shù)不精確,從而使得輸出頻率不精確。為了避免這種情況的發(fā)生,通過外部電路進(jìn)行分頻處理,分頻電路采用十進(jìn)制的計(jì)數(shù)器74HC4017來分頻。74HC4017引腳圖如圖3-2所示。</p><p> 圖3-2 74HC4017引腳圖</p><
24、p> 74HC4017的12腳CO,作為進(jìn)位輸出端,每輸入10個(gè)時(shí)鐘脈沖,就可得一個(gè)進(jìn)位輸出脈沖,因此進(jìn)位輸出信號(hào)可作為下一級(jí)計(jì)數(shù)器的時(shí)鐘信號(hào)。13腳E為控制端,低電平有效;14腳CLK為時(shí)鐘輸入端,脈沖上升沿有效;15腳MR為清零輸入端,在“MR”端加高電平或正脈沖時(shí),74HC4017計(jì)數(shù)器中各計(jì)數(shù)單元輸出低電平“0”,74HC4017有10個(gè)譯碼輸出端Q0~Q9,它隨時(shí)鐘脈沖的輸入而依次出現(xiàn)高電平。</p>&
25、lt;p> 由74HC4017構(gòu)成的分頻電路圖如圖3-3所示。</p><p><b> 圖3-3 分頻電路</b></p><p> 由圖知,74HC4017工作的時(shí)鐘信號(hào)來自信號(hào)轉(zhuǎn)換電路中過零比較器的輸出,當(dāng)被測(cè)正弦信號(hào)經(jīng)信號(hào)轉(zhuǎn)換電路脈沖個(gè)數(shù)達(dá)到10個(gè)時(shí),74HC4017產(chǎn)生溢出,CO端輸出頻率為輸入頻率的1/10,達(dá)到十分頻的作用。當(dāng)輸入信號(hào)的頻率高
26、于1KHz時(shí),就需要將分頻處理后的輸入信號(hào)輸入到數(shù)據(jù)選擇電路,由于題目要求測(cè)量的輸入頻率最高為10KHz,用一個(gè)74HC4017即可以實(shí)現(xiàn)設(shè)計(jì)要求。</p><p> 3.1.3 數(shù)據(jù)選擇電路</p><p> 被測(cè)信號(hào)經(jīng)過轉(zhuǎn)換電路,一路輸入到數(shù)據(jù)選擇電器的數(shù)據(jù)輸入端X0,另一路經(jīng)過分頻電路輸入到數(shù)據(jù)選擇器的數(shù)據(jù)輸入端X1,由數(shù)據(jù)選擇電路來選擇由不同的輸入信號(hào)輸出到單片機(jī)的P3.2口,
27、這里選用8選1數(shù)據(jù)選擇器74LS151來實(shí)現(xiàn)數(shù)據(jù)選擇,它的真值表如表3-1所示。</p><p> 表3-1 74LS151真值表</p><p> 74LS151作為數(shù)據(jù)選擇器,它有3個(gè)地址輸入端A、B、C,8個(gè)數(shù)據(jù)輸入端X0~X7,兩個(gè)互補(bǔ)的數(shù)據(jù)輸出端Y和,還有一個(gè)控制輸入端。從功能表可以看出,低電平有效。當(dāng)=1時(shí),電路處于禁止?fàn)顟B(tài),Y始終為0;當(dāng)=0時(shí),電路處于工作狀態(tài),由地址輸
28、入端A、B、C的狀態(tài)決定哪一路信號(hào)送到Y(jié)和輸出。根據(jù)設(shè)計(jì)要求可以用74LS151來選擇分頻次數(shù)。其具體電路如圖3-4所示。</p><p> 圖3-4 數(shù)據(jù)選擇電路</p><p> 將74LS151的端接地,單片機(jī)P2.0、P2.1、P2.2口輸入到74LS151的A、B、C三個(gè)地址輸入端,在本設(shè)計(jì)中選擇X0或X1中某一路被測(cè)信號(hào)輸入,并由Y輸入到單片機(jī)的外部中斷P3.2口。通過程序
29、將數(shù)據(jù)選擇器的控制端A、B、C的初始值設(shè)為0、0、0,即選擇信號(hào)由數(shù)據(jù)輸入端X0輸入,當(dāng)頻率小于或等于1KHz時(shí),單片機(jī)計(jì)得的基準(zhǔn)頻率大于等于500次,信號(hào)由數(shù)據(jù)輸入端X0輸入;當(dāng)頻率大于1KHz時(shí),單片機(jī)計(jì)得的基準(zhǔn)頻率小于500次,此時(shí)A、B、C的值為1、0、0,即選擇由數(shù)據(jù)輸入端X1輸入。</p><p> 3.1.4 單片機(jī)硬件系統(tǒng)設(shè)計(jì)</p><p> 單片機(jī)作為控制系統(tǒng)和計(jì)數(shù)
30、器,是本次設(shè)計(jì)的最重要的部分,AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)產(chǎn)生,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域,它的引腳功能如下。</p><p> P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收TTL門電流。當(dāng)P1
31、口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這
32、是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻 拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存 儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八
33、位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器 的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故
34、。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下所示</p><p> P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 (外部中斷0)</p><p> P3.3 (外部中斷1)</p><p>
35、P3.4 T0(記時(shí)器0外部輸入)</p><p> P3.5 T1(記時(shí)器1外部輸入)</p><p> P3.6 (外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><p> P3.7 (外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器
36、復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SF
37、R8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> :外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。</p><p> /VPP:當(dāng)保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(00
38、00H~FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),將內(nèi)部鎖定為RESET;當(dāng)端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出。</p><p> 單片機(jī)構(gòu)成的硬件電
39、路如圖3-5所示。</p><p> 圖3-5 單片機(jī)硬件系統(tǒng)</p><p> 在AT89C51單片機(jī)中,有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端,這個(gè)放大器與作為反饋元件的片外石英晶體一起構(gòu)成自激振蕩器。12MHz石英晶體振蕩器及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1、C2的大小沒有十分嚴(yán)格的
40、要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難以程序及溫度穩(wěn)定性,通常C1、C2使用電容使用20PF~40PF,本設(shè)計(jì)中使用的是30PF的電容器。</p><p> 單片機(jī)的P3.2口接收來自數(shù)據(jù)選擇器Y的被測(cè)信號(hào);P0口接液晶顯示器的數(shù)據(jù)輸入端,ALE,,,P0.0,P0.1通過外接控制電路連接到液晶顯示器的控制端;單片機(jī)的RST信號(hào)輸入由復(fù)位電路控制,該復(fù)位電路由一個(gè)按鍵開關(guān)和
41、一個(gè)4.7K電阻組成,當(dāng)復(fù)位電路開關(guān)按下時(shí),單片機(jī)RST端變?yōu)楦唠娖?,單片機(jī)開始工作。當(dāng)開關(guān)斷開時(shí)單片機(jī)RST端變?yōu)榈碗娖剑瑔纹瑱C(jī)停止工作。</p><p> 3.1.5 顯示電路</p><p> 由單片機(jī)的P0口輸出數(shù)據(jù)到液晶顯示器的數(shù)據(jù)輸入端,顯示電路由液晶顯示器1602、八D鎖存器74LS373和一個(gè)與非門組成,它的具體電路如圖3-6所示。</p><p&g
42、t;<b> 圖3-6 顯示電路</b></p><p> 在八D鎖存器74LS373中,當(dāng)為高電平時(shí),Q0~Q7呈高阻態(tài),既不驅(qū)動(dòng)總線,也不是總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。當(dāng)鎖存允許端LE為高電平時(shí),Q隨數(shù)據(jù)D而變。當(dāng)LE為低電平時(shí),Q被鎖存在已建立的數(shù)據(jù)電平中。</p><p> 由單片機(jī)的P0口輸出數(shù)據(jù)到液晶顯示器的數(shù)據(jù)輸入端D0~D7,液晶
43、顯示器的工作方式由RS、RW、E控制,當(dāng)液晶顯示器1602的D0、D1端有信號(hào)輸入時(shí),液晶顯示器的D0、D1信號(hào)輸入到八D鎖存器74LS373輸入端,通過由Q0、Q1端分別輸出到液晶顯示器的RS、RW端,單片機(jī)的P3.6、P3.7口輸入到與非門74LS00,由74LS00的輸出端輸入到液晶顯示器的E端。LCD控制器的信號(hào)功能如表3-2所示。</p><p> 表3-2 LCD控制器的信號(hào)功能表</p>
44、;<p> 3.2 基于AT89C51的頻率計(jì)總體硬件電路圖</p><p> 根據(jù)以上單元電路所得到的總體電路,如圖3-7所示。</p><p> 圖3-7 基于AT89C51的頻率計(jì)總體電路圖</p><p> 根據(jù)設(shè)計(jì)要求頻率范圍是10Hz~10KHz,當(dāng)頻率為10Hz時(shí),T=100000us,高電平為50000us,0.1%的誤差為10
45、0us,由單片機(jī)產(chǎn)生的基準(zhǔn)頻率為1MHz,T0=1us,最大誤差為1us,計(jì)數(shù)個(gè)數(shù)為50000(方式1),滿足設(shè)計(jì)要求。當(dāng)頻率增加到1KHz時(shí),產(chǎn)生的誤差剛剛能達(dá)到設(shè)計(jì)要求,這時(shí)計(jì)數(shù)個(gè)數(shù)為500。當(dāng)頻率大于1KHz時(shí)(即計(jì)數(shù)個(gè)數(shù)小于500)就需要將被測(cè)頻率分頻后再測(cè)量,如當(dāng)頻率為10KHz時(shí),先計(jì)算計(jì)得的脈沖數(shù)等于50,小于了500,所以將10KHz的信號(hào)10分頻得到1KHz,這時(shí)就滿足要求了。最后得到的頻率f=,其中n為計(jì)得的脈沖個(gè)數(shù)
46、,i為分頻的次數(shù)。</p><p> 被測(cè)正弦信號(hào)經(jīng)過過零比較器,轉(zhuǎn)換成方波信號(hào),一路直接輸入到數(shù)據(jù)選擇電器的數(shù)據(jù)輸入端X0,另一路經(jīng)過分頻電路輸入到數(shù)據(jù)選擇器的數(shù)據(jù)輸入端X1,由程序?qū)?shù)據(jù)選擇器的控制端A、B、C的初始值設(shè)置為0、0、0,即選擇信號(hào)由數(shù)據(jù)輸入端X0輸入,當(dāng)頻率小于或等于1KHz時(shí),單片機(jī)計(jì)得的基準(zhǔn)頻率大于等于500次,信號(hào)由數(shù)據(jù)輸入端X0輸入;當(dāng)頻率大于1KHz時(shí),單片機(jī)計(jì)得的基準(zhǔn)頻率小于50
47、0次,此時(shí)A、B、C的值為0、0、1,即選擇由數(shù)據(jù)輸入端X1輸入,經(jīng)過單片機(jī)內(nèi)部計(jì)算后,由1602液晶顯示器顯示信號(hào)頻率。</p><p> 第4章 基于AT89C51頻率計(jì)的軟件設(shè)計(jì)</p><p> 主程序首先對(duì)系統(tǒng)環(huán)境初始化,設(shè)置分頻選通信號(hào)P2=0x00,選通0通道。設(shè)置T0工作方式,采用硬件啟動(dòng)方式,GATE=1,當(dāng)INT0和TR0同時(shí)為1時(shí)啟動(dòng)計(jì)時(shí),計(jì)數(shù)方式為方式1(16位
48、),TH0和TL0都置零。當(dāng)外部中斷INT0=1時(shí)等待,當(dāng)外部中斷為0時(shí)啟動(dòng)T0即TR0=1,當(dāng)INT0一直為0時(shí)就等待,一旦INT0=1就啟動(dòng)計(jì)數(shù)同時(shí)等待,當(dāng)INT0為0時(shí)跳出并關(guān)閉T0即TR0=0。這樣就計(jì)得高電平期間基準(zhǔn)脈沖個(gè)數(shù),當(dāng)脈沖個(gè)數(shù)小于500時(shí)就選擇10分頻信號(hào),即P2自加1,同時(shí)記錄分頻一次;如果分頻后脈沖個(gè)數(shù)還小于500則再次分頻,直到計(jì)數(shù)個(gè)數(shù)大于500。</p><p> 其示意圖如圖4-1
49、所示,</p><p> 圖4-1 計(jì)數(shù)工作示意圖</p><p> 主程序流程圖如圖4-2所示。</p><p> 圖4-2 主程序流程圖</p><p><b> 程序清單:</b></p><p><b> 主程序:</b></p><p&
50、gt; #include<reg51.h></p><p> #include<stdio.h></p><p> #include<lcd.c>;</p><p> #include<math.h></p><p> sbit p32=P3^2;</p><p&g
51、t;<b> main()</b></p><p> { unsigned int period,k,j,i=0;</p><p> float f,m;</p><p> char buff[30];</p><p> init_LCD();</p><p><b> P2
52、=0x00;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> TMOD=0X09;</p><p><b> TH0=0;</b></p><p><b>
53、 TL0=0;</b></p><p> while(p32==1);</p><p><b> TR0=1;</b></p><p> while(p32==0);</p><p> while(p32==1);</p><p><b> TR0=0;</
54、b></p><p> period=TH0*256+TL0;</p><p> while(period<=500) /*判斷是否分頻及計(jì)算分頻次數(shù)*/</p><p><b> { P2++;</b></p><p><b> i++;</b></p>
55、<p> period=period*10;</p><p><b> if(i==6)</b></p><p><b> {P2=0x00;</b></p><p><b> break;</b></p><p><b> }</b&g
56、t;</p><p><b> }</b></p><p> k=pow(10,i); /* 10的i次方*/</p><p> f=(1000000.0/(2*period))*k;</p><p> if(f<1000)</p><p> sprintf
57、(buff,"f=%5.2fHZ",f);</p><p><b> else</b></p><p> {m=f/1000.0;</p><p> sprintf(buff,"f=%5.2fKHZ",m);</p><p><b> }</b><
58、;/p><p> lcdprintf(0,0,buff);</p><p><b> }</b></p><p><b> }</b></p><p><b> 顯示子程序:</b></p><p> #include <lcd.h>&
59、lt;/p><p> char code CGRAM_TABLE[]={0x08,0x0F,0x12,0x0F,0x0A,0x1F,0x02,0x02,//;年</p><p> 0x0F,0x09,0x0F,0x09,0x0F,0x09,0x11,0x00,//;月</p><p> 0x0F,0x09,0x09,0x0F,0x0,0x09,0x0F,0x0
60、0}; //;日</p><p> void delay()</p><p><b> {</b></p><p> unsigned char i;</p><p> for(i=0;i<250;i++);</p><p><b> }</b><
61、/p><p> void init_LCD()</p><p><b> {</b></p><p> unsigned char i;</p><p> WR_COM=0x38; //設(shè)置為8位數(shù)據(jù)總線,16*2,5*7點(diǎn)陣</p><p> for(i=0;i<100;i+
62、+)</p><p><b> delay();</b></p><p> WR_COM=0x01; //清屏幕</p><p> for(i=0;i<50;i++)</p><p><b> delay();</b></p><p> WR_C
63、OM=0x06; //光標(biāo)移動(dòng),顯示區(qū)不移動(dòng),讀寫操作后,地址計(jì)數(shù)器AC加1</p><p> for(i=0;i<50;i++)</p><p><b> delay();</b></p><p> WR_COM=0x0c;</p><p> for(i=0;i<50;i++)</
64、p><p><b> delay();</b></p><p><b> }</b></p><p> void init_cgram()</p><p><b> {</b></p><p> unsigned char i;
65、 //;設(shè)置自定義字符</p><p> WR_COM=0x40;</p><p> for(i=0;i<24;i++)</p><p><b> {</b></p><p> WR_DAT=CGRAM_TABLE[i];</p><p><b> }</b>
66、</p><p> for(i=0;i<40;i++)</p><p><b> delay();</b></p><p><b> }</b></p><p> void PutChar(char t)</p><p><b> {</b&g
67、t;</p><p><b> WR_DAT=t;</b></p><p><b> delay();</b></p><p><b> delay(); </b></p><p><b> }</b></p><p>
68、void clr_lcd()</p><p><b> {</b></p><p> WR_COM=0x01;</p><p><b> delay();</b></p><p><b> delay();</b></p><p><b&g
69、t; }</b></p><p> void lcdprintf(char x,char y,char *s)</p><p><b> {</b></p><p> //clr_lcd();</p><p> if(y>1)y=1;</p><p> WR_COM=
70、(y*0x40+x)|0x80;</p><p><b> delay();</b></p><p><b> delay();</b></p><p> while(*s!=0)</p><p><b> {</b></p><p> WR_
71、DAT=*s;</p><p><b> s++;</b></p><p><b> delay();</b></p><p><b> delay();</b></p><p><b> }</b></p><p><
72、;b> }</b></p><p><b> 第5章 電路的仿真</b></p><p> 本次基于AT89C51單片機(jī)頻率計(jì)的電路仿真整體圖如圖5-1所示:</p><p> 圖5-1電路仿真整體圖</p><p><b> 總 結(jié)</b></p>&l
73、t;p> 隨著畢業(yè)日子的到來,我的畢業(yè)設(shè)計(jì)也接近了尾聲。我所設(shè)計(jì)的是基于AT89C51單片機(jī)的頻率計(jì),這是一種用于測(cè)量信號(hào)頻率的電路。基于AT89C51單片機(jī)頻率計(jì)的設(shè)計(jì)不僅是對(duì)前面所學(xué)知識(shí)的一種檢驗(yàn),而且也是對(duì)自己能力的一種提高。下面我對(duì)整個(gè)設(shè)計(jì)的過程做一下簡(jiǎn)單的總結(jié)。</p><p> 頻率計(jì)在我們信號(hào)測(cè)量方面幾乎都可以看到它的身影。拿到設(shè)計(jì)課題,通過一個(gè)星期的時(shí)間收集資料后,我已經(jīng)對(duì)我所要設(shè)計(jì)的基
74、于AT89C51的單片機(jī)有了一定了的認(rèn)識(shí),也開始研究設(shè)計(jì)方向和方法。測(cè)量一個(gè)信號(hào)的頻率有兩種方法:第一種是計(jì)數(shù)法,用基準(zhǔn)信號(hào)去測(cè)量被測(cè)信號(hào)的高電平持續(xù)的時(shí)間,然后轉(zhuǎn)換成被測(cè)信號(hào)的頻率。第二種是計(jì)時(shí)法,計(jì)算在基準(zhǔn)信號(hào)高電平期間通過的被測(cè)信號(hào)個(gè)數(shù)。最終確定用第一種方式實(shí)現(xiàn)我的設(shè)計(jì)。</p><p> 在此次設(shè)計(jì)即將完成之際,我很明確自己的設(shè)計(jì)在分頻計(jì)算過程中反應(yīng)速度慢的缺點(diǎn),在現(xiàn)在科技發(fā)展水平的基礎(chǔ)上采用復(fù)雜可編程
75、邏輯器件CPLD和單片機(jī)AT89C51共同來設(shè)計(jì)成的等精度頻率計(jì),實(shí)現(xiàn)等精度、精度高、寬頻帶的頻率計(jì)的設(shè)計(jì)。其中,CPLD/FPGA模塊具有定時(shí)精確及時(shí)和速度快的特點(diǎn),同時(shí),單片機(jī)AT89C51在數(shù)值的運(yùn)算上非常簡(jiǎn)單方便。所以,兩者相結(jié)合、取長(zhǎng)補(bǔ)短,可以使設(shè)計(jì)達(dá)到最簡(jiǎn)化。這樣就最大限度地縮短了開發(fā)的周期,精簡(jiǎn)了系統(tǒng)的體積,還保證了頻率計(jì)的高精度和良好的可靠性,使本設(shè)計(jì)具備了開發(fā)周期短、結(jié)構(gòu)簡(jiǎn)單、成本低廉等特點(diǎn)。</p>&
76、lt;p> 但是由于個(gè)人水平有限,以及條件的限制。該設(shè)計(jì)存在著一定的缺陷,以及并沒在實(shí)際生活中進(jìn)行使用,測(cè)試,而只是進(jìn)行了簡(jiǎn)單的部分檢測(cè)。該設(shè)計(jì)往后還可在輸出功率加大,和減小失真等幾個(gè)方向給予改進(jìn)。</p><p> 通過為期十周的畢業(yè)設(shè)計(jì),我深刻體會(huì)到了自己知識(shí)的匱乏。設(shè)計(jì)一個(gè)很簡(jiǎn)單的電路,所要考慮的問題,要比考試的時(shí)候考慮的多的多。這樣,在很大程度上提高了我考慮問題的全面性。設(shè)計(jì)一個(gè)電路,要考慮到它
77、的前因后果。什么功能需要什么電路來實(shí)現(xiàn)。另外,還要考慮它的可行性,實(shí)用性等等。以前,我們學(xué)習(xí)的電路只是一個(gè)理論知識(shí),通過這次實(shí)踐,使我的理論知識(shí)上升到了一個(gè)實(shí)踐的過程。同時(shí)在實(shí)踐中也加深了我們對(duì)理論知識(shí)的理解。</p><p><b> 參考文獻(xiàn)</b></p><p> ?。?]李群芳編著 單片機(jī)原理、接口及應(yīng)用-嵌入式系統(tǒng)技術(shù)基礎(chǔ).北京.清華大學(xué)出版社,2005
78、</p><p> [2]康華光主編 電子技術(shù)基礎(chǔ)-數(shù)字部分(第四版).北京.高等教育出版社,2000</p><p> [3]康華光主編 電子技術(shù)基礎(chǔ)-模擬部分(第五版).北京.高等教育出版社,2006</p><p> [4]李雷等編 集成電路應(yīng)用實(shí)驗(yàn).國(guó)防工業(yè)出版社,2003</p><p> [5]李雷等編 電子技術(shù)應(yīng)用實(shí)驗(yàn)教
79、程.電子科技大學(xué)出版社,2006</p><p> [6]朱紅等編 電子技術(shù)綜合實(shí)驗(yàn).電子科技大學(xué)出版社,2005</p><p> ?。?]馮熙昌編 電子電話機(jī)集成電路手冊(cè).人民郵電出版社,1996</p><p> ?。?]李華等編 MCS-51系列單片機(jī)實(shí)用接口技術(shù).北京航空航天大學(xué)出版社,1993</p><p> ?。?]徐惠民等
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于at89c51的頻率設(shè)計(jì)
- 基于at89c51頻率計(jì)設(shè)計(jì)
- 基于at89c51的頻率計(jì)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于at89c51的步進(jìn)電機(jī)控制
- 畢業(yè)設(shè)計(jì)---基于at89c51)子密碼鎖設(shè)計(jì)
- 基于at89c51的時(shí)鐘設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于at89c51的多路溫度巡回檢測(cè)系統(tǒng)
- 畢業(yè)設(shè)計(jì)-基于at89c51單片機(jī)的數(shù)字時(shí)鐘設(shè)計(jì)
- 基于at89c51的數(shù)控電源設(shè)計(jì)
- 基于at89c51的頻率計(jì)設(shè)計(jì)說明書
- 畢業(yè)設(shè)計(jì)-基于at89c51單片機(jī)的病房呼叫系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于at89c51單片機(jī)紅外遙控系統(tǒng)設(shè)計(jì)
- 基于at89c51單片機(jī)的數(shù)字鐘設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于at89c51單片機(jī)倒車防撞系統(tǒng)的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于at89c51單片機(jī)的音樂盒設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)基于at89c51單片機(jī)數(shù)控電源
- 基于at89c51單片機(jī)紅外遙控系統(tǒng)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于at89c51單片機(jī)溫度控制系統(tǒng)設(shè)計(jì)
- 基于at89c51單片機(jī)的噪聲測(cè)量?jī)x設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)(論文)-基于at89c51單片機(jī)電子時(shí)鐘的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論