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