基于S08簡易頻率計設計_第1頁
基于S08簡易頻率計設計_第2頁
基于S08簡易頻率計設計_第3頁
基于S08簡易頻率計設計_第4頁
基于S08簡易頻率計設計_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課程名稱大作業(yè)微控制系統(tǒng)原理課程設計 設計課題: 基于S08的簡易頻率計設計 學院名稱:電氣工程學院專業(yè)班級: 指導教師意見:成績: 簽名: 年 月 日目錄基于S08的簡易頻率計設計I前言2一 頻率計的簡介21.1頻率計概述21.2頻率計發(fā)展與應用21.3頻率計設計內容21.4測頻的原理3二 S08的介紹42.1 S08AW簡介42.2 S08資源介紹42.3 S08AW結構62.4 系統(tǒng)功能引腳72.5 輸入輸出功能引腳72.6 電源電路8三 硬件設計93.1 系統(tǒng)組成及工作原理93.2 頻率測量原理103.3 硬件組成103.4 單片機核心模塊113.5 電壓跟隨和減法電路113.6 模擬

2、開關和電壓比較電路123.7 顯示和控制電路123.8電平轉換電路13四 程序設計144.1 主程序設計144.2 子程序設計154.3調試及結果16參考目錄:16附錄:模擬電路仿真圖17主程序181 前言頻率測量是電子學測量中最為基本的測量之一。由于頻率信號抗干擾性強,易于傳輸,因此可以獲得較高的測量精度。隨著數(shù)字電子技術的發(fā)展,頻率測量成為一項越來越普遍的工作,測頻原理和測頻方法的研究正受到越來越多的關注。一 頻率計的簡介1.1頻率計概述數(shù)字頻率計是計算機、通訊設備、音頻視頻等科研生產(chǎn)領域不可缺少的測量儀器。它是一種用十進制數(shù)字顯示被測信號頻率的數(shù)字測量儀器。它的基本功能是測量正弦信號、方

3、波信號及其他各種單位時間內變化的物理量。在進行模擬、數(shù)字電路的設計、安裝、調試過程中,由于其使用十進制數(shù)顯示,測量迅速,精確度高,顯示直觀,經(jīng)常要用到頻率計。傳統(tǒng)的頻率計采用測頻法測量頻率,通常由組合電路和時序電路等大量的硬件電路組成,產(chǎn)品不但體積大,運行速度慢而且測量低頻信號不準確。本次采用單片機技術設計一種數(shù)字顯示的頻率計,測量準確度高,響應速度快,體積小等優(yōu)點1。1.2頻率計發(fā)展與應用在我國,單片機已不是一個陌生的名詞,它的出現(xiàn)是近代計算機技術的里程碑事件。單片機作為最為典型的嵌入式系統(tǒng),它的成功應用推動了嵌入式系統(tǒng)的發(fā)展。單片機已成為電子系統(tǒng)的中最普遍的應用。單片機作為微型計算機的一個

4、重要分支,其應用范圍很廣,發(fā)展也很快,它已成為在現(xiàn)代電子技術、計算機應用、網(wǎng)絡、通信、自動控制與計量測試、數(shù)據(jù)采集與信號處理等技術中日益普及的一項新興技術,應用范圍十分廣泛。其中以STC89C52為內核的單片機系列目前在世界上生產(chǎn)量最大,派生產(chǎn)品最多,基本可以滿足大多數(shù)用戶的需要。1.3頻率計設計內容1被測信號為周期性信號(包括正弦波、方波、三角波等),頻率范圍為160KHz,峰峰值在110V范圍內。2設置“開始/停止”和“工作模式”開關。工作模式分為測量外接信號和系統(tǒng)自測兩種模式,在測量外接信號模式下,測量外接信號頻率;在系統(tǒng)自測模式下,測量1KHz測試信號的頻率。3系統(tǒng)處于工作狀態(tài)時,數(shù)碼

5、管實時顯示測量信號頻率值,每隔1秒向PC機發(fā)送頻率數(shù)據(jù),頻率數(shù)據(jù)為ASCII碼,單位為Hz。 通過開始/停止鍵控制系統(tǒng)。1.4測頻的原理測頻的原理歸結成一句話,就是“在單位時間內對被測信號進行計數(shù)”。被測信號,通過輸入通道的放大器放大后,進入整形器加以整形變?yōu)榫匦尾?,并送入主門的輸入端。通過單片機的定時器T2通道產(chǎn)生1秒的定時。將經(jīng)過調理電路處理后的被測信號通過定時/計數(shù)器輸入端T0送給,若在一定的時間間隔T內累計周期性的重復變化次數(shù)N,則頻率的表達式為式: (1)圖1說明了測頻的原理及誤差產(chǎn)生的原因。時基信號 待測信號 丟失(少計一個脈沖) 計到N個脈沖 多余(比實際多出了0.x個脈沖)圖1

6、.1 測頻原理在圖1中,假設時基信號為1KHZ,則用此法測得的待測信號為1KHZ×5=5KHZ。但從圖中可以看出,待測信號應該在5.5KHZ左右,誤差約有0.5/5.59.1%。這個誤差是比較大的,實際上,測量的脈沖個數(shù)的誤差會在±1之間。假設所測得的脈沖個數(shù)為N,則所測頻率的誤差最大為=1(N-1)*100%。顯然,減小誤差的方法,就是增大N。本頻率計要求測頻誤差在1以下,則N應大于1000。通過計算,對1KHZ以下的信號用測頻法,反應的時間長于或等于10S,。由此可以得出一個初步結論:測頻法適合于測高頻信號。頻率計數(shù)器嚴格地按照公式進行測頻4。由于數(shù)字測量的離散性,被測

7、頻率在計數(shù)器中所記進的脈沖數(shù)可有正一個或負一個脈沖的量化誤差,在不計其他誤差影響的情況下,測量精度將為: 應當指出,測量頻率時所產(chǎn)生的誤差是由N和T倆個參數(shù)所決定的,一方面是單位時間內計數(shù)脈沖個數(shù)越多時,精度越高,另一方面T越穩(wěn)定時,精度越高。為了增加單位時間內計數(shù)脈沖的個數(shù),一方面可在輸入端將被測信號倍頻,另一方面可增加T來滿足,為了增加T的穩(wěn)定度,只需提高晶體振蕩器的穩(wěn)定度和分頻電路的可靠性就能達到。上述表明,在頻率測量時,被測信號頻率越高,測量精度越高。二 S08的介紹頻率計是我們經(jīng)常會用到的實驗儀器之一,頻率的測量實際上就是在單位時間內對信號進行計數(shù),計數(shù)值就是信號頻率。本文是一種基于

8、S08系列的一款AW60芯片設計的簡易頻率計。首先介紹一下有關S08的內容。2.1 S08AW簡介S08AW系列是Freescale公司推出的新一代S08系列微控制器中的一款增強型8位微控制器,它不僅集成度高、片內資源豐富,接口模塊包括SPI、SCI、IIC、A/D、PWM 等,還具有很寬的工作溫度范圍:-40+125,它在汽車電子、工業(yè)控制、中高檔機電產(chǎn)品等領域具有廣泛的用途。 S08AW 微控制器采用8位S08CPU,片內總線時鐘最高可達20MHz;片內資源包括2K RAM、將近62K Flash、串行接口模塊(SCI、SPI和IIC)、定時器模塊(TPM)、可選擇寬范圍時鐘頻率,它還提供

9、一個8位/10位精度的A/D轉換器,并支持后臺調試模式BDM。本章以S08AW60為例,介紹S08AW系列的基本組成,包括S08AW的特性、結構、引腳、基本系統(tǒng)電路、系統(tǒng)時鐘和運行模式等。2.2 S08資源介紹S08AW是Freescale首個基于高性能S08CPU內核并支持2.75.5V電源的微控制器。它包含眾多有應用價值的特性:將近62K的flash存儲器、高達2K的RAM、靈活而無需外部元件的內部時鐘發(fā)生器、低電壓檢測、高性能模/數(shù)轉換器(ADC)和串行通信模塊等。S08AW系列具有極佳的電磁兼容性能(EMC)并提供了不同的引腳數(shù)(64, 48或44)、封裝選項(QFP, LQFP或QF

10、N)及寬溫度范圍 (-40+125),可適應各類惡劣環(huán)境,因此該微控制器適用于高可靠的工業(yè)與汽車電子領域。S08AW系列有4種芯片:S08AW60/48/32/16,它們之間的區(qū)別主要是片上的程序存儲器的容量不同且均有各種引腳及封裝形式。S08AW60的內部資源參見表2-1。l 中央處理器為S08CPU。l 最高可達40-MHzCPU時鐘頻率和20-MHz 內部總線頻率。 l 約62KB片上在線可編程FLASH存儲器,具有模塊保護與安全選項功能。l 2KB片上RAM。 l 時鐘源選項:晶體振蕩器、陶瓷諧振器、外部時鐘或內部時鐘(具有高精度調整功能)。 系統(tǒng)保護:l 可選的看門狗(COP)復位。

11、l 具有復位或中斷功能的低壓檢測。 l 具有復位功能的非法操作碼檢測。l 具有復位功能的非法地址檢測(僅部分器件有非法地址檢測)。l 一種等待節(jié)省模式和兩種停止節(jié)省模式。外設模塊:l 具有自動比較功能的16通道、8位/10位精度的模數(shù)轉換器ADC。 l 具有兩個可選的串行通信接口模塊SCI。 l 串行外設接口模塊SPI。l 內部集成總線模塊IIC,在最大總線負載情況下,其最高工作頻率可達100 kbps,且負載越少,波特率越高。 l 2個定時器TPM模塊:共有(2+6)通道的16位定時器/脈寬調制器,每個通道上都具有可選的輸入采集、輸出比較及PWM 功能。l 8個鍵盤中斷模塊KBI(可當作外部

12、中斷)可通過軟件選擇邊沿方向或邊沿/電平模式。輸入/輸出: l 高達54個通用輸入/輸出(I/O)引腳l 引腳用作輸入端時,可軟件選擇上拉電阻 l 引腳用作輸出端時,可軟件選擇強/弱驅動能力和壓擺率(slew rate)復位及其他:l 具有主復位引腳與上電復位(POR)功能 l 可選RESET、IRQ與BKGD/MS引腳處的內部上拉l 單線后臺調試模塊BDMl 可支持多達32個中斷/復位源 表2-1 S08AW60系列的內部資源2.3 S08AW結構S08AW系統(tǒng)結構如圖2-1所示,大致可分為MCU核心和MCU外設部分,對應于圖中的左側和右側。1. MCU核心(HCS08CORE)部分S08A

13、W核心部分包括具有運行監(jiān)視功能的增強型中央處理器S08CPU、后臺調試控制(具有單線后臺調試接口BDM)、系統(tǒng)控制(時鐘監(jiān)視、中斷控制、低電壓檢測)等。S08MCU有2種存儲器FLASH RAM;電壓調整器,包括數(shù)字電路和模擬電路電源電壓;程序存儲器具有頁面控制模式;具有內部時鐘發(fā)生器(ICG)和低能耗晶體振蕩器。2. MCU外設部分外設部分大致可分為六種外設:數(shù)字輸入;數(shù)字輸出;10位二進制精度的模擬量/數(shù)字量轉換器A/D(ADC1P0P15);定時器/PWM(TPM1、TPM2);串行接口(SCI1、SCI2、SPI、IIC);許多微控制器中所沒有的鍵盤中斷輸入(KBI1)。注意:引腳內部

14、集成有上拉電阻, 當引腳作為輸入功能時,軟件可為該引腳配置內部上拉電阻;引腳IRQ使能時,軟件可配置該引腳上拉/下拉。IRQ引腳內部沒有接到VDD的鉗位二極管,所以IRQ的輸入電平不能超過VDD;PTD2、PTD 3、PTD 7、PTG4可軟件配置其上拉/下拉功能。 3. S08AW引腳介紹S08AW系列MCU有四個型號:S08AW60/48/32/16。有64-引腳、48-引腳、44-引腳三種,封裝形式有LQFP、QFP或QFN三種。本書主要介紹64引腳的S08AW60.S08MCU的引腳大都采用功能復用技術,即“單引腳多功能”。某個引腳可能具有雙重或三重功能,即通用I/O功能和特殊接口功能

15、,例如圖2-2中第47引腳具有3種功能:通用I/O功能(PTD3)、鍵盤中斷輸入(KBI1P6)和模擬量/數(shù)字量轉換輸入A/D(AD1P11),其控制邏輯完全集成在MCU內部,可以用軟件設定該引腳具有何種功能。由于S08MCU的許多引腳都具有2種或2種以上功能,使得它在體積、功耗、可靠性和應用的簡單方便程度上與用戶自行擴充的片外I/O口有著重要區(qū)別和顯著的優(yōu)勢。2.4 系統(tǒng)功能引腳1. 振蕩器引腳(EXTAL/XTAL)(External Reference Clock / Oscillator Input,EXTAL)和(Oscillator Output,XTAL)是晶振電路或者外部時鐘引

16、腳。2. 外部復位引腳()該引腳低電平有效,為雙向控制信號,輸入低電平有效,將MCU復位,此時MCU被初始化成默認狀態(tài),當MCU內部功能引起復位時該引腳也可輸出信號。3. 后臺調試/模式選擇引腳(BKGD /MS) BKGD /MS 引腳在后臺調試模式(Background,BKGD)中作為單線通信引腳。在復位過程中作為MCU操作模式的選擇(Mode Select,MS)引腳。在RESET信號的上升沿,將對這個引腳的狀態(tài)進行檢測和鎖定(有關詳細的描述請參見數(shù)據(jù)手冊),如果外接有BDM模塊,則MCU進入后臺調試模式,此引腳有一個固定的上拉電阻,并且一直使能。4. 電源引腳(VDD,VSS,VDD

17、AD,VSSAD)VDD, VSS是MCU的主電源,供電范圍為2.7V5.5V。VDDAD, VSSAD是MCU內部模擬電路的電源,給模數(shù)轉換器(ADC)模塊供電。2.5 輸入輸出功能引腳1. PTA(Port A)端口(PTA7PTA0)PTA7PTA0是8個單一功能引腳,具有可設定的通用輸入或輸出功能,第2633引腳。 2.PTB端口(PTB7/ AD1P7PTB0/ AD1P0)PTB7/ AD1P7PTB0/ AD1P0是8個雙功能引腳,可定義為通用輸入/輸出引腳或模數(shù)轉換器的模擬輸入引腳。3. PTC端口(PTC6PTC0/SCL1) PTC6PTC0/SCL1是7個雙功能/單一功能

18、引腳, 均可定義為通用輸入或輸出引腳;其中4個引腳(第60,6163,64引腳)也可作為串行通信引腳。4. PTD端口(PTD7/ AD1P15/KBI1P7PTD0/ AD1P8)PTD7/ AD1P15/KBI1P7PTD0/ AD1P8是8個三功能/雙功能引腳 通用輸入/輸出引腳或模數(shù)轉換器的模擬輸入引腳外;其中5個引腳還可作為定時器引腳(例如TPM1CLK)或鍵盤中斷輸入引腳(例如KBI1P7)。5. PTE端口( PTE7/SPSCK1PTE0/ TXD1)PTE7/SPSCK1PTE0/TXD1是8個雙功能引腳, 除均可定義為通用輸入/輸出引腳外;部分引腳還可作為串行通信引腳(例如

19、SPSCK1,TXD1),定時器引腳(例如TPM1CH0, TPM1CH1)。6. PTF端口( PTF7PTF0/ TPM1CH2) PTF7PTF0/ TPM1CH2是8個雙功能/單一功能引腳, 均可定義為通用輸入或輸出引腳;其中6個引腳可作為定時器引腳(例如TPM1CH2, TPM1C3,TPM2CH0,TPM2CH1等)。7. PTG端口( PTG6/EXTALPTG0/ KBI1P0) PTG6/EXTALPTG0/ KBI1P0是7個雙功能引腳, 均可定義為通用輸入或輸出引腳;其中5個引腳可作鍵盤中斷輸入引腳(例如KBI1P0, KBI1P4), 2個引腳可作外部晶體振蕩器引腳(E

20、XTAL, XTAL),該組引腳分布比較分散,為第23、24、25、48、49、57和58引腳。2.6 電源電路1 通用I/O和外圍設備接口電路S08AW60最多可提供56個引腳,這些引腳是通用I/O和片上外圍設備(比如定時器、串行口和I/O系統(tǒng))共享。在復位的瞬間,所有這些管腳被立即配置為高阻抗通用輸入(內部上拉器件被禁用)。為了避免懸空輸入管腳消耗額外的電流,用戶應用程序中的復位初始化程序應該啟用片內上拉器件或將未使用或未綁定的管腳的方向設置為輸出以確保它們不會懸空。HCS08具有通過軟件控制輸出電壓擺動率的特性(簡稱壓擺率)。這個特性允許我們在兩個參數(shù)不同的輸出晶體管之間進行選擇。當選擇

21、了驅動能力小的晶體管輸出時,輸出電壓的壓擺率比較低可以降低噪聲電磁干擾;當負載較重并且壓擺率很重要的情況下,應該選擇驅動能力大的晶體管輸出。S08AW系列的引腳定義為輸出引腳功能時,可具有高電流驅動能力,單引腳的高驅動電流為±10mA(拉電流或灌電流),但每片的總電流應小于120mA。2 系統(tǒng)時鐘S08的系統(tǒng)時鐘主要是指S08的內部時鐘發(fā)生器(Internal Clock Generator,ICG)、系統(tǒng)時鐘控制、總線時鐘(Bus Clock,BUSCLK)等,參見圖2-4??偩€時鐘(BUSCLK)是整個MCU外圍系統(tǒng)的定時基準和工作同步脈沖,其頻率固定為CPU工作頻率ICGOUT

22、的1/2。當ICGOUT為12MHz時,總線時鐘頻率為6MHz。內部時鐘發(fā)生器(ICG)模塊為MCU 提供了幾個時鐘源選項。ICG 模塊中包含鎖頻環(huán)(Frequency-Locked Loop,F(xiàn)LL)、時鐘分頻等模塊,可以選擇FLL鎖頻后的時鐘作為MCU系統(tǒng)時鐘,也可以選擇內部或外部參考時鐘作為MCU系統(tǒng)時鐘。無論選擇哪個時鐘源,它都要通過系統(tǒng)時鐘控制(降階分頻器),該分頻器允許生成多種的輸出時鐘頻率。詳細描述參見第十章,這里僅作簡單介紹。注意:ICGLCLK僅用于后臺調試控制器模塊(BDC)時鐘。XCLK為系統(tǒng)固定頻率時鐘,主要為定時器提供時間基準脈沖。S08AW系列沒有TMP3模塊,僅S

23、08AC系列有。ICG 模塊包括振蕩器、內部參考時鐘發(fā)生器、鎖頻環(huán)、和時鐘選擇4 個功能模塊:3. 振蕩器模塊振蕩器模塊用于連接外部晶振或陶瓷振蕩器。軟件可選擇兩種頻率范圍。另外,該模塊可以選擇外部時鐘作為系統(tǒng)時鐘。振蕩器模塊可以配置為低功耗模式或高增益模式。4. 內部參考時鐘發(fā)生器內部參考時鐘發(fā)生器由兩種可控時鐘源組成。一個設計為大約8MHz,可選擇用于后臺調試控制器的局部時鐘。另一個為243kHz,可以通過軟件精細調整該時鐘源頻率。5. 鎖頻環(huán)FLL 鎖頻環(huán)FLL用于倍頻內部或外部時鐘源。狀態(tài)位可以標識該電路是否達到鎖定值或偏離鎖定值。而且,該模塊可以監(jiān)測外部參考時鐘和信號是否有效。FLL

24、 可產(chǎn)生8MHz40MHz的時鐘頻率。6. 時鐘選擇模塊該模塊用于選擇將不同時鐘源連接到系統(tǒng)時鐘上。ICGERCLK是外部晶振或外部時鐘源產(chǎn)生的參考時鐘。XCLK為系統(tǒng)固定頻率時鐘,由固定時鐘選擇寄存器(FFE位)控制分頻。ICGLCLK僅用于后臺調試控制器模塊(BDC)時鐘。時鐘源有多種選擇:可外接32kHz100kHz 晶振或振蕩器;外接1MHz16MHz 晶振或振蕩器;外部時鐘源;內部參考時鐘發(fā)生器。當時鐘源默認為內部時鐘發(fā)生器時,可以使啟動時間最小化。當無時鐘源運行時,ICG模塊將自動停止工作。三 硬件設計3.1 系統(tǒng)組成及工作原理圖3-1上圖即為整個系統(tǒng)的框圖,二選一選擇器用于選擇測

25、量外接信號還是內測信號,這部分的電路由運算控制中心來控制,因為外接信號可能是三角波,正弦波,所以要加一級整形電路,對外接信號進行整形,整成方波。運算控制器便是單片機。模式選擇按鍵用來選擇系統(tǒng)所要求的模式,頻率顯示器一般選用數(shù)碼管來顯示。然后通過電平轉換芯片將所測的頻率值發(fā)送到PC機上,進行實時觀察。3.2 頻率測量原理AW60單片機的定時計數(shù)器自身帶有輸入捕捉功能單元, 為精測量頻率提供了很好的基礎。該功能可以精確捕捉一個外部事件的發(fā)生, 記錄該事件發(fā)生的時間印記。假定上升沿觸發(fā)輸入捕捉事件, 當一個輸入捕捉事件發(fā)生時, 即定時器通道引腳上的邏輯電平由低變高時,計數(shù)寄存器的計數(shù)值將被自動同步復

26、制寫入通道數(shù)值寄存器中, 并置位輸入捕獲標志位,中斷申請。即當每一次通道引腳的輸入信號由低變高時, 計數(shù)寄存器中的計數(shù)值都會再次同步復制到通道數(shù)值寄存器中。若將連續(xù)2 次的計數(shù)寄存器數(shù)據(jù)記錄下來, 那么時鐘頻率除以2 次數(shù)據(jù)的差值, 就是輸入信號的頻率。整個捕捉事件發(fā)生的時間印記是由硬件自動完成的, 因此所得到的頻率值是非常準確的。如果測量值大于定時器的溢出周期,那么在兩次輸入捕捉中斷之間就會發(fā)生定時器計數(shù)的溢出翻轉,這時就需要考慮定時器的溢出次數(shù)。因此測量的頻率f=f_clk/(T2-T1+65536*cnt)。3.3 硬件組成圖3-2模擬開關用于選擇外接信號還是內測信號,其硬件選擇可有多種

27、,本系統(tǒng)采用繼電器的方案,硬件簡單,容易控制。由于外接信號要求為周期性信號并包括正弦波、方波、三角波等,且單片機只能對方波信號進行測量,所以要加一級整形電路,將外接信號整形成方波。要求不是很高,本系統(tǒng)采用單限比較器,容易調試和實理。單片機最小系統(tǒng)是整個系統(tǒng)的核心,控制所有的外圍電路,并產(chǎn)生輸入捕捉和對頻率的測量。數(shù)碼管主要用來顯示當前測量的頻率,按鍵用于控制系統(tǒng)工作的模式,SCI用于向PC機發(fā)送當前測量的頻率值,各模塊分工明確,共同完成系統(tǒng)的整體功能。3.4 單片機核心模塊本設計采用AW60單片機,S08是2004年左右推出8位MCU,資源豐富,功耗低,性價比很高,是08系列MCU發(fā)展趨勢,其

28、性能與許多16位MCU相當。MC9S08AW60是低成本、高性能8位微處理器S08家族中的成員,本次課程設計就是以該芯片為基礎,來進行嵌入式的設計。該單片機的主要性能:(1)最高達40MHz的CPU工作頻率和20Hz的內部總線工作頻率表;時鐘源選項包括晶振、諧振器、外部時鐘或內部產(chǎn)生的時鐘。(2)相比HC08 CPU指令集,S08 CPU增加了BGND指令。(3)單線后臺調試模式接口;增強的斷點能力,允許單一的斷點設置在線調試(在片內調試的模塊增加了多于兩個的斷點)。(4)內含32個中斷/復位源;內含2KB的片內RAM;內含60KB的片內在線可編程Flash存儲器,帶有塊保護和安全選項。(5)

29、可選的計算機正常操作(COP)復位;低電壓檢測和復位或中斷;非法操作碼檢測與復位;非法地址檢測與復位。(6)ADC:多達16個通道,10位A/D轉換器與自動比較功能;兩個串行通信接口SCI模塊與可選的13位中斷;一個串行外設接口SPI模塊;集成電路互連總線I2C模塊運作高達100kbps的最高總線負載;8引腳鍵盤中斷KBI模塊。(7)Timers:1個2通道和1個6通道16位定時器/脈沖寬度調制器模板。具有輸入、捕捉、輸出比較、脈寬調制功能。3.5 電壓跟隨和減法電路單片機產(chǎn)生的PWM波,只有正值沒有負值,因此進入電壓比較器之后,出來就成為了一條直線,原有的頻率消失了,所以單片機無法測得內部信

30、號的頻率,考慮到這種情況產(chǎn)生的原因,所以在內部信號出來后加了一級跟隨器,避免它被外部電路影響,然后加了一級減法器,使得PWM波成為雙極性波,再經(jīng)過比較器,再進行測量,便成功得到了內部PWM波的頻率。運放全部選用OP07,頻帶寬,失真小。 跟隨電路 減法電路圖3-43.6 模擬開關和電壓比較電路模擬電路主要用于選擇測量內測信號還是外接信號,經(jīng)過比對,最終選擇了繼電器作為模擬開關,由于外接信號要求為周期性信號并包括正弦波、方波、三角波等,且單片機只能對方波信號進行測量,所以要加一級整形電路,將外接信號整形成方波。要求不是很高,本系統(tǒng)采用單限比較器,容易調試和實理。本部分的核心元件選擇了高性能運放L

31、M318,精度高,運算速度快。 繼電器電路 比較器電路圖3-53.7 顯示和控制電路本系統(tǒng)采用數(shù)碼管顯示測量頻率的大小,鉅陣鍵盤用于控制系統(tǒng)的工作。數(shù)碼管顯示原理簡單,編程比較容易實現(xiàn)。矩陣鍵盤可以實現(xiàn)多種控制,便于擴展功能,同時又可節(jié)省大量的IO口,供單片機的其它功能應用。 數(shù)碼管顯示電路 鍵盤控制電路圖3-63.8電平轉換電路為了與主機進行通信,定時向PC機發(fā)送測量的頻率值,實時監(jiān)測測量數(shù)據(jù),本系統(tǒng)加了一級電平轉換電路,用于與PC機進行通信。采用最常用的RS232電平轉換芯片。電平轉換電路圖3-7四 程序設計4.1 主程序設計圖4-1程序開始后初始化芯片,模塊,變量,然后進行主循環(huán),開始執(zhí)

32、行主程序,先栓測開始按鍵是否按下,如果開始按鍵按下,則開始測量頻率,并用數(shù)碼管進行顯示,并定時發(fā)送到PC機上,執(zhí)行過程中還可檢測是否有模式選擇按鍵按下,如果按下則要進行相應的調整,如果開始鍵沒有按下,關掉輸入捕捉中斷,對顯示變量進行清零,數(shù)碼管顯示零,不對信號進行測量。4.2 子程序設計圖4-24.3調試及結果本系統(tǒng)調試共分四步:(1)確保各模塊連接良好,打開供電電源。(2)按下系統(tǒng)啟動按鍵,整個系統(tǒng)開始工作。(3)選擇測量內接信號還是外接信號,默認采用測量外接信號。(4)選擇測量大頻率還是小頻率。默認采用測量大頻率。參考目錄:1 張迎新單片微型計算機原理、應用及接口技術(第2版)M北京:國防

33、工業(yè)出版社,20042偉福LAB6000系列單片機仿真實驗系統(tǒng)使用說明書3閻石數(shù)字電路技術基礎(第五版)北京:高等教育出版社,20064單片機開發(fā)板的原理圖及系統(tǒng)。5王威 嵌入式微控制器S08AW原理與實踐 北京:航空航天出版社附錄:模擬電路仿真圖主程序Main.c程序#include "Includes.h"void main(void) /1 主程序使用的變量定義 uint16 mRuncount=0,k=0; /運行計數(shù)器 /2 關總中斷 DisableInterrupt(); /禁止總中斷 /3 芯片初始化 MCUInit(); LEDinit(); TPMChIn

34、it(TPM_NUM_2,TPM1_CH_0); KBInit(); SCIInit(1,SYSCLK,9600); /4 模塊初始化 GPIO_Init(PORT_F,7,1,1); Light_Init(Light_Run_PORT,Light_Run,Light_OFF); PWM(TPM_NUM_1,TPM1_CH_0,0x7d0, 50); LedBuf0=0; LedBuf1=0; LedBuf2=0; LedBuf3=0; cnt=0;rest=0;flag=0; leddot=0; scibuf5 ='H' scibuf6 ='Z' scibuf

35、7 =' ' start=0; EnableTPM2ChInt(TPM1_CH_0); EnableKBint(); EnableInterrupt(); while (1) if(start=1) LEDshow(LedBuf); mRuncount+; if(mRuncount>=1500) mRuncount=0; EnableTPM2ChInt(TPM1_CH_0); if(keyval=0xde) TPM_CSTR(TPM_NUM_2) =0b00010000; if(keyval=0xee) TPM_CSTR(TPM_NUM_2) =0b00010101; i

36、f(keyval=0xeb) GPIO_Set(PORT_F,7,Light_OFF); if(keyval=0xdb) GPIO_Set(PORT_F,7,Light_ON); k+; if(k>=5000) k=0; SCISendN(1,8,scibuf); else leddot=0; LedBuf0=0; LedBuf1=0; LedBuf2=0; LedBuf3=0; LEDshow(LedBuf); DisableTPM2ChInt(TPM1_CH_0); isr.c 程序#include "isr.h"/此處為用戶新定義中斷處理函數(shù)的存放處interrupt void isrKeyBoard(void) uint8 value; uint16 i; for(i=0; i<1000; i+); DisableInterrupt(); /關總中斷 DisableKBint(); /屏蔽鍵盤中斷 value = KBScanN(10); /掃描鍵值,存于value中 if(value!=0xFF) SCISend1(1,value); if(

溫馨提示

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

評論

0/150

提交評論