淺談汽車測距系統(tǒng)的設(shè)計(jì)
P0口:P0 口是一組I/O 口,是8 位漏極開路并行口,也就是地址/數(shù)據(jù)總線復(fù)用的I/O 口,字節(jié)地址為80H,位地址為80H-87H。在編程flash 時(shí),指令數(shù)據(jù)發(fā)送到P0口,在校檢程序的時(shí)候,指令數(shù)據(jù)從P0口輸出,此時(shí),P0口外部要接上拉電阻以提高驅(qū)動(dòng)能力。
P1口:是單功能的I/O 口,字節(jié)地址為90H,位地址為90H-97H,P1口只能作為通用的I/O 口使用,P1口由于有內(nèi)部上拉電阻,沒有高阻抗輸入狀態(tài),故為準(zhǔn)雙向口。作為輸出口時(shí),不需要在外接上拉電阻,P1口讀鎖存器時(shí)必須向鎖存器寫1。
P2口:P2是一個(gè)8位雙向單功能I/O 口,字節(jié)地址為A0H,位地址為A0H-A7H,內(nèi)部帶有上拉電阻,P2口可以以灌入或輸出電流的方式驅(qū)動(dòng)4個(gè)邏輯門(TTL)電路。在訪問8 位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),特殊功能寄存器(SFR)區(qū)中R2寄存器的內(nèi)容也就是P2口內(nèi)容不會(huì)改變。在編程flash 和校檢程序時(shí),P2接收高位地址和其它控制信號。
P3口:P3是一個(gè)8位雙功能I/O 口,位地址為B0H-B7H,內(nèi)部帶有上拉電阻。P3口可以以灌入或輸出電流的方式驅(qū)動(dòng)4個(gè)邏輯門(TTL)電路。
RST:復(fù)位端口。當(dāng)振動(dòng)器正常運(yùn)作的時(shí)候,可以給引腳RST高于兩個(gè)周期時(shí)間以上的高電平將會(huì)讓單片機(jī)進(jìn)行復(fù)位操作。
第四章系統(tǒng)硬件設(shè)計(jì)
4.1 硬件設(shè)計(jì)方案
如圖所示,我設(shè)計(jì)的這個(gè)系統(tǒng)硬件部分是由AT89S52控制器、超聲波發(fā)射電路、接收電路、聲音報(bào)警電路,溫度測量電路和LCD顯示電路幾部分組成。汽車行進(jìn)時(shí)LCD會(huì)顯示環(huán)境溫度,當(dāng)汽車進(jìn)行倒車的時(shí)候,發(fā)射電路和接收電路就會(huì)開始工作,通過AT89S52單片機(jī)的數(shù)據(jù)處理將距離也會(huì)顯示到LCD顯示屏上,如果在距離小于設(shè)定值的時(shí)候,報(bào)警電路就會(huì)發(fā)出鳴叫聲,這時(shí)候司機(jī)就要引起注意了。AT89S52是主控芯片,能夠支持在線下載程序,多以方便調(diào)試,資源豐富,不僅滿足了本系統(tǒng)的各項(xiàng)設(shè)計(jì)要求,還滿足了日后擴(kuò)展的各項(xiàng)需求。
復(fù)位電路溫度補(bǔ)償電路AT89S52
接收電路報(bào)警電路
發(fā)射電路顯示電路
圖4.1 設(shè)計(jì)方案圖
4.2 系統(tǒng)電路
單片機(jī)的系統(tǒng)電路是單片機(jī)的基本組成部分,包括有時(shí)鐘、電源、復(fù)位、電源電路等。
4.2.1 單片機(jī)最小系統(tǒng)
本文使用AT89S52 單片機(jī)的意義:在單片機(jī)的大家族中,51 系列單片機(jī)擁有著卓越的性能、成熟的技術(shù)、成本低和應(yīng)用的廣泛迅速占的領(lǐng)了大的市場,在各個(gè)領(lǐng)域單片機(jī)都應(yīng)用的十分廣泛,已經(jīng)變成了國內(nèi)外單片機(jī)領(lǐng)域主流的單片機(jī)應(yīng)用。因此世界上大量集成電路生產(chǎn)廠家各自推出了許多種類型的單片機(jī)。
AT89S52 單片機(jī)內(nèi)部裝有8KB存儲(chǔ)器,其本身就是一個(gè)數(shù)字量輸入和輸出的最小應(yīng)用,在構(gòu)建AT89S52單片機(jī)最小系統(tǒng)的時(shí)候,AT89S52單片機(jī)僅僅只需要外接時(shí)鐘電路、復(fù)位電路和5V的電源電路即可。單片機(jī)的最小電路如圖4.2 所示。
圖4.2 單片機(jī)最小電路
AT89S52最小系統(tǒng)主要包括復(fù)位電路與外部晶振。其晶振電路如圖所示。
圖4.3 單片機(jī)時(shí)鐘電路
AT89S52單片機(jī)每個(gè)部件的運(yùn)行都是以時(shí)鐘信號作為基準(zhǔn)的,使得單片機(jī)能夠有條不絮的進(jìn)行工作,時(shí)鐘的頻率是相當(dāng)重要的,時(shí)鐘頻率會(huì)直接影響到單片機(jī)的穩(wěn)定性和單片機(jī)的運(yùn)行速度,所以時(shí)鐘電路是單片機(jī)工時(shí)作所必須存在的控制信號電路。AT89S52單片機(jī)的內(nèi)部含有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,并且有著兩個(gè)輸入引腳,分別是XTAL1和XTAL2。
如圖4.3所示的電路中電容C1和C2通常的選擇為30pF,該電容的大小會(huì)直接影響到振蕩器頻率的高低,振蕩器的起振快速性和穩(wěn)定性。晶體震蕩的頻率一般選擇在1.2MHZ-12MHZ,如果時(shí)鐘的頻率越高,單片機(jī)的運(yùn)行速度相對就會(huì)越快,反之則亦然。但是如果時(shí)鐘頻率越高則對存儲(chǔ)器速度的要求就會(huì)越高,所以為了保證單片機(jī)系統(tǒng)運(yùn)行,可靠的工作電容的大小起著至關(guān)重要的作用。時(shí)鐘電路由兩個(gè)30pF的電容保證振蕩器的穩(wěn)定、可靠的工作;石英晶體的頻率越高,單片機(jī)運(yùn)行速度越快,所以選擇12MHZ的石英晶體。復(fù)位電路如圖5所示。
圖4.4 單片機(jī)復(fù)位電路
單片機(jī)進(jìn)行復(fù)位操作的時(shí)候,單片機(jī)會(huì)初始化,是單片機(jī)從存儲(chǔ)器的0000H 單元執(zhí)行的。當(dāng)程序運(yùn)行出錯(cuò)、程序跑飛或者錯(cuò)誤操作的時(shí)候都會(huì)讓系統(tǒng)處于死鎖的狀態(tài),這時(shí)候需要通過使系統(tǒng)初始化來重新啟動(dòng)程序,所以復(fù)位鍵的功能是用來防止系統(tǒng)跑飛或死鎖的。VCC通電時(shí),電容就開始充電,充電過程中會(huì)產(chǎn)生有充電電流,并且在最一開始時(shí)電流會(huì)最大,隨著充電時(shí)間的減少電流逐漸減小直到電容充滿電后充電電流就會(huì)變?yōu)?,此時(shí)電路中無充電電流輸給電容,電容器相當(dāng)于開路,這個(gè)時(shí)候的隔直才是真正意義上的,所以在接通電源的一瞬間,是會(huì)有通交這個(gè)過程的,在電容充電這個(gè)過程中,RST端的電壓卻剛好相反是從VCC逐漸減少到0,電容上的電壓是會(huì)有個(gè)從無到有的過程的,這是個(gè)交流變化過程,因?yàn)槌潆婋娏魇菑拇蟮叫∫恢钡?,在此過程中的RST引腳會(huì)一直保持VCC 高電平狀態(tài)的,導(dǎo)致單片機(jī)的復(fù)位,(電容充放電時(shí)間常數(shù),由R 和C 決定)。當(dāng)電容不再充電時(shí),沒有電流通過,RST一直為0,單片機(jī)正常的工作。電容的放電過程是通過手動(dòng)按鍵閉合后,通過按鍵一側(cè)聯(lián)接RST引腳的電阻組成回路的,放電過程是電流從電容的正極板出發(fā)通過閉合按鍵之后經(jīng)過該電阻回到電容的負(fù)極板,完成放電過程的。
復(fù)位操作也就是單片機(jī)的初始化,重新啟動(dòng)程序,也就是在RST引腳加上大于2個(gè)機(jī)器周期的高電平即可以完成單片機(jī)復(fù)位。手動(dòng)復(fù)位是通過在RST上電阻與Vcc 連接來達(dá)到目的,具體得電路如圖所示,當(dāng)時(shí)鐘頻率為12MHZ時(shí),電阻選取為2K歐。在我將按鈕按下去的時(shí)間比兩微秒多的情況下,RST就能夠發(fā)出高電平,單片機(jī)復(fù)位,然后重新啟動(dòng)系統(tǒng)。
4.2.2 電源電路
汽車用電器供電來源主要是由汽車蓄電瓶供電,汽車蓄電瓶電壓為12V。由于車用蓄電瓶電壓為12V 電源高于系統(tǒng)單片機(jī)的需求電壓,同時(shí)蓄電瓶由于大電流放電,電壓穩(wěn)定性較差,必須使用電路將蓄電瓶12V 的電壓DC-DC 變化為5V 穩(wěn)定的電壓,然后直流5V 電壓供給超聲波測距系統(tǒng)工作。系統(tǒng)采用線性穩(wěn)壓芯片LM7805 將12V 的電源(汽車蓄電池的輸出電壓)轉(zhuǎn)換為5V 的直流穩(wěn)壓。5V 電源電路如下圖所示。由CZ1 電源接口輸入為12V車載蓄電瓶直流電源,二極管D1 是為了防止電源接反,經(jīng)過C7 和C8 濾波,通過LM7805 將電源穩(wěn)壓至5V。穩(wěn)壓電源5V 輸出給AT89S52 單片機(jī)、測量電路、顯示系統(tǒng)、控制電路、報(bào)警電路供電。

