基于AT89S51微處理器控制的信號(hào)發(fā)生器設(shè)計(jì)原理分析
發(fā)布時(shí)間:2014-07-30 09:02
采用MAX038 芯片制作函數(shù)信號(hào)發(fā)生器隨設(shè)計(jì)思想不同,具有多種方法,本文只是一種可能實(shí)現(xiàn)的方法。此法的頻率控制和幅度控制分辨率高,且硬件集成度高,整機(jī)自動(dòng)化程度高,性能優(yōu)良,具有很高的實(shí)用價(jià)值。同時(shí)該信號(hào)源設(shè)計(jì)尚存在的不足之處,主要有兩個(gè)方面,第一為缺乏頻率準(zhǔn)確顯示的手段,可以配備相應(yīng)的數(shù)字頻率計(jì)模塊,但如何將顯示的精度與信號(hào)源的頻段配合有待討論研究;第二為輸出級(jí)可配以顯示輸出幅度的儀表,并且放大電路有待進(jìn)一步改進(jìn),使其具有更強(qiáng)的輸出能力。
1系統(tǒng)總體設(shè)計(jì)
MAX038 的輸出頻率主要受振蕩電容CF、IIN端電流和FADJ端電壓的控制,其中前二者與輸出頻率的關(guān)系如圖2所示。選擇一個(gè)CF值,對(duì)應(yīng)IIN端電流的變化,將產(chǎn)生一定范圍的輸出頻率。另外,改變FADJ端的電壓,可以在IIN控制的基礎(chǔ)上,對(duì)輸出頻率實(shí)現(xiàn)微調(diào)控制。為實(shí)現(xiàn)輸出頻率的數(shù)控調(diào)整,在IIN端和FADJ端分別連接一個(gè)電壓輸出的DAC。首先,通過(guò)DACB產(chǎn)生0V(00H)~2.5V(0FFH)的輸出電壓,經(jīng)電壓/ 電流轉(zhuǎn)換網(wǎng)絡(luò),產(chǎn)生0μA到748μA的電流,疊加上網(wǎng)絡(luò)本身產(chǎn)生的2μA電流,最終對(duì)IIN端形成2μA~750μA的工作電流,使之產(chǎn)生相應(yīng)的輸出頻率范圍。DACB將此工作電流范圍分為256級(jí)步進(jìn)間隔,輸出頻率范圍也被分為256級(jí)步進(jìn)間隔。所以,IIN端的電流對(duì)輸出頻率實(shí)現(xiàn)粗調(diào)。第二步,通過(guò)DACA 在FADJ端產(chǎn)生一個(gè)從-2.3V(00H)~+2.3V(0FFH)的電壓范圍,該范圍同樣包含256級(jí)步進(jìn)間隔,筆耕文化推薦期刊,IIN 端的步進(jìn)間隔再次細(xì)分為256級(jí)步進(jìn)間隔,從而在粗調(diào)的基礎(chǔ)上實(shí)現(xiàn)微調(diào)。
1.1單片機(jī)介紹及外圍電路
如圖2所示,AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(PEROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元。[1]
如圖2中所示,在單片機(jī)的I/O口分配上利用率比較高,應(yīng)為I/O資源剛好可以滿足控制設(shè)計(jì)的需要,所以不需要另外擴(kuò)充I/O資源。根據(jù)P0口,P1口,P2口及P3口各自的特點(diǎn),我們選用P0口作為數(shù)據(jù)口,通過(guò)分時(shí)復(fù)用的方法分別送數(shù)據(jù)給MAX505的A、B、C通道控制頻率和占空比;送數(shù)據(jù)給LCD1602傳送信息顯示數(shù)據(jù)。選用P1口的P1.0~P1.5做按鍵輸入口。P1.6與P1.7做幅度控制的I2C數(shù)據(jù)輸出口,單片機(jī)自身不具備I2C功能,所以要通過(guò)軟件控制實(shí)現(xiàn)。另外,P2口與P3口做MAX505、MAX038、4052(段選芯片)的數(shù)據(jù)控制口及片選口。還有P3.0(RXD)、P3.1(TXD)做上位機(jī)通信口分別接MAX232芯片的OUT輸出IN與輸入引腳。
1.2D/A轉(zhuǎn)換電路(頻率,占空比控制電路)
如圖3所示,我們用+2.5V做MAX505的基準(zhǔn)電源。我們選用了MAX505的3路D/A輸出分別控制MAX038的DADJ、FADJ和IIN引腳,在前面我們知道MAX038的DADJ和FADJ引腳要求輸入的電壓信號(hào)時(shí)在-2.3V~+2.3V之間,IIN的輸入要求是0μA~750μA的電流。通過(guò)一個(gè)轉(zhuǎn)換電路將MAX505的輸出是0~2.5V的電壓轉(zhuǎn)換為所需要的電壓電流。
I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開(kāi)發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線最主要的優(yōu)點(diǎn)是其簡(jiǎn)單性和有效性?偩的構(gòu)成及信號(hào)類型是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時(shí)鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。
當(dāng)SCL保留高電位同時(shí)SDL變低時(shí)傳送開(kāi)始。這個(gè)開(kāi)始狀態(tài)之后,時(shí)鐘信號(hào)變低來(lái)啟動(dòng)數(shù)據(jù)傳送。在每一個(gè)數(shù)據(jù)位,時(shí)鐘位在確保數(shù)據(jù)位正確時(shí)變高電平。在每一個(gè)8位數(shù)據(jù)的結(jié)尾發(fā)送一個(gè)確認(rèn)信號(hào),而不管它是地址還是數(shù)據(jù)。在確認(rèn)時(shí),傳送端不會(huì)把SDL變?yōu)榈碗娖,如果正確接收到了數(shù)據(jù)允許接收端把電位變?yōu)?。確認(rèn)信號(hào)后,當(dāng)SCL處于高電平時(shí)SDL從低變?yōu)楦撸甘緮?shù)據(jù)傳送停止。
I2C總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,最高傳送速率100kbps。CPU發(fā)出的控制信號(hào)分為地址碼和控制量?jī)刹糠,地址碼用來(lái)選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對(duì)比度、亮度等)及需要調(diào)整的量。這樣,因?yàn)榈刂反a的作用各控制電路雖然掛在同一條總線上,卻彼此獨(dú)立,互不相關(guān)。
例如產(chǎn)生一個(gè)正弦波的控制方式:在開(kāi)始界面用KEY0鍵選擇正弦波,用KEY4鍵確定進(jìn)入頻率,占空比,幅度的控制的循環(huán)選擇界面,首先用KEY1鍵來(lái)選擇頻率,KEY4鍵確定進(jìn)入,然后用KEY2和KEY3鍵來(lái)實(shí)現(xiàn)頻率步進(jìn)的增值或減值,數(shù)值確定后KEY4鍵確定,然后KEY5鍵返回到頻率,占空比,幅度的控制的循環(huán)選擇界面,用KEY2鍵來(lái)選擇占空比,KEY4鍵確定進(jìn)入,然后用KEY2和KEY3鍵來(lái)實(shí)現(xiàn)占空比步進(jìn)的增值或減值,數(shù)值確定后KEY4鍵確定,然后KEY5鍵返回到頻率,占空比,幅度的控制的循環(huán)選擇界面,用KEY2鍵來(lái)選擇幅度,KEY4鍵確定進(jìn)入,然后用KEY2和KEY3鍵來(lái)實(shí)現(xiàn)幅度步進(jìn)的增值或減值,數(shù)值確定后KEY4鍵確定。
本文編號(hào):6450
1系統(tǒng)總體設(shè)計(jì)
MAX038 的輸出頻率主要受振蕩電容CF、IIN端電流和FADJ端電壓的控制,其中前二者與輸出頻率的關(guān)系如圖2所示。選擇一個(gè)CF值,對(duì)應(yīng)IIN端電流的變化,將產(chǎn)生一定范圍的輸出頻率。另外,改變FADJ端的電壓,可以在IIN控制的基礎(chǔ)上,對(duì)輸出頻率實(shí)現(xiàn)微調(diào)控制。為實(shí)現(xiàn)輸出頻率的數(shù)控調(diào)整,在IIN端和FADJ端分別連接一個(gè)電壓輸出的DAC。首先,通過(guò)DACB產(chǎn)生0V(00H)~2.5V(0FFH)的輸出電壓,經(jīng)電壓/ 電流轉(zhuǎn)換網(wǎng)絡(luò),產(chǎn)生0μA到748μA的電流,疊加上網(wǎng)絡(luò)本身產(chǎn)生的2μA電流,最終對(duì)IIN端形成2μA~750μA的工作電流,使之產(chǎn)生相應(yīng)的輸出頻率范圍。DACB將此工作電流范圍分為256級(jí)步進(jìn)間隔,輸出頻率范圍也被分為256級(jí)步進(jìn)間隔。所以,IIN端的電流對(duì)輸出頻率實(shí)現(xiàn)粗調(diào)。第二步,通過(guò)DACA 在FADJ端產(chǎn)生一個(gè)從-2.3V(00H)~+2.3V(0FFH)的電壓范圍,該范圍同樣包含256級(jí)步進(jìn)間隔,筆耕文化推薦期刊,IIN 端的步進(jìn)間隔再次細(xì)分為256級(jí)步進(jìn)間隔,從而在粗調(diào)的基礎(chǔ)上實(shí)現(xiàn)微調(diào)。
1.1單片機(jī)介紹及外圍電路
如圖2所示,AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(PEROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元。[1]
如圖2中所示,在單片機(jī)的I/O口分配上利用率比較高,應(yīng)為I/O資源剛好可以滿足控制設(shè)計(jì)的需要,所以不需要另外擴(kuò)充I/O資源。根據(jù)P0口,P1口,P2口及P3口各自的特點(diǎn),我們選用P0口作為數(shù)據(jù)口,通過(guò)分時(shí)復(fù)用的方法分別送數(shù)據(jù)給MAX505的A、B、C通道控制頻率和占空比;送數(shù)據(jù)給LCD1602傳送信息顯示數(shù)據(jù)。選用P1口的P1.0~P1.5做按鍵輸入口。P1.6與P1.7做幅度控制的I2C數(shù)據(jù)輸出口,單片機(jī)自身不具備I2C功能,所以要通過(guò)軟件控制實(shí)現(xiàn)。另外,P2口與P3口做MAX505、MAX038、4052(段選芯片)的數(shù)據(jù)控制口及片選口。還有P3.0(RXD)、P3.1(TXD)做上位機(jī)通信口分別接MAX232芯片的OUT輸出IN與輸入引腳。
1.2D/A轉(zhuǎn)換電路(頻率,占空比控制電路)
如圖3所示,我們用+2.5V做MAX505的基準(zhǔn)電源。我們選用了MAX505的3路D/A輸出分別控制MAX038的DADJ、FADJ和IIN引腳,在前面我們知道MAX038的DADJ和FADJ引腳要求輸入的電壓信號(hào)時(shí)在-2.3V~+2.3V之間,IIN的輸入要求是0μA~750μA的電流。通過(guò)一個(gè)轉(zhuǎn)換電路將MAX505的輸出是0~2.5V的電壓轉(zhuǎn)換為所需要的電壓電流。
I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開(kāi)發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。I2C總線最主要的優(yōu)點(diǎn)是其簡(jiǎn)單性和有效性?偩的構(gòu)成及信號(hào)類型是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。總線必須由主器件(通常為微控制器)控制,主器件產(chǎn)生串行時(shí)鐘(SCL)控制總線的傳輸方向,并產(chǎn)生起始和停止條件。
當(dāng)SCL保留高電位同時(shí)SDL變低時(shí)傳送開(kāi)始。這個(gè)開(kāi)始狀態(tài)之后,時(shí)鐘信號(hào)變低來(lái)啟動(dòng)數(shù)據(jù)傳送。在每一個(gè)數(shù)據(jù)位,時(shí)鐘位在確保數(shù)據(jù)位正確時(shí)變高電平。在每一個(gè)8位數(shù)據(jù)的結(jié)尾發(fā)送一個(gè)確認(rèn)信號(hào),而不管它是地址還是數(shù)據(jù)。在確認(rèn)時(shí),傳送端不會(huì)把SDL變?yōu)榈碗娖,如果正確接收到了數(shù)據(jù)允許接收端把電位變?yōu)?。確認(rèn)信號(hào)后,當(dāng)SCL處于高電平時(shí)SDL從低變?yōu)楦撸甘緮?shù)據(jù)傳送停止。
I2C總線是由數(shù)據(jù)線SDA和時(shí)鐘SCL構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在CPU與被控IC之間、IC與IC之間進(jìn)行雙向傳送,最高傳送速率100kbps。CPU發(fā)出的控制信號(hào)分為地址碼和控制量?jī)刹糠,地址碼用來(lái)選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別(如對(duì)比度、亮度等)及需要調(diào)整的量。這樣,因?yàn)榈刂反a的作用各控制電路雖然掛在同一條總線上,卻彼此獨(dú)立,互不相關(guān)。
例如產(chǎn)生一個(gè)正弦波的控制方式:在開(kāi)始界面用KEY0鍵選擇正弦波,用KEY4鍵確定進(jìn)入頻率,占空比,幅度的控制的循環(huán)選擇界面,首先用KEY1鍵來(lái)選擇頻率,KEY4鍵確定進(jìn)入,然后用KEY2和KEY3鍵來(lái)實(shí)現(xiàn)頻率步進(jìn)的增值或減值,數(shù)值確定后KEY4鍵確定,然后KEY5鍵返回到頻率,占空比,幅度的控制的循環(huán)選擇界面,用KEY2鍵來(lái)選擇占空比,KEY4鍵確定進(jìn)入,然后用KEY2和KEY3鍵來(lái)實(shí)現(xiàn)占空比步進(jìn)的增值或減值,數(shù)值確定后KEY4鍵確定,然后KEY5鍵返回到頻率,占空比,幅度的控制的循環(huán)選擇界面,用KEY2鍵來(lái)選擇幅度,KEY4鍵確定進(jìn)入,然后用KEY2和KEY3鍵來(lái)實(shí)現(xiàn)幅度步進(jìn)的增值或減值,數(shù)值確定后KEY4鍵確定。
本文編號(hào):6450
本文鏈接:http://www.wukwdryxk.cn/qitalunwen/6450.html
最近更新
教材專著