的原理,很容易想到利用51單片機(jī)的T0、T1兩個(gè)定時(shí)/計(jì)數(shù)器,一個(gè)用來定時(shí),另一個(gè)用來計(jì)數(shù)。
1.3 設(shè)計(jì)課題總體方案介紹及工作原理說明
本次設(shè)計(jì)主要分成兩大方面:硬件電路的設(shè)計(jì)和軟件程序的設(shè)計(jì)。硬件電路方面,采用單片機(jī)最小系統(tǒng),便可實(shí)現(xiàn)課題要求。程序的設(shè)計(jì)方面,本人采用C語言編寫程序。
1.3.1 數(shù)字頻率計(jì)總體方案設(shè)計(jì)
本方案主要以單片機(jī)為核心,利用單片機(jī)的計(jì)數(shù)、定時(shí)功能來實(shí)現(xiàn)頻率的計(jì)數(shù)并且利用單片機(jī)的動(dòng)態(tài)掃描法把測(cè)出的數(shù)據(jù)送到數(shù)字顯示電路顯示。其原理框圖如圖2所示:
圖1-2 單片機(jī)原理框圖
本方案主要以單片機(jī)為核心,利用單片機(jī)的計(jì)數(shù)器和定時(shí)器的功能對(duì)被測(cè)信號(hào)進(jìn)行計(jì)數(shù)。編寫相應(yīng)的程序可以使單片機(jī)自動(dòng)調(diào)節(jié)測(cè)量的量程,并把測(cè)出的頻率數(shù)據(jù)送到顯示電路顯示。
2 硬件系統(tǒng)的設(shè)計(jì)
2.1 硬件系統(tǒng)各模塊功能簡(jiǎn)要介紹
本次課程設(shè)計(jì)用到的硬件電路有七個(gè)部分組成(見表2-1和圖2)電路圖見附錄A。
表2-1 硬件電路說明
| |
| |
| |
| |
| 給單片機(jī)提供時(shí)鐘信號(hào),12MHz |
| |
| |
| |
2.2 硬件電路主要部分的介紹
2.2.1數(shù)碼管電路

圖2-1 數(shù)碼管電路
如圖2所示數(shù)碼管電路采用了兩個(gè)4位一體共陽數(shù)碼管,P0口接為段控口,電阻的作用是限流,P2口為位控口控制三極管通和斷,當(dāng)其為低電平時(shí)三極管接通,相應(yīng)的數(shù)碼管顯示。
2.2.2 獨(dú)立鍵盤電路
圖2-2 獨(dú)立鍵盤電路
如圖2,獨(dú)立鍵盤電路采用按鍵低電平有效。接P1口,P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。
2.2.3復(fù)位電路
圖2-3 復(fù)位電路
如圖3,復(fù)位電路采用手動(dòng)復(fù)位的方式,利用一個(gè)電容電壓的不可突變性使得復(fù)位信號(hào)能夠維持2個(gè)周期的高電平。
2.2.4 晶振電路
圖2-4 晶振電路
如圖2-4,當(dāng)MCS-51內(nèi)部的定時(shí)器/計(jì)數(shù)器被選定為定時(shí)器工作模式時(shí),計(jì)數(shù)輸入信號(hào)是內(nèi)部時(shí)鐘脈沖,每個(gè)機(jī)器周期產(chǎn)生一個(gè)脈沖使計(jì)數(shù)器增1,因此定時(shí)器/計(jì)數(shù)器的輸入脈沖的周期與機(jī)器周期一樣,輸入脈沖的頻率為時(shí)鐘振蕩的1/12。當(dāng)采用12MHz頻率的晶體時(shí),計(jì)數(shù)速率為1MHz,輸入脈沖的周期間隔為1us。當(dāng)定時(shí)器/計(jì)數(shù)器用作計(jì)數(shù)器時(shí),計(jì)數(shù)脈沖來自相應(yīng)的外部輸入引腳T0和T1。當(dāng)輸入信號(hào)產(chǎn)生由1至0的負(fù)跳變時(shí),計(jì)數(shù)器的值增1,對(duì)外部輸入引腳進(jìn)行采樣。
2.2.5 電源電路
圖2-5 電源電路
如圖2-5,采用2種供電方式,一種為USB供電,另一種是外接12V電源。
2.2.6下載口電路
如圖2-6下載口電路
如圖2-6所示,用PC的USB口供電,通過下載口把程序?qū)胄酒?/font>
2.2.7 AT89S52芯片
圖2-7 AT89C52芯片
如圖2-7,主控制器采用AT89C52,是ATMEL公司生產(chǎn)的一款性能穩(wěn)定的8位單片機(jī)。AT89C52具有1個(gè)8KB的Flash程序存儲(chǔ)器,1個(gè)256字節(jié)的RAM,4個(gè)8位的雙向可位尋址I/O端口,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,3個(gè)16位的定時(shí)/計(jì)數(shù)器及一個(gè)串行口和1個(gè)6向量二級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶體振蕩器及時(shí)鐘電路。
3 軟件系統(tǒng)的設(shè)計(jì)
3.1 使用單片機(jī)資源的情況
內(nèi)部RAM:20H單元存鍵碼;40H--47H單元為顯示頻率、脈寬、占空比的緩沖區(qū);30H--37H單元為顯示學(xué)號(hào)信息的緩沖區(qū);21H--24H、60H和66H為間接存數(shù)區(qū);SP指向70H單元;使用了通用寄存器區(qū)的第0組和第2組通用寄存器組;使用了專用寄存器區(qū)中的A、IE、P0、P2、P3,其中P0口為段控口,P2口為位控口,P3.4口作為頻率待測(cè)信號(hào)的輸入口,P3.2為待測(cè)周期、脈寬、占空比信號(hào)的輸入口。
3.2 軟件系統(tǒng)各模塊功能簡(jiǎn)要介紹
程序中主要的子程序?yàn)椋簻y(cè)量頻率程序,測(cè)量周期程序,測(cè)量脈寬程序,測(cè)量占空比程序,其次有把二進(jìn)制轉(zhuǎn)化為是十進(jìn)制的進(jìn)制轉(zhuǎn)化程序和顯示程序。測(cè)量頻率程序,測(cè)量周期程序,測(cè)量脈寬程序,測(cè)量占空比子程序在下一節(jié)中會(huì)介紹,而其它子程序相對(duì)比較簡(jiǎn)單,本節(jié)主要介紹進(jìn)制轉(zhuǎn)化子程序。
進(jìn)制轉(zhuǎn)化子程序是利用對(duì)10循環(huán)求取余數(shù)的方法,把二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù)。其核心是“移位相減”即把被除數(shù)向余數(shù)單元左移,然后把余數(shù)和除數(shù)想減,然后把被除數(shù)移位后騰出來的低位存放商,這樣除法完成后,被除數(shù)已經(jīng)全部轉(zhuǎn)移到余數(shù)單元并逐次被減得到最后的余數(shù),而被除數(shù)單元被商代替。
3.3 設(shè)計(jì)原理簡(jiǎn)介
本次設(shè)計(jì)的重點(diǎn)的合理利用定時(shí)/計(jì)數(shù)器。
測(cè)量頻率:使用T0的計(jì)數(shù)功能,T1的計(jì)時(shí)功能,當(dāng)它們同時(shí)工作時(shí)如計(jì)時(shí)時(shí)間為1S,則T0中計(jì)的數(shù)即為頻率。
測(cè)量周期:此處定義周期為信號(hào)兩個(gè)相鄰上升沿的時(shí)間差,因此定時(shí)器從第一個(gè)上升沿開始計(jì)時(shí)到第二個(gè)上升沿結(jié)束計(jì)時(shí)即可測(cè)得周期。
因?yàn)闇y(cè)量脈寬和占空比的原理和測(cè)量周期的一致,此處便不再重復(fù)。
3.4 軟件系統(tǒng)程序流程框圖
4 設(shè)計(jì)誤差分析及總結(jié)
4.1 誤差分析
由于程序中所用的定時(shí)/計(jì)數(shù)器均在查詢的方式下工作,加上實(shí)物晶振頻率的誤差,測(cè)量誤差在所難免,而且由于受程序和單片機(jī)本身所限,對(duì)測(cè)量量也有一定的要求。
由于系統(tǒng)的晶振頻率為12MHz所以單片機(jī)的機(jī)器周期T1為1uS,定時(shí)/計(jì)數(shù)器用的是查詢方式,故Tmin=2T1,Tmax=1S,而受顯示數(shù)碼位控所限,fmax=65535Hz綜上,對(duì)待測(cè)頻率信號(hào)打要求是:

。對(duì)待測(cè)周期信號(hào)的要求是

。對(duì)待測(cè)脈寬信號(hào)的要求是:

。由于占空比程序使用的是定時(shí)/計(jì)數(shù)器的工作方式2,故不同的待測(cè)信號(hào),要求不同,不符合測(cè)量要求的信號(hào),將會(huì)出現(xiàn)較大的誤差。
在測(cè)量范圍內(nèi)的誤差,主要由晶振系統(tǒng)和定時(shí)器查詢程序所占的時(shí)間產(chǎn)生,其中最大的是頻率的誤差,因此要靠調(diào)節(jié)延時(shí)程序的初值,減小誤差。
4.2 頻率計(jì)的使用說明
待測(cè)頻率信號(hào)從P3.4口引入,待測(cè)周期信號(hào)和待測(cè)脈寬及占空比信號(hào)從P3.2口引入。測(cè)量不同的待測(cè)信號(hào)之前要按復(fù)位鍵S1手動(dòng)復(fù)位。S2鍵測(cè)周期,S3鍵測(cè)頻率,S4鍵測(cè)脈寬,S5鍵測(cè)占空比,按S6顯示學(xué)號(hào)信息。
4.3 實(shí)物的運(yùn)行分析
用keil4編程,把生成的.hex文件通過下載口導(dǎo)入單片機(jī),測(cè)得數(shù)據(jù)如表4-1所示:
表4-1 實(shí)物的運(yùn)行分析
由表4-1可知,實(shí)物測(cè)量誤差較小,完成設(shè)計(jì)任務(wù)。
4.4 設(shè)計(jì)總結(jié)
基于單片機(jī)的頻率計(jì)的設(shè)計(jì)涉及到計(jì)算機(jī)的硬軟件知識(shí),通過對(duì)系統(tǒng)的設(shè)計(jì)和調(diào)試,本次設(shè)計(jì)主要完成了以下工作:提出基于單片機(jī)的數(shù)字頻率計(jì)設(shè)計(jì)的基本方案;完成了硬件電路設(shè)計(jì)和軟件電路的設(shè)計(jì);編譯了頻率計(jì)的控制程序、數(shù)碼轉(zhuǎn)化程序、數(shù)據(jù)顯示程序等系統(tǒng)軟件程序;對(duì)硬件電路進(jìn)行了誤差分析。
通過本次課程設(shè)計(jì),使我更加熟悉了單片機(jī)最小系統(tǒng),在設(shè)計(jì)的過程中,難點(diǎn)首先是程序的編寫,這使我不得不把教材完整的看一遍。然后是求余程序的編寫,移位相減解決了這個(gè)問題。再次是對(duì)頻率連續(xù)可測(cè)量并使顯示不間斷,在延時(shí)程序中調(diào)用顯示程序使這個(gè)問題得到了解決。其實(shí)設(shè)計(jì)程序中最主要的問題就是程序的循環(huán)了,這就要有清晰的思路,課程設(shè)計(jì)本身就是一個(gè)發(fā)現(xiàn)問題解決問題的平臺(tái),只是這一次我利用這個(gè)平臺(tái)發(fā)現(xiàn)了一些顯而易見的問題,本次設(shè)計(jì)暴露的我課本知識(shí)掌握不牢的缺點(diǎn),今后應(yīng)當(dāng)努力學(xué)習(xí)基礎(chǔ)知識(shí)。
致 謝
在這實(shí)習(xí)的兩周中我了解到了很多書本上未曾有過的東西,在我多次陷入困境時(shí)找到了出路,從而使我們能輕松完成此次設(shè)計(jì)同時(shí)結(jié)合實(shí)踐操作,可以體現(xiàn)現(xiàn)代化的設(shè)計(jì)方法和理念,使電子課程設(shè)計(jì)在培養(yǎng)我們能力方面得到比較大的提高。通過此次的課程設(shè)計(jì)我對(duì)數(shù)字電子課本上的基本知識(shí)有了更深刻的領(lǐng)悟和掌握,由于我設(shè)計(jì)的是數(shù)字頻率計(jì)涉及的知識(shí)面很廣所以我查閱了很多的書籍并上網(wǎng)查閱了相關(guān)的知識(shí)才完成了這份課程設(shè)計(jì),在這個(gè)過程中遇到了種種的問題但是通過老師和同學(xué)的幫助以及查閱書籍最終解決了問題。謝學(xué)校和老師對(duì)我的培養(yǎng),給我這個(gè)自己動(dòng)手的機(jī)會(huì)和空間。經(jīng)過一段時(shí)間,終于在完成了設(shè)計(jì),對(duì)自己的能力有了很大的提升。在此我要感謝每一個(gè)幫助過我的人。在此我要感謝我的老師和同學(xué),在我最困難的時(shí)候伸出援助之手,用他們的智慧幫我解決各個(gè)難題。
總而言之,感謝每一位關(guān)心過我的人,他們今天對(duì)我的付出,成為我將來工作的動(dòng)力。
參考文獻(xiàn)
1.馬忠梅,單片機(jī)的C語言Windows環(huán)境編程寶典[M], 北京:北京航空航天大學(xué)出版社,2003.6
2.李光飛,單片機(jī)C程序設(shè)計(jì)指導(dǎo)[M],北京:北京航空航天大學(xué)出版社,2003.01
3.李光飛,單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)[M],北京:北京航空航天大學(xué)出版社,2004.9
4.現(xiàn)代電子系統(tǒng)設(shè)計(jì)浙江大學(xué)出版社何小艇主編
5.EDA技術(shù)使用教程科學(xué)出版社潘松編著
6.電子技術(shù)基礎(chǔ)數(shù)字部分康華光高等教育出版社1998年
7.實(shí)用電子電路手冊(cè)高等教育出版社1992年
8.新型集成器件實(shí)用電路楊幫文電子工業(yè)出版社2002年6)電子技術(shù)課程設(shè)計(jì)書艾永樂付子義焦作工學(xué)院電氣系1998年
附錄A
PCB圖
元器件布局圖