2 系統(tǒng)軟件設計
2.1 基于Keil Cx51的軟件設計思想
程序設計思想是首先上電/復位AD7705,配置AT89S51單片機的串行接口,然后將AD7705的通道1初始化,注意讀寫數(shù)據(jù)之前必須調用重新排序子程序。查詢DRDY引腳,如果為低電平,則讀通道數(shù)據(jù)寄存器,把數(shù)據(jù)轉化為電壓值,再調顯示子程序,調延時,做電壓轉換為功率值的數(shù)據(jù)處理。返回,繼續(xù)采集數(shù)據(jù),查詢DRDY,顯示,直到結束。主程序流程圖如圖4所示。
2.2 AD7705的初始化配置及對寄存器操作子程序
在使用AD7705之前,首先要對所有寄存器進行設置和初始化。系統(tǒng)需確定AD7705芯片的主要參數(shù)具體設計:主時鐘取FCLK=2.457 6 MHz,輸入通道選擇單極性,數(shù)據(jù)更新速率為50 Hz。由于AD7705輸入基準電壓等于+5 V,輸入負端接地,正端最大輸入幅度+l_3 V,故增益可以選擇4。當參數(shù)設置完畢以后,寫入設置寄存器位MD1和MDO分別為0和1,完成系統(tǒng)自校準。在設置參數(shù)之前,首先對通信寄存器進行一次寫操作,以決定下一個是什么樣的寄存器和什么樣的操作內容,再進行下一步的參數(shù)寫入。與初始化以后,單片機就可以從模/數(shù)轉換器中讀數(shù)據(jù),讀取數(shù)據(jù)之前必須確定數(shù)據(jù)寄存器的狀態(tài)。通過查詢DRDY引腳,如果DRDY引腳處于低電平,則數(shù)據(jù)已經(jīng)轉換完成,可以讀取。AD7705的初始化配置及對寄存器操作程序流程圖如圖5所示。
A/D轉換器輸出的是16進制數(shù)據(jù),需要轉換為電壓值輸出。
V=5.0(data-out/65 536.0)
得到的電壓值還得轉化為功率顯示。通過實驗在ND:YAG激光器上測量了不同激勵電流下的系統(tǒng)輸出電壓,并實測了經(jīng)精密激光功率計LOGO檢測到的數(shù)據(jù),得出兩者之間的線性關系為P=50V。
A/D轉換器的子程序如下: