基于51單片機(jī)的微波輻射計(jì)數(shù)控單元設(shè)計(jì)與實(shí)現(xiàn)
1.2.1 數(shù)據(jù)采集
單片機(jī)初始化完畢后,通過片選信號選中A/D轉(zhuǎn)換器,把RAM的控制權(quán)交給采集電路。AD976A進(jìn)行數(shù)據(jù)采集時,置CS引腳固定為低電平,則轉(zhuǎn)換時序由 R/C信號的下降沿控制,信號脈沖寬度至少為50 ns。當(dāng)R/C變?yōu)榈碗娖綍r,BUSY信號也變?yōu)榈碗娖?,?biāo)志轉(zhuǎn)換結(jié)束,則移位府存器中的數(shù)據(jù)被更新的二進(jìn)制補(bǔ)碼替代。設(shè)計(jì)中,由于256 KB數(shù)據(jù)存儲器僅需要15位地址A0~A14,則使用A15與RD,WR共同作為控制線,使A/D轉(zhuǎn)換與數(shù)據(jù)存儲交替工作。當(dāng)A15低電平時,選通數(shù)據(jù)存儲器IDT71256,此時CS為高電平,則AD976A停止工作;當(dāng)A15為高電平時,通過與非邏輯電路使CS為低電平,選通AD976A,并通過WR 的變化提供R/C下降沿,這樣可以通過軟件延時精確控制采樣率。
1.2.2 總線控制
在數(shù)控單元硬件結(jié)構(gòu)中,采用P0口提供數(shù)據(jù)總線和地址總線,當(dāng)ALE輸出信號為高電平時,P0口,輸出數(shù)據(jù)鎖存入總線驅(qū)動器中地址的低8位,同時和P2口送出的高8位地址組成完整的16位地址,尋址到外部的256 KB地址空間,由A/D轉(zhuǎn)換器把采集到的數(shù)據(jù)存入靜態(tài)RAM中。由于P0口是數(shù)據(jù)與地址分時復(fù)用口,因此引進(jìn)74HC573作為地址鎖存器。同時,使用 RD作為讀取外部數(shù)據(jù)內(nèi)存的控制線;WR作為寫入數(shù)據(jù)到外部內(nèi)存的控制線;PSEN作為存取外部程序存儲器的讀取控制線。
1.2.3 電機(jī)控制電路
天線驅(qū)動控制部分通過上位機(jī)發(fā)送電機(jī)啟動命令,單片機(jī)從串口接收到啟動命令后,向電機(jī)驅(qū)動器AKS230發(fā)出節(jié)拍脈沖,以帶動天線勻速轉(zhuǎn)動;通過編程控制P1.0口輸出節(jié)拍脈沖速率,即可控制天線轉(zhuǎn)速。當(dāng)上位機(jī)發(fā)出停止命令時,通過單片機(jī)程序提取天線狀態(tài),保證天線啟停處于同一位置。考慮到單片機(jī)輸出電流與電機(jī)驅(qū)動電流的匹配問題Ⅲ,這里使用總線驅(qū)動器74LS245與單片機(jī)相連,輸出電流可達(dá)20 mA,滿足電機(jī)驅(qū)動要求。
1.2.4 串口通信電路
串口通信部分通過AT89C51內(nèi)部的全雙工串行通信接口RXD和TXD進(jìn)行發(fā)送和接收。AT89C51串行接口有四種工作模式,本設(shè)計(jì)中,串口工作于方式1,波特率可變,通過定時器T1進(jìn)行溢出率控制,令T1工作于方式2,由于波特率為(2SMOD/32)·(fOSC/12)·[1/(28- TH1)],則通過計(jì)算可得T1裝載值為0xFA,波特率為9 600 b/s。這里選用MAX232完成TTL到EIA的電平轉(zhuǎn)換。
2 軟件設(shè)計(jì)
單片機(jī)軟件部分采用了模塊化的設(shè)計(jì)方法,按照功能分為數(shù)據(jù)采集及存儲、電機(jī)運(yùn)行控制及狀態(tài)提取、串口發(fā)送與接收幾部分,各個模塊之間通過中斷或子程序調(diào)用等進(jìn)行連接,有機(jī)地成為一體,整個系統(tǒng)已經(jīng)使用Medwin 3.O調(diào)試并能夠成功運(yùn)行。
數(shù)據(jù)采集部分包括初始化、信號采集及存儲,采集速率通過編程進(jìn)行控制,實(shí)現(xiàn)每10 ms采樣一個電壓值,并存人0100H~01C8H的地址空間中,采集100個數(shù)據(jù)后調(diào)用中斷通過串口傳給上位機(jī)進(jìn)行后續(xù)處理。每次系統(tǒng)上電時,采集部分復(fù)位并從頭運(yùn)行,數(shù)據(jù)采集部分程序流程圖如圖3所示。
評論