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

