基于AT89C51的頻率設(shè)計(jì)_第1頁(yè)
基于AT89C51的頻率設(shè)計(jì)_第2頁(yè)
基于AT89C51的頻率設(shè)計(jì)_第3頁(yè)
基于AT89C51的頻率設(shè)計(jì)_第4頁(yè)
基于AT89C51的頻率設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)設(shè)計(jì)題目: 基于AT89C51單片機(jī)的頻率計(jì) 專(zhuān) 業(yè): 應(yīng)用電子技術(shù) 班 級(jí): 應(yīng)電07-2班 學(xué) 號(hào): 0710205092 姓 名: 任 嵐 指導(dǎo)教師: 彌 銳 李元宏 二00九年十二月五日四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)任務(wù)書(shū)學(xué)生姓名任嵐學(xué)號(hào)0710205092班級(jí)應(yīng)電07-2專(zhuān)業(yè)應(yīng)用電子技術(shù)設(shè)計(jì)題目基于AT89C51的頻率計(jì)設(shè)計(jì)指導(dǎo)教師姓名職 稱(chēng)工作單位及所從事專(zhuān)業(yè)聯(lián)系方式備 注彌銳工程師四川信息職業(yè)技術(shù)學(xué)元宏高級(jí)工程師國(guó)營(yíng)長(zhǎng)勝機(jī)器計(jì)內(nèi)容:1基于AT89C51單片機(jī)的等精度頻率計(jì)2可測(cè)量輸入信號(hào)為

2、峰峰值+5v的正弦信號(hào);3頻率測(cè)量范圍10Hz10KHz正弦信號(hào);4頻率測(cè)量精度為0.1%;5采用1602液晶顯示器顯示測(cè)量結(jié)果。進(jìn)度安排:第24周:查找資料,選擇參考方案;第56周:確定方案;第710周:查找資料;第1113:周進(jìn)行單元電路的設(shè)計(jì),整機(jī)電路整機(jī)與分析;第1415周:整理報(bào)告,確定初稿;第1617周:答辯。主要參考文獻(xiàn)、資料(寫(xiě)清楚參考文獻(xiàn)名稱(chēng)、作者、出版單位):1李群芳編著.單片機(jī)原理、接口及應(yīng)用-嵌入式系統(tǒng)技術(shù)基礎(chǔ) 北京 清華大學(xué)出版社 20052康華光主編 電子技術(shù)基礎(chǔ)-數(shù)字部分(第四版) 北京 高等教育出版社 20003康華光主編 電子技術(shù)基礎(chǔ)-模擬部分(第五版) 北京

3、 高等教育出版社 20064李雷等編 集成電路應(yīng)用實(shí)驗(yàn) 國(guó)防工業(yè)出版社 20035李雷等編 電子技術(shù)應(yīng)用實(shí)驗(yàn)教程 電子科技大學(xué)出版社 20066朱紅等編 電子技術(shù)綜合實(shí)驗(yàn) 電子科技大學(xué)出版社 20057馮熙昌編 電子電話機(jī)集成電路手冊(cè) 人民郵電出版社 19968李華等編 MCS-51系列單片機(jī)實(shí)用接口技術(shù) 北京航空航天大學(xué)出版社 19939徐惠民 安德寧等編 單片微型計(jì)算機(jī)原理接口及應(yīng)用 北京郵電大學(xué)出版社 2000審批意見(jiàn)教研室負(fù)責(zé)人:年 月 日備注:任務(wù)書(shū)由指導(dǎo)教師填寫(xiě),一式二份。其中學(xué)生一份,指導(dǎo)教師一份。 四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)目 錄摘 要1第1章 緒 論2第2章

4、設(shè)計(jì)方案論證與比較32.1 基于集成電路的簡(jiǎn)易數(shù)字頻率計(jì)設(shè)計(jì)32.2 基于AT89C51的頻率計(jì)設(shè)計(jì)32.3 方案的可行性和優(yōu)點(diǎn)4第3章 頻率計(jì)電路的工作原理63.1 單元電路工作原理63.1.1 信號(hào)轉(zhuǎn)換電路63.1.2 分頻電路73.1.3 數(shù)據(jù)選擇電路83.1.4 單片機(jī)硬件系統(tǒng)設(shè)計(jì)93.1.5 顯示電路123.2 基于AT89C51的頻率計(jì)總體硬件電路圖12第4章 基于AT89C51頻率計(jì)的軟件設(shè)計(jì)15第5章 電路的仿真20總 結(jié)21參考文獻(xiàn)22I摘 要隨著電子信息產(chǎn)業(yè)的不斷發(fā)展,信號(hào)頻率的測(cè)量在科技研究和實(shí)際應(yīng)用中的作用日益重要。傳統(tǒng)的頻率計(jì)通常是使用很多的邏輯電路和時(shí)序電路來(lái)實(shí)現(xiàn)的

5、,這種電路一般運(yùn)行緩慢,而且測(cè)量頻率的范圍比較小??紤]到上述問(wèn)題,本電路設(shè)計(jì)一個(gè)基于單片機(jī)技術(shù)的數(shù)字頻率計(jì),可使測(cè)量頻率范圍大、運(yùn)行速度快。在線路實(shí)現(xiàn)上更加可靠。本文從頻率計(jì)的原理出發(fā),首先把待測(cè)正弦信號(hào)經(jīng)過(guò)整形;然后把信號(hào)送入單片機(jī)的定時(shí)計(jì)數(shù)器里進(jìn)行計(jì)數(shù),獲得頻率值;最后把測(cè)得的頻率數(shù)值送入顯示電路里進(jìn)行顯示。利用單片機(jī)設(shè)計(jì)的數(shù)字頻率計(jì),選擇了實(shí)現(xiàn)系統(tǒng)的各種電路元器件,并對(duì)硬件電路進(jìn)行了仿真。關(guān)鍵詞 單片機(jī);數(shù)字頻率計(jì);測(cè)量第23頁(yè)第1章 緒 論在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測(cè)量方案、測(cè)量結(jié)果都有十分密切的關(guān)系,因此頻率的測(cè)量就顯得更為重要。測(cè)量頻率的方法有多種,其

6、中電子計(jì)數(shù)器測(cè)量頻率具有精度高、使用方便、測(cè)量迅速,以及便于測(cè)量過(guò)程自動(dòng)化等優(yōu)點(diǎn),是頻率測(cè)量的重要手段之一。電子計(jì)數(shù)器測(cè)頻有兩種方式:一是直接測(cè)頻法,即在一定閘門(mén)時(shí)間內(nèi)測(cè)量被測(cè)信號(hào)的脈沖個(gè)數(shù);二是間接測(cè)頻法如周期測(cè)頻法,直接測(cè)頻法適用于高頻信號(hào)的頻率測(cè)量,間接測(cè)頻法適用于低頻信號(hào)的頻率測(cè)量。本設(shè)計(jì)采用的測(cè)頻方法是直接測(cè)頻。隨著電子信息產(chǎn)業(yè)的發(fā)展,信號(hào)作為其最基礎(chǔ)的元素,其頻率的測(cè)量在科技研究和實(shí)際應(yīng)用中的作用日益重要,而且需要測(cè)頻的范圍也越來(lái)越寬。傳統(tǒng)的頻率計(jì)通常采用組合電路和時(shí)序電路等大量的硬件電路構(gòu)成,產(chǎn)品不但體積較大,運(yùn)行速度慢,而且測(cè)量范圍低,精度低。因此,隨著對(duì)頻率測(cè)量的要求的提高,

7、傳統(tǒng)的測(cè)頻的方法在實(shí)際應(yīng)用中已不能滿(mǎn)足要求。因此,我們需要尋找一種新的測(cè)頻的方法。隨著單片機(jī)技術(shù)的發(fā)展和成熟,用單片機(jī)來(lái)做為一個(gè)電路系統(tǒng)的控制電路逐漸顯示出其無(wú)與倫比的優(yōu)越性。因此本論文采用單片機(jī)來(lái)做為電路的控制系統(tǒng),設(shè)計(jì)一個(gè)能測(cè)量高頻率的數(shù)字頻率計(jì)。用單片機(jī)來(lái)做控制電路的數(shù)字頻率計(jì)測(cè)量頻率精度高,測(cè)量頻率的范圍得到很大的提高。本論文的任務(wù)是設(shè)計(jì)一個(gè)基于單片機(jī)技術(shù)的數(shù)字頻率計(jì)。主要介紹了信號(hào)轉(zhuǎn)換電路、分頻處理電路、數(shù)據(jù)選擇電路、單片機(jī)控制電路、顯示電路的構(gòu)成原理,以及其測(cè)頻的基本方法。進(jìn)行了相應(yīng)的軟、硬件設(shè)計(jì)。第2章 設(shè)計(jì)方案論證與比較根據(jù)設(shè)計(jì)任務(wù)書(shū)要求,本課題是設(shè)計(jì)一個(gè)基于AT89C51單片

8、機(jī)的頻率計(jì)。設(shè)計(jì)指標(biāo)為,可測(cè)量輸入信號(hào)為峰值+5v的正弦信號(hào);頻率測(cè)量范圍10Hz10KHz正弦信號(hào);頻率測(cè)量精度為0.1%;采用1602液晶顯示器顯示測(cè)量結(jié)果。2.1 基于集成電路的簡(jiǎn)易數(shù)字頻率計(jì)設(shè)計(jì)基于集成電路的簡(jiǎn)易數(shù)字頻率計(jì)由信號(hào)衰減放大電路、信號(hào)整形電路、閘門(mén)電路、計(jì)數(shù)電路、譯碼顯示電路、時(shí)基電路、控制電路等部分組成。其整體結(jié)構(gòu)框圖如圖2-1所示。k1k2k3FX衰減放大整形電路閘門(mén)電路計(jì)數(shù)電路譯碼顯示電路時(shí)基電路控制電路圖2-1 簡(jiǎn)易數(shù)字頻率計(jì)結(jié)構(gòu)框圖簡(jiǎn)易數(shù)字頻率計(jì)的整體結(jié)構(gòu)如圖所示,測(cè)量頻率共有三個(gè)檔,當(dāng)被測(cè)信號(hào)經(jīng)整形后變成脈沖信號(hào)(矩形波或方波),送入閘門(mén),等待時(shí)基信號(hào)的到來(lái),時(shí)

9、基信號(hào)由555定時(shí)器構(gòu)成一個(gè)較穩(wěn)定的多諧振蕩器,經(jīng)整形分頻后,產(chǎn)生一個(gè)標(biāo)準(zhǔn)的時(shí)基信號(hào)作為閘門(mén)開(kāi)通的基準(zhǔn)時(shí)間。當(dāng)被測(cè)信號(hào)通過(guò)閘門(mén),作為計(jì)數(shù)器的時(shí)鐘信號(hào),計(jì)數(shù)器即開(kāi)始記錄時(shí)鐘的個(gè)數(shù),從而達(dá)到了測(cè)量頻率的要求。2.2 基于AT89C51的頻率計(jì)設(shè)計(jì)基于AT89C51的頻率計(jì)由信號(hào)轉(zhuǎn)換電路、分頻處理電路、數(shù)據(jù)選擇電路、單片機(jī)控制電路、顯示電路組成,其整體結(jié)構(gòu)框圖如圖2-2所示。AT89C51液晶顯示被測(cè)信號(hào)信號(hào)轉(zhuǎn)換(過(guò)零比較)分頻處理數(shù)據(jù)選擇器圖2-2 基于AT89C51的頻率計(jì)系統(tǒng)設(shè)計(jì)框圖測(cè)量一個(gè)信號(hào)的頻率有兩種方法:第一種是計(jì)數(shù)法,用基準(zhǔn)信號(hào)去測(cè)量被測(cè)信號(hào)的高電平持續(xù)的時(shí)間,然后轉(zhuǎn)換成被測(cè)信號(hào)的頻

10、率。第二種是計(jì)時(shí)法,計(jì)算在基準(zhǔn)信號(hào)高電平期間通過(guò)的被測(cè)信號(hào)個(gè)數(shù)。根據(jù)設(shè)計(jì)要求測(cè)量10Hz10KHz的正弦信號(hào),因?yàn)樵趩纹瑱C(jī)計(jì)數(shù)中只能對(duì)脈沖波進(jìn)行計(jì)數(shù),首先要將正弦信號(hào)通過(guò)過(guò)零比較轉(zhuǎn)換成方波信號(hào),然后變成測(cè)量方波信號(hào)的頻率。在本設(shè)計(jì)中采用的是計(jì)數(shù)法,當(dāng)信號(hào)頻率超過(guò)1KHz的時(shí)候測(cè)量精度將超出測(cè)量極度要求,所以當(dāng)被測(cè)信號(hào)的頻率高于1KHz的時(shí)候需要將被測(cè)信號(hào)進(jìn)行分頻處理直到達(dá)到設(shè)計(jì)的精度要求。根據(jù)設(shè)計(jì)要求用單片機(jī)的內(nèi)部定時(shí)器產(chǎn)生基準(zhǔn)信號(hào),由外部中斷輸入被測(cè)信號(hào),通過(guò)定時(shí)方式計(jì)算被測(cè)信號(hào)的高電平持續(xù)時(shí)間。通過(guò)單片機(jī)計(jì)算得出結(jié)果,最后由1602液晶顯示器顯示測(cè)量結(jié)果。2.3 方案的可行性和優(yōu)點(diǎn)基于集成

11、電路的簡(jiǎn)易數(shù)字頻率計(jì),由555定時(shí)器、RC阻容件構(gòu)成多諧振蕩器作為時(shí)基電路,由于被測(cè)信號(hào)范圍為10Hz10KHz,所以將頻率分為幾檔:多諧振蕩器經(jīng)二級(jí)10分頻后,可提取應(yīng)檔位變化所需的時(shí)間1s、0.1s、0.01s。在電路中引進(jìn)電位器來(lái)調(diào)節(jié)震蕩器產(chǎn)生的頻率。在閘門(mén)導(dǎo)通情況下,開(kāi)始計(jì)數(shù)被測(cè)信號(hào)中有多少個(gè)上升沿,使用數(shù)碼管顯示輸出?;贏T89C51的頻率計(jì),基準(zhǔn)頻率由單片機(jī)內(nèi)部的定時(shí)器產(chǎn)生,被測(cè)正弦信號(hào)經(jīng)過(guò)過(guò)零比較器變?yōu)榉讲ㄐ盘?hào),經(jīng)過(guò)分頻處理后,通過(guò)數(shù)據(jù)選擇電路將被測(cè)信號(hào)輸入到單片機(jī)的P3.2口,通過(guò)定時(shí)方式計(jì)算被測(cè)信號(hào)的高電平持續(xù)時(shí)間,由單片機(jī)分析是否分頻以及分頻次數(shù),并由P2.0口輸出到液晶

12、顯示1602顯示。對(duì)比以上兩種方案,前一方案由555構(gòu)成的振蕩器輸出方波信號(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ì)的最終方案。第3章 頻率計(jì)電路的工作原理3.1 單元電路工作原理硬件電路主要由信號(hào)轉(zhuǎn)換電路、分頻電路、數(shù)據(jù)選擇電路、單片機(jī)

13、硬件電路和顯示電路五部分組成,現(xiàn)在對(duì)硬件電路各組成部分進(jìn)行電路設(shè)計(jì)。3.1.1 信號(hào)轉(zhuǎn)換電路電路要求測(cè)量為峰值+5v的正弦信號(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所示。圖3-1 信號(hào)轉(zhuǎn)換電路當(dāng)反相端參考電壓為零,則輸入信號(hào)每次過(guò)零時(shí),輸出電壓產(chǎn)生一次跳變,從一個(gè)電平變到另一個(gè)電平,這種比較器稱(chēng)為過(guò)零比較器,將正弦信號(hào)轉(zhuǎn)換成方波信號(hào)用過(guò)零比較電路實(shí)現(xiàn)。在圖3-1的同相輸入端輸入正弦信號(hào),由于在U1的正半周,U1>0,則UO=UOH;在U1的負(fù)半周,U1<0,則UO=UOL;

14、因此輸出波形為方波(這種高、低電平各占周期時(shí)間一半的矩形波稱(chēng)為方波),其輸出幅度與電源電壓和運(yùn)放的最大輸出電壓有關(guān),因此在正弦信號(hào)通過(guò)LM833N與零電平比較,電壓大于零的時(shí)候輸出LM833N的正電源+5v,電壓小于零的時(shí)候輸出負(fù)電源0v。3.1.2 分頻電路為了滿(mǎn)足設(shè)計(jì)精度要求,當(dāng)外部被測(cè)信號(hào)頻率高于1KHz時(shí),由于受單片機(jī)基準(zhǔn)頻率1MHz的限制,會(huì)使計(jì)數(shù)器的計(jì)數(shù)個(gè)數(shù)不精確,從而使得輸出頻率不精確。為了避免這種情況的發(fā)生,通過(guò)外部電路進(jìn)行分頻處理,分頻電路采用十進(jìn)制的計(jì)數(shù)器74HC4017來(lái)分頻。74HC4017引腳圖如圖3-2所示。圖3-2 74HC4017引腳圖74HC4017的12腳C

15、O,作為進(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è)譯碼輸出端Q0Q9,它隨時(shí)鐘脈沖的輸入而依次出現(xiàn)高電平。由74HC4017構(gòu)成的分頻電路圖如圖3-3所示。圖3-3 分頻電路由圖知,74HC4017工作的時(shí)鐘信號(hào)來(lái)自信號(hào)轉(zhuǎn)換電路中過(guò)零比較器的輸出,當(dāng)被測(cè)正弦信號(hào)經(jīng)信號(hào)轉(zhuǎn)換電路脈沖個(gè)數(shù)達(dá)到10個(gè)時(shí),74HC4017產(chǎn)生溢出,CO端輸出

16、頻率為輸入頻率的1/10,達(dá)到十分頻的作用。當(dāng)輸入信號(hào)的頻率高于1KHz時(shí),就需要將分頻處理后的輸入信號(hào)輸入到數(shù)據(jù)選擇電路,由于題目要求測(cè)量的輸入頻率最高為10KHz,用一個(gè)74HC4017即可以實(shí)現(xiàn)設(shè)計(jì)要求。3.1.3 數(shù)據(jù)選擇電路被測(cè)信號(hào)經(jīng)過(guò)轉(zhuǎn)換電路,一路輸入到數(shù)據(jù)選擇電器的數(shù)據(jù)輸入端X0,另一路經(jīng)過(guò)分頻電路輸入到數(shù)據(jù)選擇器的數(shù)據(jù)輸入端X1,由數(shù)據(jù)選擇電路來(lái)選擇由不同的輸入信號(hào)輸出到單片機(jī)的P3.2口,這里選用8選1數(shù)據(jù)選擇器74LS151來(lái)實(shí)現(xiàn)數(shù)據(jù)選擇,它的真值表如表3-1所示。表3-1 74LS151真值表控制端地址輸入輸出C B AY100000000X X X0 0 00 0 10

17、 1 00 1 11 0 01 0 11 1 01 1 10X0X1X2X3X4X5X6X7174LS151作為數(shù)據(jù)選擇器,它有3個(gè)地址輸入端A、B、C,8個(gè)數(shù)據(jù)輸入端X0X7,兩個(gè)互補(bǔ)的數(shù)據(jù)輸出端Y和,還有一個(gè)控制輸入端。從功能表可以看出,低電平有效。當(dāng)=1時(shí),電路處于禁止?fàn)顟B(tài),Y始終為0;當(dāng)=0時(shí),電路處于工作狀態(tài),由地址輸入端A、B、C的狀態(tài)決定哪一路信號(hào)送到Y(jié)和輸出。根據(jù)設(shè)計(jì)要求可以用74LS151來(lái)選擇分頻次數(shù)。其具體電路如圖3-4所示。圖3-4 數(shù)據(jù)選擇電路將74LS151的端接地,單片機(jī)P2.0、P2.1、P2.2口輸入到74LS151的A、B、C三個(gè)地址輸入端,在本設(shè)計(jì)中選擇X

18、0或X1中某一路被測(cè)信號(hào)輸入,并由Y輸入到單片機(jī)的外部中斷P3.2口。通過(guò)程序?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)頻率小于500次,此時(shí)A、B、C的值為1、0、0,即選擇由數(shù)據(jù)輸入端X1輸入。3.1.4 單片機(jī)硬件系統(tǒng)設(shè)計(jì)單片機(jī)作為控制系統(tǒng)和計(jì)數(shù)器,是本次設(shè)計(jì)的最重要的部分,AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)產(chǎn)生,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置用8位

19、中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C51單片機(jī)可提供許多高性?xún)r(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域,它的引腳功能如下。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),

20、將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻 拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存 儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器 的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口

21、管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下所示P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 (外部中斷0)P3.3 (外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 (外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7 (外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST

22、腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次有效

23、。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。/VPP:當(dāng)保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000HFFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),將內(nèi)部鎖定為RESET;當(dāng)端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。單片機(jī)構(gòu)成的硬件電路如圖3-5所示。圖3-5 單片機(jī)硬件系統(tǒng)在AT89C51單片機(jī)中,有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端,這個(gè)放大器與

24、作為反饋元件的片外石英晶體一起構(gòu)成自激振蕩器。12MHz石英晶體振蕩器及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1、C2的大小沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難以程序及溫度穩(wěn)定性,通常C1、C2使用電容使用20PF40PF,本設(shè)計(jì)中使用的是30PF的電容器。單片機(jī)的P3.2口接收來(lái)自數(shù)據(jù)選擇器Y的被測(cè)信號(hào);P0口接液晶顯示器的數(shù)據(jù)輸入端,ALE,P0.0,P0.1通過(guò)外接控制電路連接到液晶顯示器的控制端;單片機(jī)的RST信號(hào)輸入由復(fù)位電路控制,該復(fù)位電路由一個(gè)按鍵開(kāi)關(guān)和一個(gè)4.7K電阻組成,當(dāng)復(fù)位電路開(kāi)關(guān)按下時(shí),單

25、片機(jī)RST端變?yōu)楦唠娖?,單片機(jī)開(kāi)始工作。當(dāng)開(kāi)關(guān)斷開(kāi)時(shí)單片機(jī)RST端變?yōu)榈碗娖剑瑔纹瑱C(jī)停止工作。3.1.5 顯示電路由單片機(jī)的P0口輸出數(shù)據(jù)到液晶顯示器的數(shù)據(jù)輸入端,顯示電路由液晶顯示器1602、八D鎖存器74LS373和一個(gè)與非門(mén)組成,它的具體電路如圖3-6所示。圖3-6 顯示電路在八D鎖存器74LS373中,當(dāng)為高電平時(shí),Q0Q7呈高阻態(tài),既不驅(qū)動(dòng)總線,也不是總線的負(fù)載,但鎖存器內(nèi)部的邏輯操作不受影響。當(dāng)鎖存允許端LE為高電平時(shí),Q隨數(shù)據(jù)D而變。當(dāng)LE為低電平時(shí),Q被鎖存在已建立的數(shù)據(jù)電平中。由單片機(jī)的P0口輸出數(shù)據(jù)到液晶顯示器的數(shù)據(jù)輸入端D0D7,液晶顯示器的工作方式由RS、RW、E控制,

26、當(dāng)液晶顯示器1602的D0、D1端有信號(hào)輸入時(shí),液晶顯示器的D0、D1信號(hào)輸入到八D鎖存器74LS373輸入端,通過(guò)由Q0、Q1端分別輸出到液晶顯示器的RS、RW端,單片機(jī)的P3.6、P3.7口輸入到與非門(mén)74LS00,由74LS00的輸出端輸入到液晶顯示器的E端。LCD控制器的信號(hào)功能如表3-2所示。表3-2 LCD控制器的信號(hào)功能表RSRWE功能00下降沿寫(xiě)指令代碼01高電平讀忙標(biāo)志和AC值10下降沿寫(xiě)數(shù)據(jù)11高電平讀數(shù)據(jù)3.2 基于AT89C51的頻率計(jì)總體硬件電路圖根據(jù)以上單元電路所得到的總體電路,如圖3-7所示。圖3-7 基于AT89C51的頻率計(jì)總體電路圖根據(jù)設(shè)計(jì)要求頻率范圍是10

27、Hz10KHz,當(dāng)頻率為10Hz時(shí),T=100000us,高電平為50000us,0.1%的誤差為100us,由單片機(jī)產(chǎn)生的基準(zhǔn)頻率為1MHz,T0=1us,最大誤差為1us,計(jì)數(shù)個(gè)數(shù)為50000(方式1),滿(mǎn)足設(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í)就滿(mǎn)足要求了。最后得到的頻率f=,其中n為計(jì)得的脈沖個(gè)數(shù),i為分頻的次數(shù)。被測(cè)正弦信號(hào)經(jīng)過(guò)過(guò)零比較器,轉(zhuǎn)換成方波信

28、號(hào),一路直接輸入到數(shù)據(jù)選擇電器的數(shù)據(jù)輸入端X0,另一路經(jīng)過(guò)分頻電路輸入到數(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)頻率小于500次,此時(shí)A、B、C的值為0、0、1,即選擇由數(shù)據(jù)輸入端X1輸入,經(jīng)過(guò)單片機(jī)內(nèi)部計(jì)算后,由1602液晶顯示器顯示信號(hào)頻率。第4章 基于AT89C51頻率計(jì)的軟件設(shè)計(jì)主程序首先對(duì)系統(tǒng)環(huán)境初始化,設(shè)置分頻選通信號(hào)P2=0x00,選通0通道。設(shè)置T0工作方式,采用硬件啟

29、動(dòng)方式,GATE=1,當(dāng)INT0和TR0同時(shí)為1時(shí)啟動(dòng)計(jì)時(shí),計(jì)數(shù)方式為方式1(16位),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。其示意圖如圖4-1所示,被測(cè)脈沖INT0基準(zhǔn)脈沖T0等待啟動(dòng)T0,TR0=1啟動(dòng)計(jì)數(shù)停止計(jì)數(shù),讀出計(jì)數(shù)個(gè)數(shù)N個(gè)脈沖圖4-1 計(jì)數(shù)工作示意圖主

30、程序流程圖如圖4-2所示。開(kāi)始初始化數(shù)據(jù)選擇信號(hào)系統(tǒng)初始化讀出計(jì)數(shù)個(gè)數(shù)nn<=500變換數(shù)據(jù)選擇通道,計(jì)算分頻次數(shù)iY顯示結(jié)果N圖4-2 主程序流程圖 程序清單:主程序:#include<reg51.h>#include<stdio.h>#include<lcd.c>#include<math.h>sbit p32=P32;main() unsigned int period,k,j,i=0; float f,m; char buff30; init_LCD(); P2=0x00; while(1) TMOD=0X09; TH0=0; TL

31、0=0; while(p32=1); TR0=1; while(p32=0); while(p32=1); TR0=0; period=TH0*256+TL0; while(period<=500) /*判斷是否分頻及計(jì)算分頻次數(shù)*/ P2+;i+;period=period*10; if(i=6)P2=0x00;break; k=pow(10,i); /* 10的i次方*/ f=(1000000.0/(2*period)*k; if(f<1000) sprintf(buff,"f=%5.2fHZ",f); else m=f/1000.0; sprintf(bu

32、ff,"f=%5.2fKHZ",m); lcdprintf(0,0,buff); 顯示子程序:#include <lcd.h>char code CGRAM_TABLE=0x08,0x0F,0x12,0x0F,0x0A,0x1F,0x02,0x02,/;年0x0F,0x09,0x0F,0x09,0x0F,0x09,0x11,0x00,/;月0x0F,0x09,0x09,0x0F,0x0,0x09,0x0F,0x00; /;日void delay() unsigned char i; for(i=0;i<250;i+);void init_LCD() uns

33、igned char i; WR_COM=0x38; /設(shè)置為8位數(shù)據(jù)總線,16*2,5*7點(diǎn)陣 for(i=0;i<100;i+) delay(); WR_COM=0x01; /清屏幕 for(i=0;i<50;i+) delay(); WR_COM=0x06; /光標(biāo)移動(dòng),顯示區(qū)不移動(dòng),讀寫(xiě)操作后,地址計(jì)數(shù)器AC加1 for(i=0;i<50;i+) delay(); WR_COM=0x0c; for(i=0;i<50;i+) delay();void init_cgram() unsigned char i; /;設(shè)置自定義字符 WR_COM=0x40; for(

34、i=0;i<24;i+) WR_DAT=CGRAM_TABLEi; for(i=0;i<40;i+) delay();void PutChar(char t) WR_DAT=t; delay(); delay(); void clr_lcd() WR_COM=0x01; delay(); delay();void lcdprintf(char x,char y,char *s) /clr_lcd(); if(y>1)y=1; WR_COM=(y*0x40+x)|0x80; delay(); delay(); while(*s!=0) WR_DAT=*s; s+; delay(); delay(); 第5章 電路的仿真本次基于AT89C51單片機(jī)頻率計(jì)的電路仿真整體圖如圖5-1所示:圖5-1電路仿真整體圖總 結(jié)隨著畢業(yè)日子的到來(lái),我的畢業(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ì)的過(guò)程做一下簡(jiǎn)單的總結(jié)。頻率計(jì)在我們信號(hào)測(cè)量方面幾乎都可以看到它的身影。拿到設(shè)計(jì)課題,通過(guò)一個(gè)星期的時(shí)間收集資料后,我已經(jīng)對(duì)我所要設(shè)計(jì)的基于AT89C51的單片機(jī)有了一定了的認(rèn)識(shí),也開(kāi)始研究設(shè)計(jì)方向和方法。測(cè)量一個(gè)信號(hào)的頻率

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論