基于PIC16F877A的方波信號發(fā)生器電路設(shè)計
在數(shù)字電路系統(tǒng)中,方波是經(jīng)常使用的信號源,具有非常廣泛的應(yīng)用范圍。在普通的電路設(shè)計中,經(jīng)常利用555定時器構(gòu)成多諧振蕩器產(chǎn)生方波信號,雖然比較簡單,但頻率準(zhǔn)確精度不高,若要產(chǎn)生不同頻率的方波信號,更換電阻和電容又比較麻煩。基于這個出發(fā)點,本文采用單片機(jī)進(jìn)行電路設(shè)計,利用軟件編程控制代替硬件的更換,可靈活簡單地產(chǎn)生不同頻率的方波信號,而且電路更為簡單、頻率更準(zhǔn)確、性能更穩(wěn)定。
1 軟件平臺及芯片介紹
目前的單片機(jī)有很多種型號,有Intel公司的8051系列、Motorola公司的M68系列、ATMEL公司的AT系列、Microchip公司的PIC系列等等。本文主要介紹Microchip公司開發(fā)的基于MPLAB-IDE 6.62集成開發(fā)環(huán)境的PIC單片機(jī)的電路設(shè)計。MPLAB-IDE集成開發(fā)軟件是專門設(shè)計對PIC系列單片機(jī)進(jìn)行文本編輯,在線調(diào)方式及編譯的開發(fā)工具。PIC芯片采用PIC16F877A,40腳封裝、具有5個輸入/輸出端口,每個端口中的每條引腳由用戶按需要單獨編程,設(shè)定為輸出引腳或輸入引腳。
2 方波信號發(fā)生器電路設(shè)計
2.1 硬件電路分析
利用PIC16F877A中的定時器/計數(shù)器TMR0模塊作為硬件定時器控制端口引腳RC0上產(chǎn)生不同頻率的方波。由于TMR0為8位寬,有一個可選的預(yù)分頻器,故可產(chǎn)生8種方波信號;同時通過設(shè)置不同的初始值,可產(chǎn)生不同的頻率。本設(shè)計初始值設(shè)為131,計數(shù)125個指令周期產(chǎn)生溢出,即TMR0從計數(shù)到開始溢出需要125us。通過改變分頻比,來達(dá)到產(chǎn)生不同頻率的目的。TMR0溢出一次就使端口引腳RC0的輸出電平反轉(zhuǎn)一次,每反轉(zhuǎn)兩次引腳電平就形成方波信號的一個周期。當(dāng)分頻比為1:256時,TMRO的延時為125 us×256=32000 us,方波信號周期為32000 us×2=64000 us=64 ms,對應(yīng)的方波信號頻率為最低檔的15.625 Hz;當(dāng)分頻比為1:2時,TMR0的延時為125 us×2=250 us,方波信號周期為250 us×2=500 us=0.5 ms,對應(yīng)的方波信號頻率為最高檔的2000 Hz。改變TMR0的初始值,可分別產(chǎn)生15.625 Hz,32.25 Hz,62.5 Hz,125 Hz,250 Hz,500 Hz,1000 Hz,2000 Hz 8種方波信號。其工作原理如圖1所示,接在端口引腳RB0上的按鈕開關(guān)SW1作為循環(huán)切換控制開關(guān);按在MCLR引腳上的按鈕開關(guān)SW2用作單片機(jī)復(fù)位開關(guān);端口RC0作為方波信號輸出,并接上一個發(fā)光二極管和蜂嗚器作為輸出指示;R3和C1構(gòu)成RC振蕩方式,接在OSC1作為單片機(jī)系統(tǒng)時鐘的輸入,其優(yōu)點是經(jīng)濟(jì)、節(jié)省成本。
圖1 硬件電路工作原理示意圖
2.2 軟件設(shè)計
在PIC16F877A單片機(jī)中,與定時器/計數(shù)器TMR0相關(guān)的特殊功能寄存器有4個,累加計數(shù)寄存器TMR0、中斷控制寄存器INTCON、選項寄存器OPTION_REG和端口RA方向控制寄存器TRISA,其中選項寄存器OPTION_REG的各位含義為:
當(dāng)其第5位(TOCS)置1時,TMR0模塊被設(shè)置為計數(shù)器模式,其分頻比由OPTION_REG的D2:DO(PS2~PS0)決定,分別為1:2,1:4,1:8,1:16,1:32,1:64,1:128,1:256,由此可產(chǎn)生8種分頻信號,即8種方波信號。其源程序采用匯編編語言編寫,如下:
程序清單fbxh.asm
LIST P=16F877A
INCLUDE "P16F877A.INC"
TMR0 EQU 01H
;定時器/計數(shù)器0寄存器地址
STATUS EQU 3H
OPTION_REG EQU 81H
OPTION_B EQU 22H
INTCON EQU 0BH
PORTB EQU 6H ;端口B的地址
TRISB EQU 86H
PORTC EQU 7H ;端口C的地址
TRISC EQU 87H
TMR0B EQU D'256'-D'125'
;定義TMR0初值
RP0 EQU 5H
電路相關(guān)文章:電路分析基礎(chǔ)
負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理 分頻器相關(guān)文章:分頻器原理 塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理 離子色譜儀相關(guān)文章:離子色譜儀原理
評論