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