版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)</p><p> 專(zhuān) 業(yè): 電氣工程及其自動(dòng)化 </p><p> 班 級(jí): 電氣1004班 </p><p> 姓 名: </p><p> 學(xué) 號(hào): </p><p>
2、; 指導(dǎo)教師: </p><p><b> 2013年3月7日</b></p><p> 摘要,基于單片機(jī)的工作原理,以八路搶答器為理念,制作廣泛</p><p><b> 1引 言</b></p><p> 本設(shè)計(jì)的設(shè)計(jì)內(nèi)容是:基于單片機(jī)的汽車(chē)燈控制系統(tǒng)的設(shè)計(jì)
3、。模擬汽車(chē)在駕駛中的左轉(zhuǎn)彎、右轉(zhuǎn)彎、剎車(chē)、合緊急開(kāi)關(guān)、停靠等操作。在左轉(zhuǎn)彎或右轉(zhuǎn)彎時(shí),通過(guò)轉(zhuǎn)彎操作桿使左轉(zhuǎn)彎或右轉(zhuǎn)彎開(kāi)關(guān)合上,從而使左頭信號(hào)燈、儀表板的左轉(zhuǎn)彎燈、左尾信號(hào)燈或右頭信號(hào)燈、儀表板的右轉(zhuǎn)彎信號(hào)燈、右尾信號(hào)燈閃爍;閉合緊急開(kāi)關(guān)時(shí)以上六個(gè)信號(hào)燈全部閃爍;汽車(chē)剎車(chē)時(shí),左右兩個(gè)尾信號(hào)燈點(diǎn)亮;若正當(dāng)轉(zhuǎn)彎時(shí)剎車(chē),則轉(zhuǎn)彎時(shí)原閃爍的信號(hào)燈應(yīng)繼續(xù)閃爍,同時(shí)另一個(gè)尾信號(hào)燈點(diǎn)亮,以上閃爍的信號(hào)燈以1Hz頻率慢速閃爍;在汽車(chē)停靠開(kāi)關(guān)合上時(shí)左頭信號(hào)燈
4、、右頭信號(hào)燈、左尾信號(hào)燈、右尾信號(hào)燈以10Hz頻率快速閃爍。任何在下表中未出現(xiàn)的組合,都將出現(xiàn)故障指示燈閃爍,閃爍頻率為10Hz。</p><p><b> 2設(shè)計(jì)方案及原理</b></p><p> 2.1系統(tǒng)硬件設(shè)計(jì)概述</p><p> 該設(shè)計(jì)方案中,選用ATMEL公司的8位通用單片機(jī)AT89C51,讓其P0口為系統(tǒng)的輸入端口,輸入
5、信號(hào)由開(kāi)關(guān)的通斷產(chǎn)生,而P1口為系統(tǒng)的輸出端口,輸出給7個(gè)LED指示燈。同時(shí),本設(shè)計(jì)中將剎車(chē)輸入信號(hào)以中斷的方式進(jìn)行輸入,這樣在一定程度上就保證了諸如剎車(chē)這種緊急情況下實(shí)時(shí)性較高的需要。詳細(xì)的硬件設(shè)計(jì)方案見(jiàn)后續(xù)章節(jié)。</p><p> 2.2系統(tǒng)軟件設(shè)計(jì)概述</p><p> 根據(jù)系統(tǒng)的設(shè)計(jì)需要,為滿足系統(tǒng)實(shí)時(shí)性的需求,我們把剎車(chē)信號(hào)處理成外部中斷0的形式,其他輸入信號(hào)以普通的輸入信號(hào)
6、進(jìn)行輸入,CPU以輪詢的方式對(duì)它們進(jìn)行查詢。若CPU發(fā)現(xiàn)有輸入信號(hào)的組合是所期望輸入信號(hào)組合的任何一組時(shí),則驅(qū)動(dòng)相應(yīng)的指示燈發(fā)出相應(yīng)的指示情況。詳細(xì)的軟件設(shè)計(jì)方案見(jiàn)后續(xù)章節(jié)。</p><p><b> 3硬件設(shè)計(jì)</b></p><p> 3.1 硬件設(shè)計(jì)方案</p><p> 如前所述,在該設(shè)計(jì)方案中,選用ATMEL公司的8位通用單片機(jī)
7、AT89C51,讓其P0口為系統(tǒng)的輸入端口,輸入信號(hào)由開(kāi)關(guān)的通斷產(chǎn)生,其中,P0.0為左轉(zhuǎn)彎開(kāi)關(guān),P0.1為右轉(zhuǎn)彎開(kāi)關(guān),P0.2為緊急開(kāi)關(guān),P0.3為??块_(kāi)關(guān)。P1口為系統(tǒng)的輸出端口,輸出給7個(gè)LED指示燈。其中,P1.0到P1.2引腳分別連接汽車(chē)的左轉(zhuǎn)彎燈、左頭燈和左尾燈,為便于區(qū)分,這三個(gè)燈均用黃燈表示;P1.3到P1.5引腳分別連接汽車(chē)的右轉(zhuǎn)彎燈、右頭燈和右尾燈;P1.6引腳連接汽車(chē)的故障指示燈。同時(shí),本設(shè)計(jì)中將剎車(chē)輸入信號(hào)以外部
8、中斷0的方式進(jìn)行輸入,這樣在一定程度上就保證了諸如剎車(chē)這種緊急情況下實(shí)時(shí)性較高的需要。</p><p> 3.2 硬件設(shè)計(jì)原理圖</p><p> 在Proteus仿真環(huán)境下所搭建的系統(tǒng)硬件電路圖如圖3.1所示。</p><p> 圖3.1 系統(tǒng)硬件原理圖</p><p><b> 4 軟件設(shè)計(jì)</b></
9、p><p> 4.1 軟件設(shè)計(jì)方案</p><p> 根據(jù)設(shè)計(jì)要求,我們把左轉(zhuǎn)彎信號(hào)輸入、右轉(zhuǎn)彎信號(hào)輸入、緊急信號(hào)輸入和??啃盘?hào)輸入當(dāng)做普通的信號(hào)輸入給單片機(jī)進(jìn)行處理,此時(shí)CPU采用輪詢的方式對(duì)各個(gè)信號(hào)的組合方式逐個(gè)地進(jìn)行排查:若CPU發(fā)現(xiàn)有有效的信號(hào)輸入,則驅(qū)動(dòng)相應(yīng)指示燈進(jìn)行相應(yīng)的顯示,若發(fā)現(xiàn)有無(wú)效的信號(hào)輸入,則驅(qū)動(dòng)故障指示燈閃爍,若上述情況都未發(fā)生,則CPU繼續(xù)輪詢排查各個(gè)輸入信號(hào)的組
10、合,直到有信號(hào)輸入。</p><p> 由于剎車(chē)信號(hào)是一種很緊急的信號(hào),故此處將剎車(chē)信號(hào)處理成外部中斷信號(hào)進(jìn)行輸入,以保證實(shí)時(shí)性,將損失降低到最小。此時(shí)CPU正在執(zhí)行主程序(即CPU正以輪詢的方式排查各輸入信號(hào)的組合),當(dāng)有剎車(chē)信號(hào)輸入時(shí),程序立即轉(zhuǎn)向中斷服務(wù)程序去處理,其中包含著與剎車(chē)有關(guān)的各個(gè)有效信號(hào)的組合,當(dāng)輸入信號(hào)的組合有效時(shí),則發(fā)出相應(yīng)的動(dòng)作,若輸入無(wú)效信號(hào)時(shí),則故障指示燈閃爍??紤]到一般剎車(chē)之后都需
11、要重新啟動(dòng)汽車(chē)及整個(gè)汽車(chē)的控制系統(tǒng),我們把當(dāng)系統(tǒng)進(jìn)入到中斷時(shí)的各個(gè)有效狀態(tài)人為地設(shè)置為重復(fù)等待狀態(tài),直到系統(tǒng)重新上電復(fù)位之后,又恢復(fù)到正常的等待狀態(tài)。</p><p> 4.2 系統(tǒng)設(shè)計(jì)流程圖</p><p> 4.2.1 主程序流程圖</p><p> 在主程序中,首先將輸出端口與清零,以免對(duì)后續(xù)的程序執(zhí)行結(jié)果產(chǎn)生錯(cuò)誤的影響。片內(nèi)存儲(chǔ)單元30H、31H和32
12、H分別用來(lái)當(dāng)做左轉(zhuǎn)彎、右轉(zhuǎn)彎、緊急開(kāi)關(guān)是否閉合的標(biāo)志存儲(chǔ)器,若有相應(yīng)的信號(hào)出現(xiàn)時(shí),則相應(yīng)的標(biāo)志存儲(chǔ)器置為#FFH,否則,相應(yīng)的標(biāo)志存儲(chǔ)器清零。設(shè)置這三個(gè)標(biāo)志存儲(chǔ)器的目的是為了當(dāng)有剎車(chē)中斷產(chǎn)生是,便于CPU辨認(rèn)是否在剎車(chē)的情況下有左轉(zhuǎn)彎、右轉(zhuǎn)彎或者是緊急開(kāi)關(guān)閉合。為了能夠使系統(tǒng)在汽車(chē)處于運(yùn)行狀態(tài)下連續(xù)可靠地工作,主程序采用循環(huán)掃描,即輪詢的方式工作。</p><p> 主程序流程圖如圖4.1所示。</p&g
13、t;<p> 4.2.2 中斷程序流程圖</p><p> 在中斷服務(wù)程序中,首先同主程序一樣,先將輸出口清零,以免影響后續(xù)程序執(zhí)行結(jié)果。緊接著,程序通過(guò)一級(jí)一級(jí)的判斷與排查,看是否有與題中所給出的信號(hào)組合相符的信號(hào)組合出現(xiàn),若出現(xiàn)了,則相應(yīng)的指示燈要出現(xiàn)相應(yīng)的動(dòng)作,并進(jìn)入循環(huán)執(zhí)行的狀態(tài),直到系統(tǒng)從剎車(chē)狀態(tài)中解除出來(lái),重新上電復(fù)位后,又重頭開(kāi)始執(zhí)行程序;否則,故障指示燈顯示。</p>
14、<p> 中斷程序流程圖如圖4.2所示。</p><p> 圖4.1 主程序流程圖</p><p> 圖4.2 中斷程序流程圖</p><p><b> 5總 結(jié)</b></p><p> 經(jīng)過(guò)將近一周時(shí)間的單片機(jī)課程設(shè)計(jì),我又重新溫習(xí)回顧了有關(guān)8051單片機(jī)的基本結(jié)構(gòu)和一些基本的指令,并進(jìn)一步
15、加深了用單片機(jī)進(jìn)行整個(gè)系統(tǒng)硬件和程序設(shè)計(jì)的方法與步驟,鞏固了利用單片機(jī)進(jìn)行系統(tǒng)軟件設(shè)計(jì)時(shí)的一些技巧與方法。就本次所選的設(shè)計(jì)題目而言,我在設(shè)計(jì)的過(guò)程中,首先通過(guò)仔細(xì)分析題目,來(lái)找到解決問(wèn)題的突破口,這一步對(duì)于后續(xù)過(guò)程的設(shè)計(jì)具有指導(dǎo)意義。其次,根據(jù)所分析的結(jié)果,綜合考慮各種必要條件后,設(shè)計(jì)出了系統(tǒng)的硬件電路圖。接著,進(jìn)行系統(tǒng)的軟件設(shè)計(jì),這一步需要詳細(xì)分析題中各種情況之間的邏輯關(guān)系與其自身的要求,還要綜合考慮到實(shí)際情況的需要。在搞清楚這些關(guān)系
16、之后,為系統(tǒng)編寫(xiě)匯編程序源代碼。然后,在KeilC應(yīng)用軟件環(huán)境下,對(duì)匯編源代碼進(jìn)行編譯、匯編與連接,并將生成的可執(zhí)行文件與硬件系統(tǒng)相關(guān)聯(lián),最后在Proteus仿真環(huán)境下進(jìn)行仿真,調(diào)試仿真結(jié)果是否正確。通過(guò)此次課程設(shè)計(jì),我復(fù)習(xí)掌握了不僅有關(guān)單片機(jī)的知識(shí),還收獲了一些有關(guān)論文寫(xiě)作規(guī)范的要求,這讓我受益匪淺。</p><p><b> 參考文獻(xiàn)</b></p><p>
17、 [1] 李華,王思明,張金敏.單片機(jī)原理及應(yīng)用[M].蘭州:蘭州大學(xué)出版社,2001.5.</p><p> [2] 徐愛(ài)均.單片機(jī)原理實(shí)用教程-基于Proteus虛擬仿真[M].北京:電子工業(yè)出版社,2009.1.</p><p> [3] 李廣弟.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1994.</p><p> [4] 房小翠.單片機(jī)實(shí)用系統(tǒng)
18、設(shè)計(jì)技術(shù)[M].北京:國(guó)防工業(yè)出版社,1999.</p><p> [5] 胡漢才.單片機(jī)原理及接口技術(shù).清華大學(xué)出版社,1995.</p><p><b> 附 錄</b></p><p><b> ORG0000H</b></p><p><b> LJMPMAIN<
19、;/b></p><p><b> ORG0003H</b></p><p> LJMPINTRT0</p><p> MAIN:MOVP1,#00H ;輸出口清0</p><p> MOV30H,#00H ;標(biāo)志清0</p>
20、;<p> MOV31H,#00H ;</p><p> MOV32H,#00H ;</p><p><b> SETBEX0</b></p><p><b> SETBEA</b></p><p> HP1:
21、MOVA,P0 ;左轉(zhuǎn)判斷</p><p><b> CLRC</b></p><p> SUBBA,#01H</p><p><b> JZZZW</b></p><p><b> JNZJX1</b></p
22、><p> ZZW:MOV30H,#0FFH ;左轉(zhuǎn)指示</p><p> SS1:MOVP1,#07H</p><p> LCALLDELAY1</p><p> MOVP1,#00H</p><p> LCALLDELAY1</p><p
23、><b> SJMPHP1</b></p><p> JX1:MOV30H,#00H</p><p> HP2:CLRC ;右轉(zhuǎn)判斷</p><p><b> MOVA,P0</b></p><p> SUBBA,#02
24、H</p><p><b> JZYZW</b></p><p><b> JNZJX2</b></p><p> YZW:MOV31H,#0FFH ;右轉(zhuǎn)指示</p><p> SS2:MOVP1,#38H</p><p
25、> LCALLDELAY1</p><p> MOVP1,#00H</p><p> LCALLDELAY1</p><p><b> SJMPHP2</b></p><p> JX2:MOV31H,#00H ;合緊急開(kāi)關(guān)判斷</p><
26、p> HP3:CLRC</p><p><b> MOVA,P0</b></p><p> SUBBA,#04H</p><p><b> JZHJJ</b></p><p><b> JNZJX3</b></p><p&
27、gt; HJJ:MOV32H,#0FFH ;合緊急開(kāi)關(guān)指示</p><p> SS3:MOVP1,#3FH</p><p> LCALLDELAY1</p><p> MOVP1,#00H</p><p> LCALLDELAY1</p><p><b
28、> SJMPHP3</b></p><p> JX3:MOV32H,#00H</p><p> HP4:CLRC ;合??块_(kāi)關(guān)判斷</p><p><b> MOVA,P0</b></p><p> SUBBA,#08H<
29、/p><p><b> JZTK</b></p><p><b> JNZJX4</b></p><p> TK:MOVP1,#36H ;合??块_(kāi)關(guān)指示</p><p> LCALLDELAY10</p><p>
30、MOVP1,#00H</p><p> LCALLDELAY10</p><p><b> SJMPHP4</b></p><p> JX4:CLRC ;有無(wú)輸入判斷</p><p><b> MOVA,P0</b></p&
31、gt;<p><b> JZTZ</b></p><p> CLRC ;左轉(zhuǎn)判斷</p><p><b> MOVA,P0</b></p><p> SUBBA,#01H</p><p><b> JZTZ&
32、lt;/b></p><p> CLRC ;右轉(zhuǎn)判斷</p><p><b> MOVA,P0</b></p><p> SUBBA,#02H</p><p><b> JZTZ</b></p><p>
33、CLRC ;合緊急開(kāi)關(guān)判斷</p><p><b> MOVA,P0</b></p><p> SUBBA,#04H</p><p><b> JZTZ</b></p><p> CLRC ;合
34、停靠開(kāi)關(guān)判斷</p><p><b> MOVA,P0</b></p><p> SUBBA,#08H</p><p><b> JZTZ</b></p><p><b> AJMPGZ</b></p><p> GZ:MOV
35、P1,#40H ;故障指示</p><p> LCALLDELAY10</p><p> MOVP1,#00H</p><p> LCALLDELAY10</p><p><b> AJMPJX4</b></p><p> TZ:AJM
36、PMAIN ;返回繼續(xù)</p><p> INTRT0:CLREA ;關(guān)中斷</p><p> MOVP1,#00H</p><p> CLRC ;左轉(zhuǎn)判斷</p><p><b> MOV
37、A,30H</b></p><p> SUBBA,#0FFH</p><p><b> JZZZS</b></p><p> CLRC ;右轉(zhuǎn)判斷</p><p><b> MOVA,31H</b></p>&l
38、t;p> SUBBA,#0FFH</p><p><b> JZYZS</b></p><p> PSC:MOVA,P0 ;剎車(chē)判斷</p><p><b> JZSC</b></p><p><b> JNZGZ
39、1</b></p><p> SC:MOVP1,#24H</p><p> CLRC ;剎車(chē)合緊急開(kāi)關(guān)判斷</p><p><b> MOVA,P0</b></p><p> SUBBA,#04H</p><p><
40、;b> JZHJS</b></p><p><b> SJMPSC</b></p><p> GZ1:MOVP1,#40H ;故障指示</p><p> LCALLDELAY10</p><p> MOVP1,#00H</p>&
41、lt;p> LCALLDELAY10</p><p><b> SJMPGZ1</b></p><p> ZZS:CLRC ;左轉(zhuǎn)彎剎車(chē)合緊急開(kāi)關(guān)判斷</p><p><b> MOVA,P0</b></p><p> SUBB
42、A,#05H</p><p><b> JZZSJ</b></p><p> ZS:MOVP1,#27H ;左轉(zhuǎn)彎剎車(chē)指示</p><p> LCALLDELAY1</p><p> MOVP1,#00H</p><p><b>
43、 SETBP1.5</b></p><p> LCALLDELAY1</p><p><b> SJMPZZS</b></p><p> ZSJ:MOVP1,#3FH ;左轉(zhuǎn)彎剎車(chē)合緊急開(kāi)關(guān)指示</p><p> LCALLDELAY1</p&g
44、t;<p> MOVP1,#00H</p><p><b> SETBP1.5</b></p><p> LCALLDELAY1</p><p><b> SJMPZSJ</b></p><p> YZS:CLRC ;
45、右轉(zhuǎn)彎剎車(chē)合緊急開(kāi)關(guān)判斷</p><p><b> MOVA,P0</b></p><p> SUBBA,#06H</p><p><b> JZYSJ</b></p><p> YS:MOVP1,#3CH ;右轉(zhuǎn)彎剎車(chē)指示</p>
46、<p> LCALLDELAY1</p><p> MOVP1,#00H</p><p><b> SETBP1.2</b></p><p> LCALLDELAY1</p><p><b> SJMPYZS</b></p><p> Y
47、SJ:MOVP1,#3FH ;右轉(zhuǎn)彎剎車(chē)合緊急開(kāi)關(guān)指示</p><p> LCALLDELAY1</p><p> MOVP1,#00H</p><p><b> SETBP1.2</b></p><p> LCALLDELAY1</p><p&
48、gt;<b> SJMPYSJ</b></p><p> HJS:MOVP1,#3FH ;剎車(chē)時(shí)合緊急開(kāi)關(guān)指示</p><p> LCALLDELAY1</p><p> MOVP1,#00H</p><p><b> SETBP1.2</b>
49、</p><p><b> SETBP1.5</b></p><p> LCALLDELAY1</p><p><b> SJMPHJS</b></p><p><b> RETI</b></p><p> DELAY10:MOV
50、R7,#200 ;延時(shí)0.1s子程序</p><p> L:MOVR6,#123</p><p><b> NOP</b></p><p> L1:DJNZR6,L1</p><p><b> DJNZR7,L</b></p>
51、<p><b> RET</b></p><p> DELAY1:MOVR5,#10 ;延時(shí)1s子程序</p><p> L2:MOVR7,#200</p><p> L3:MOVR6,#123</p><p><b> NOP<
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【jl070】基于單片機(jī)的汽車(chē)燈控系統(tǒng)模擬設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--智能車(chē)燈控制系統(tǒng)
- eda課程設(shè)計(jì)--汽車(chē)燈控制器設(shè)計(jì)
- 【jl070】基于單片機(jī)的汽車(chē)燈控系統(tǒng)模擬設(shè)計(jì)
- 【jl070】基于單片機(jī)的汽車(chē)燈控系統(tǒng)模擬設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-單片機(jī)課程設(shè)計(jì)---電子時(shí)鐘
- 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)汽車(chē)轉(zhuǎn)向燈
- 汽車(chē)轉(zhuǎn)向燈單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--汽車(chē)轉(zhuǎn)向燈
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)串行通訊
- 單片機(jī)秒表單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)
- 汽車(chē)轉(zhuǎn)向燈單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---單片機(jī)數(shù)字時(shí)鐘
- 汽車(chē)燈光的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--單片機(jī)控制步進(jìn)電機(jī)
評(píng)論
0/150
提交評(píng)論