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