基于A(yíng)T89C52的汽車(chē)駕駛模擬器單片機系統設計
由于本系統中需要處理的開(kāi)關(guān)量和模擬量較多,因此選用8255對輸入輸出接口進(jìn)行了擴展。將AT89C52的P1口作為A/D、D/A轉換接口,用于模擬量的輸入和輸出,A/D、D/A轉換芯片分別選用ADC0809和DAC0832,片選信號由高位地址線(xiàn)P2口提供。8255的擴展接口用作開(kāi)關(guān)量的輸入和輸出,8255的端口選擇和片選信號由經(jīng)74LS373鎖存后的低位地址線(xiàn)提供。
另外,AT89C52還提供了一個(gè)具有多級 通訊功能的全雙工串行接口,可以用作與主控計算機之間進(jìn)行通訊。由于RS-232串行通信端口是PC機的標準接口,而且RS-232用作雙向數據通信時(shí)接線(xiàn)十分簡(jiǎn)潔,因此選用RS-232作為通訊接口[4]。但是,RS-232的輸出信號不但有正電壓,還有負電壓,所以選用半導體公司的RS-232接口芯片MAX232實(shí)現信號轉換。圖2為汽車(chē)駕駛模擬器單片機系統硬件電路簡(jiǎn)圖。
圖2 系統硬件電路簡(jiǎn)圖
2.3軟件系統的設計
汽車(chē)駕駛模擬器單片機軟件系統需要完成模擬量和開(kāi)關(guān)量的采集和處理、串行數據的發(fā)送與接收、控制信號的輸出與顯示、故障的監控與保護等功能。軟件采用模塊化設計思想,通過(guò)匯編語(yǔ)言編制而成,主要由主程序、定時(shí)器中斷服務(wù)程序、串行口中斷服務(wù)程序、數據采集和處理程序、信號的輸出與顯示程序等幾部分構成。
圖3 軟件系統程序流程圖
主程序主要完成系統的初始化工作;定時(shí)器中斷服務(wù)程序主要完成看門(mén)狗功能,在單片機發(fā)生異常情況時(shí),能使程序及時(shí)復位,保證單片機系統能夠正常工作;串行口中斷服務(wù)程序主要實(shí)現單片機與主控計算機之間的通訊;數據采集和處理程序主要完成模擬量和開(kāi)關(guān)量的采集,獲取駕駛員的操控數據;信號的輸出與顯示程序將主控計算機的控制信息傳送給單片機,用于控制指示燈和儀表的顯示輸出。圖3為汽車(chē)駕駛模擬器單片機軟件系統的程序流程圖。
3結論
基于單片機的數據采集系統成本相對較低,接口的可擴展性好,同時(shí),模擬量和開(kāi)關(guān)量的預處理工作也可以由單片機來(lái)完成。系統完全可以滿(mǎn)足汽車(chē)駕駛模擬器的交互性和實(shí)時(shí)性要求,已在所開(kāi)發(fā)的汽車(chē)駕駛模擬器中得到了應用,取得了較好的效果。
模擬信號相關(guān)文章:什么是模擬信號
光電開(kāi)關(guān)相關(guān)文章:光電開(kāi)關(guān)原理
評論