基于AD7705的在線激光功率檢測系統(tǒng)設(shè)計(jì)
需要說明的是在讀寫操作模式下,AT89S51的數(shù)據(jù)輸出為LSB在前,而AD7705希望MSB在前,所以數(shù)據(jù)讀寫之前必須倒序。
1.3 數(shù)據(jù)處理與顯示電路設(shè)計(jì)
數(shù)據(jù)處理控制部分采用AT89S51單片機(jī),這是系統(tǒng)設(shè)計(jì)的核心。
AT89S51是低功耗、高性能CMOS 8位單片機(jī),既可在線編程(ISP),也可用傳統(tǒng)方法編程。與MCS-51產(chǎn)品指令系統(tǒng)完全兼容,性價(jià)比高,可靈活應(yīng)用于各種控制領(lǐng)域。
顯示部分該設(shè)計(jì)采用四位數(shù)碼管,程序控制掃描方式。其中,PO口作為段選;P1.0~Pl.3作為位選。本文引用地址:http://butianyuan.cn/article/173719.htm
2 系統(tǒng)軟件設(shè)計(jì)
2.1 基于Keil Cx51的軟件設(shè)計(jì)思想
程序設(shè)計(jì)思想是首先上電/復(fù)位AD7705,配置AT89S51單片機(jī)的串行接口,然后將AD7705的通道1初始化,注意讀寫數(shù)據(jù)之前必須調(diào)用重新排序子程序。查詢DRDY引腳,如果為低電平,則讀通道數(shù)據(jù)寄存器,把數(shù)據(jù)轉(zhuǎn)化為電壓值,再調(diào)顯示子程序,調(diào)延時(shí),做電壓轉(zhuǎn)換為功率值的數(shù)據(jù)處理。返回,繼續(xù)采集數(shù)據(jù),查詢DRDY,顯示,直到結(jié)束。主程序流程圖如圖4所示。
2.2 AD7705的初始化配置及對寄存器操作子程序
在使用AD7705之前,首先要對所有寄存器進(jìn)行設(shè)置和初始化。系統(tǒng)需確定AD7705芯片的主要參數(shù)具體設(shè)計(jì):主時(shí)鐘取FCLK=2.457 6 MHz,輸入通道選擇單極性,數(shù)據(jù)更新速率為50 Hz。由于AD7705輸入基準(zhǔn)電壓等于+5 V,輸入負(fù)端接地,正端最大輸入幅度+l_3 V,故增益可以選擇4。當(dāng)參數(shù)設(shè)置完畢以后,寫入設(shè)置寄存器位MD1和MDO分別為0和1,完成系統(tǒng)自校準(zhǔn)。在設(shè)置參數(shù)之前,首先對通信寄存器進(jìn)行一次寫操作,以決定下一個(gè)是什么樣的寄存器和什么樣的操作內(nèi)容,再進(jìn)行下一步的參數(shù)寫入。與初始化以后,單片機(jī)就可以從模/數(shù)轉(zhuǎn)換器中讀數(shù)據(jù),讀取數(shù)據(jù)之前必須確定數(shù)據(jù)寄存器的狀態(tài)。通過查詢DRDY引腳,如果DRDY引腳處于低電平,則數(shù)據(jù)已經(jīng)轉(zhuǎn)換完成,可以讀取。AD7705的初始化配置及對寄存器操作程序流程圖如圖5所示。
A/D轉(zhuǎn)換器輸出的是16進(jìn)制數(shù)據(jù),需要轉(zhuǎn)換為電壓值輸出。
V=5.0(data-out/65 536.0)
得到的電壓值還得轉(zhuǎn)化為功率顯示。通過實(shí)驗(yàn)在ND:YAG激光器上測量了不同激勵(lì)電流下的系統(tǒng)輸出電壓,并實(shí)測了經(jīng)精密激光功率計(jì)LOGO檢測到的數(shù)據(jù),得出兩者之間的線性關(guān)系為P=50V。
A/D轉(zhuǎn)換器的子程序如下:
評論