邵陽學(xué)院信息工程系 朱開汪 余建坤
基于AT89C51單片機信號發(fā)生器設(shè)計
邵陽學(xué)院信息工程系 朱開汪 余建坤
基于AT89C51單片機信號發(fā)生器設(shè)計利用單片機AT89C51采用程序設(shè)計方法產(chǎn)生正弦波、三角波、方波等波形,通過D/A轉(zhuǎn)換器DAC0832(DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片、與微處理器完全兼容)將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出來,能產(chǎn)生1Hz—1kHz的波形。通過基于AT89C51單片機信號發(fā)生器的鍵盤來控制三種波形的類型選擇、撥碼開關(guān)控制頻率的變化,并通過液晶屏LCD1602(工業(yè)字符型液晶,能夠同時顯示16x02即32個字符)顯示其各自的類型以及數(shù)值,基于AT89C51單片機信號發(fā)生器大致包括信號發(fā)生部分、數(shù)/模轉(zhuǎn)換部分以及液晶LCD1602顯示部分三部分。
AT89C51單片機;LCD1602液晶顯示;D/A轉(zhuǎn)換器
由于要求達到基于AT89C51單片機信號發(fā)生器的模擬信號波形發(fā)生,而要由基于AT89C51單片機信號發(fā)生器的D/A轉(zhuǎn)換芯片DAC0832來完成此項任務(wù),由基于AT89C51單片機信號發(fā)生器的基準電路來實現(xiàn)輸出波形的幅度可調(diào),通過基于AT89C51單片機信號發(fā)生器的電位器來調(diào)節(jié)波形的變化。經(jīng)過基于AT89C51單片機信號發(fā)生器的DAC0832數(shù)模轉(zhuǎn)換電路輸出的信號為電流形式,因此需要加電流/電壓轉(zhuǎn)換電路來改變輸出信號的形式?;贏T89C51單片機信號發(fā)生器采用AT89C51單片機和DAC0832數(shù)模轉(zhuǎn)換器相結(jié)合的電路來產(chǎn)生波形,由于本文設(shè)計的基于AT89C51單片機信號發(fā)生器是軟件濾波,所以不會有寄生的高次諧波分量,生成的波形比較純凈。軟件濾波的特點是價格低、性能高,在低頻范圍內(nèi)穩(wěn)定性好、操作方便、體積小、耗電少。 基于AT89C51單片機信號發(fā)生器所研究的就是用AT89C51單片機將某種波形所對應(yīng)的數(shù)字量進行輸出,再通過基于AT89C51單片機信號發(fā)生器的D/A轉(zhuǎn)換器轉(zhuǎn)換輸出一組連續(xù)變化的5V的電壓脈沖值,同時再通過基于AT89C51單片機信號發(fā)生器的LCD1602液晶顯示部分顯示其頻率值和波形名稱。在設(shè)計基于AT89C51單片機信號發(fā)生器時采取分塊來做,分為D/A轉(zhuǎn)換,AT89C51單片機系統(tǒng),鍵盤控制和液晶顯示4個主要模塊,最后通過聯(lián)調(diào)仿真,做出基于AT89C51單片機信號發(fā)生器的電路板成品,從而簡化人機交互的問題。
基于AT89C51單片機信號發(fā)生器的單片機即單片微型計算機是把組成微型計算機的各種功能部件,是一種集成度高、性價比優(yōu)越、質(zhì)量小、體積小的微型計算機?;贏T89C51單片機信號發(fā)生器的DAC0832是8分辨率的D/A轉(zhuǎn)換集成芯片?;贏T89C51單片機信號發(fā)生器的DAC0832與基于AT89C51單片機信號發(fā)生器的AT89C51單片機完全兼容?;贏T89C51單片機信號發(fā)生器上使用的DAC0832芯片以其價格低廉、接口簡單、轉(zhuǎn)換控制容易等優(yōu)點,在采用到基于AT89C51單片機信號發(fā)生器上。D/A轉(zhuǎn)換器(DAC0832芯片)由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成。按鍵是由一組按壓式或觸摸式開關(guān)構(gòu)成的陣列,是一種常用的輸入設(shè)備。在接線時由于有四個引腳,連接時需要用萬用表進行測量,然后接通兩個引腳,要進行數(shù)據(jù)的計算就必須先進行數(shù)據(jù)的輸入,也就必須確定按鍵輸入的數(shù)值是什么,這就需要對鍵盤進行掃描,從而確定究竟是哪個鍵按下?;贏T89C51單片機信號發(fā)生器的LCD1602顯示模塊的設(shè)計為通過液晶LCD1602顯示輸出的波形、頻率,LCD1602的八位數(shù)據(jù)端接單片機的P0口,其三個使能端RS、RW、E分別接AT89C51單片機的P1.0—P1.2。通過軟件控制液晶屏可以顯示波形的種類以及波形的頻率。
基于AT89C51單片機信號發(fā)生器編程采用C51語言編程,單片機C51語言是由C語言繼承轉(zhuǎn)換而來的。但是C51語言和C語言不同的是,C51語言運行于單片機平臺,而C語言則運行于普通的桌面平臺。C51語言具有C語言結(jié)構(gòu)清晰的優(yōu)點,同時具有匯編語言的硬件操作能力。C51語言是一種高級程序設(shè)計語言,它提供了十分完備的規(guī)范化流程控制結(jié)構(gòu)。因此采用C51語言設(shè)計基于AT89C51單片機信號發(fā)生器編程程序時,首先要盡可能地采用結(jié)構(gòu)化的程序設(shè)計方法,這樣可使整個基于AT89C51單片機信號發(fā)生器程序結(jié)構(gòu)清晰,易于對基于AT89C51單片機信號發(fā)生器的調(diào)試和維護。對于基于AT89C51單片機信號發(fā)生器是一個較大的程序,可將整個基于AT89C51單片機信號發(fā)生器的程序按功能分成若干個模塊,基于AT89C51單片機信號發(fā)生器的不同的模塊完成不同的功能。對于基于AT89C51單片機信號發(fā)生器的不同的功能模塊,分別指定相應(yīng)的入口參數(shù)和出口參數(shù),而經(jīng)常使用的一些程序最好編成函數(shù),這樣既不會引起整個基于AT89C51單片機信號發(fā)生器的程序管理的混亂,還可增強基于AT89C51單片機信號發(fā)生器的程序可讀性、移植性。
基于AT89C51單片機信號發(fā)生器設(shè)計是利用單片機AT89C51采用程序設(shè)計方法產(chǎn)生三角波、正弦波、方波三種波形,再通過 基于AT89C51單片機信號發(fā)生器的D/A轉(zhuǎn)換器DAC0832將數(shù)字信號轉(zhuǎn)換成模擬信號,濾波放大,最終由示波器顯示出來, 基于AT89C51單片機信號發(fā)生器能產(chǎn)生1Hz—1kHz的波形。通過 基于AT89C51單片機信號發(fā)生器的鍵盤來控制三種波形的類型選擇、撥碼開關(guān)控制頻率的變化,并通過 基于AT89C51單片機信號發(fā)生器的液晶屏LCD1602顯示其各自的類型以及數(shù)值,基于AT89C51單片機信號發(fā)生器大致包括信號發(fā)生部分、數(shù)/模轉(zhuǎn)換部分以及LCD1602液晶顯示部分三部分。基于AT89C51單片機信號發(fā)生器可以產(chǎn)生5HZ-50HZ的正弦波,100HZ-1000HZ的方波,25HZ-250HZ的三角波。
[1]相迎軍,李興城,李傳軍.基于AT89C4051單片機的專用信號發(fā)生器設(shè)計與應(yīng)用[J].微計算機信息,2004(11):631.
[2]陳華敏,任立民.基于AT89C51的信號發(fā)生器的設(shè)計[J].現(xiàn)代電子技術(shù),2011(02):805.
[3]余紅珍,于斌,秦宗鋒.基于Proteus的單片機實驗系統(tǒng)設(shè)計[J].實驗科學(xué)與技術(shù),2012(06):87.
[4]顧婭軍,賈小林,吳玨.基于Proteus的微機原理實驗教學(xué)研究[J].電腦知識與技術(shù),2014(19):71.
[5]李娟,劉煥平,羅旭.基于AT89C51單片機的60-2曲軸位置信號發(fā)生器設(shè)計[J].石家莊職業(yè)技術(shù)學(xué)院學(xué)報,2010(04):173.
[6]陳輝,陳梅,杜靜,王東梅,金晶,何東輝.基于AT89C51單片機波形發(fā)生器的Proteus設(shè)計[J].自動化與儀器儀表,2012(03):739.