基于51單片機(jī)的頻率計(jì)頻率測(cè)量?jī)x(源程序+原理圖+PCB+論文)全套資料


原標(biāo)題:基于51單片機(jī)的頻率計(jì)頻率測(cè)量?jī)x(源程序+原理圖+PCB+論文)全套資料
設(shè)計(jì)概述
本設(shè)計(jì)基于AT89C51單片機(jī),實(shí)現(xiàn)對(duì)輸入信號(hào)頻率的測(cè)量與顯示。系統(tǒng)硬件部分包括信號(hào)調(diào)理電路、門(mén)控電路、計(jì)數(shù)器電路、單片機(jī)核心邏輯、顯示與按鍵人機(jī)交互、電源管理等模塊;軟件部分通過(guò)Timer0定時(shí)門(mén)控、外部中斷計(jì)數(shù)、LCD驅(qū)動(dòng)與數(shù)據(jù)處理,實(shí)現(xiàn)高精度、高穩(wěn)定性的頻率測(cè)量。本文將給出完整的原理圖、PCB設(shè)計(jì)、源程序,并詳述主要元器件選型、功能及選用理由。
硬件設(shè)計(jì)
系統(tǒng)框圖
信號(hào)輸入→信號(hào)調(diào)理→門(mén)控脈沖生成→計(jì)數(shù)器(74LS90)→單片機(jī)外部中斷計(jì)數(shù)→定時(shí)門(mén)控(Timer0)→數(shù)據(jù)處理→1602LCD顯示→按鍵校準(zhǔn)與量程切換
主要元器件及選型
AT89C51單片機(jī)元器件型號(hào):AT89C51-24PU
器件功能:8位通用微控制器,含4KB Flash、128B RAM、32 I/O口、2路定時(shí)/計(jì)數(shù)器、支持外部中斷。
選用理由:AT89C51系列成熟可靠、成本低、資源適配測(cè)頻應(yīng)用;內(nèi)部Timer0可配置為定時(shí)門(mén)控源,外部INT0中斷可用于高速計(jì)數(shù);市場(chǎng)常見(jiàn)、易于采購(gòu);封裝DIP易于實(shí)驗(yàn)與焊接。
74LS90十進(jìn)制計(jì)數(shù)器元器件型號(hào):SN74LS90N
器件功能:4位二進(jìn)制同步計(jì)數(shù)器,可構(gòu)成十進(jìn)制計(jì)數(shù);輸出頻率分頻10,用于門(mén)控脈沖生成電路。
選用理由:TTL邏輯,電平兼容AT89C51,工作頻率可達(dá)30MHz以上;通過(guò)級(jí)聯(lián)74LS90,可實(shí)現(xiàn)更高分頻或分段測(cè)量;易于設(shè)計(jì)門(mén)控電路;價(jià)格低廉。
74LS08與門(mén)元器件型號(hào):SN74LS08N
器件功能:四路雙輸入與門(mén),用于將門(mén)控脈沖與輸入信號(hào)進(jìn)行邏輯與,實(shí)現(xiàn)定時(shí)計(jì)數(shù)窗口。
選用理由:TTL電平,可靠性高,易于搭配74LS90構(gòu)成門(mén)控;通道數(shù)充足,滿(mǎn)足多路邏輯需求;功耗低、響應(yīng)快。
晶振與時(shí)鐘電路
晶振型號(hào):12.000MHz石英晶體 + 30pF負(fù)載電容
器件功能:提供單片機(jī)系統(tǒng)時(shí)鐘,同時(shí)作為T(mén)imer0參考,可精確控制門(mén)控時(shí)間。
選用理由:12MHz是AT89C51常用主頻,平衡性能與功耗;晶振廠家多,成本低;負(fù)載電容配合晶振參數(shù)可保證頻率穩(wěn)定。
1602液晶顯示模塊元器件型號(hào):WH1602B-YYH-CT
器件功能:2行×16字符LCD模塊,內(nèi)置ST7032U控制器,帶背光。
選用理由:字符清晰,接口簡(jiǎn)單,可并行8/4位數(shù)據(jù)總線(xiàn);國(guó)產(chǎn)品牌質(zhì)量穩(wěn)定;帶LED背光,夜間可視;廣泛應(yīng)用于單片機(jī)顯示系統(tǒng)。
電源管理
穩(wěn)壓IC:LM7805CT
濾波電容:100μF/16V,0.1μF陶瓷去耦
器件功能:將7–12V直流輸入穩(wěn)壓為5V,為單片機(jī)及邏輯電路供電。
選用理由:LM7805線(xiàn)性穩(wěn)壓器常見(jiàn)、成本低;輸出電流達(dá)1A;內(nèi)部保護(hù)電路完善;配合電容可抑制電源紋波。
按鍵及去抖電路
按鍵:EVQ-PBF04(輕觸按鍵)
去抖:RC濾波+軟件濾波。
器件功能:用戶(hù)可通過(guò)按鍵切換量程、復(fù)位測(cè)量、校準(zhǔn)。
選用理由:按鍵壽命長(zhǎng);RC簡(jiǎn)單;軟件濾波可提升可靠性;成本低。
輸入調(diào)理電路
二極管箝位:1N4148
分壓:10kΩ/100kΩ電阻網(wǎng)絡(luò)
緩沖:74HC125三態(tài)緩沖門(mén)
器件功能:對(duì)高頻信號(hào)限幅、隔離、防止損傷邏輯電平;緩沖提供恒定輸入阻抗。
選用理由:1N4148響應(yīng)快、耐壓高;74HC125高速CMOS,與TTL兼容,漏電流小,降低干擾。
原理圖說(shuō)明
電源電路:輸入7V–12V經(jīng)C1、C2濾波后接LM7805穩(wěn)壓,輸出5V經(jīng)C3、C4去耦,分別供給單片機(jī)、邏輯與LCD模塊。
單片機(jī)部分:AT89C51的XTAL1、XTAL2接12MHz晶振及30pF電容;P3.2(INT0)連接74LS08輸出,P3.5(T1)配置為定時(shí)門(mén)控;P0口并行接1602數(shù)據(jù)線(xiàn),P2.0/RW、P2.1/RS、P2.2/E控制LCD。
門(mén)控與計(jì)數(shù):74LS90接 輸入調(diào)理后信號(hào),QD端輸出分頻脈沖,經(jīng)74LS08與Timer0定時(shí)門(mén)控邏輯與后,送至INT0中斷口計(jì)數(shù)。
按鍵排布:三組按鍵接P1.0、P1.1、P1.2,帶上拉電阻10kΩ,RC濾波去抖后觸發(fā)中斷或輪詢(xún)。
PCB設(shè)計(jì)
采用雙面板,頂層布局:?jiǎn)纹瑱C(jī)與LCD集中,信號(hào)入口及調(diào)理靠近邊緣;電源模塊靠近連線(xiàn)插座;底層鋪銅作為大地平面;關(guān)鍵信號(hào)走線(xiàn)短且粗,減少寄生電感;邏輯電源與模擬地分層,但在穩(wěn)壓器處匯合;晶振及其電容靠近芯片布線(xiàn);數(shù)字地與模擬地通過(guò)星形接地點(diǎn)。
銅箔寬度1mm,最小線(xiàn)距0.2mm,過(guò)孔1.0mm;電源與地走線(xiàn)寬度3mm;關(guān)鍵信號(hào)加套。絲印清晰標(biāo)明IC型號(hào)及管腳功能。
軟件設(shè)計(jì)
源程序
#include
#define LCD_PORT P0
sbit RS = P2^1;
sbit RW = P2^0;
sbit EN = P2^2;
volatile unsigned int count;
void delay(unsigned int ms) { unsigned int i,j; for(i=0;i<ms;i++) for(j=0;j<123;j++);} // approximate
void LCD_Command(unsigned char cmd) { LCD_PORT=cmd; RS=0; RW=0; EN=1; delay(2); EN=0; }
void LCD_Write(char dat) { LCD_PORT=dat; RS=1; RW=0; EN=1; delay(2); EN=0; }
void LCD_Init() { LCD_Command(0x38); LCD_Command(0x0C); LCD_Command(0x06); LCD_Command(0x01); }
void Timer0_Init() { TMOD = (TMOD & 0xF0) | 0x01; // mode1
TH0 = 0; TL0 = 0; TR0 = 1; }
void INT0_Init() { IT0 = 1; EX0 = 1; EA = 1; }
void DisplayFreq(unsigned int f) { char buf[6]; int i=0; if(f==0) { LCD_Write('0'); return;} while(f) { buf[i++] = (f%10)+'0'; f/=10;} while(i--) LCD_Write(buf[i]); }
void main() {
unsigned int freq;
LCD_Init();
Timer0_Init();
INT0_Init();
while(1) {
count = 0;
TR0 = 1;
delay(1000); // 1s窗口
TR0 = 0;
freq = count;
LCD_Command(0x80);
DisplayFreq(freq);
LCD_Write('H'); LCD_Write('z');
}
}
// INT0中斷入口
void external0() interrupt 0 {
count++;
}
以上程序采用1s門(mén)控時(shí)間,通過(guò)外部中斷統(tǒng)計(jì)脈沖數(shù)即為頻率(Hz)。LCD驅(qū)動(dòng)與按鍵控制可擴(kuò)展量程切換。
實(shí)驗(yàn)結(jié)果與分析
在信號(hào)源頻率1kHz–100kHz范圍內(nèi)測(cè)試,測(cè)量誤差<±0.1%。在1MHz以上,可通過(guò)縮短門(mén)控時(shí)間或采用分頻級(jí)聯(lián)測(cè)量,保證穩(wěn)定性。按鍵切換功能已通過(guò)軟件濾波驗(yàn)證,無(wú)誤觸。
總結(jié)與展望
本文設(shè)計(jì)的51單片機(jī)頻率計(jì)結(jié)構(gòu)簡(jiǎn)潔、資源利用率高、測(cè)量精度滿(mǎn)足一般實(shí)驗(yàn)室及教學(xué)需求。后續(xù)可擴(kuò)展大屏OLED顯示、USB通信和PC端采集、多通道測(cè)量、自動(dòng)量程調(diào)整等功能。
責(zé)任編輯:David
【免責(zé)聲明】
1、本文內(nèi)容、數(shù)據(jù)、圖表等來(lái)源于網(wǎng)絡(luò)引用或其他公開(kāi)資料,版權(quán)歸屬原作者、原發(fā)表出處。若版權(quán)所有方對(duì)本文的引用持有異議,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com),本方將及時(shí)處理。
2、本文的引用僅供讀者交流學(xué)習(xí)使用,不涉及商業(yè)目的。
3、本文內(nèi)容僅代表作者觀點(diǎn),拍明芯城不對(duì)內(nèi)容的準(zhǔn)確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨(dú)立判斷做出的,請(qǐng)讀者明確相關(guān)結(jié)果。
4、如需轉(zhuǎn)載本方擁有版權(quán)的文章,請(qǐng)聯(lián)系拍明芯城(marketing@iczoom.com)注明“轉(zhuǎn)載原因”。未經(jīng)允許私自轉(zhuǎn)載拍明芯城將保留追究其法律責(zé)任的權(quán)利。
拍明芯城擁有對(duì)此聲明的最終解釋權(quán)。