資源描述:
《汽車信號燈控制系統(tǒng)設(shè)計-實驗報告》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、河北工業(yè)大學計算機硬件技術(shù)基礎(chǔ)(MCS-51)2015年秋季綜合性、開放性實驗報告學院化工學院班級化工姓名學號一、題目:汽車信號燈控制系統(tǒng)設(shè)計二、目的和要求2.1目的⑴培養(yǎng)學牛綜合利用MCS-51單片機的軟硬件知識進行程序設(shè)計的能力,解決一些實際問題。⑵進一步加深對MCS-51單片機內(nèi)部結(jié)構(gòu)和程序設(shè)計方法的理解。(3)提高學生建立程序文檔、歸納總結(jié)的能力。2.2基本要求⑴認真分析實驗設(shè)計任務(wù)書,分析問題,解決問題;⑵要求用MCS-51單片機知識完成程序的設(shè)計。⑶利用實驗室現(xiàn)有設(shè)備在規(guī)定期限內(nèi)完成實驗。2.3創(chuàng)
2、新要求在基本要求達到后,可以進行創(chuàng)新設(shè)計,如更加完善程序功能。二'總體設(shè)計(1)車輛轉(zhuǎn)彎時,相應一側(cè)之前燈、尾燈及儀表板指示燈均應閃爍。即左轉(zhuǎn)時,左頭燈、左尾燈、儀表板左轉(zhuǎn)彎燈閃爍,右轉(zhuǎn)時則右頭燈、右尾燈和儀表板右轉(zhuǎn)彎燈閃爍;(2)緊急開關(guān)閉合時要求前述6個信號燈全部閃爍;(3)剎車時2個尾燈亮;(4)一般閃爍頻率為1Hz,高頻閃爍頻率為3Hz。通過6個發(fā)光二級管模擬兩個頭燈、兩個尾燈和儀表盤上的兩個指示的燈。利用開關(guān)模擬左轉(zhuǎn)、右轉(zhuǎn)、應急的狀態(tài),是信號燈相應閃爍。通過定吋/計數(shù)器控制燈的閃爍頻率。三、詳細設(shè)計
3、:一.碩件系統(tǒng)設(shè)計木課題中將要使用的硬件資源和相應的資源分配如下:①定時器/計數(shù)器TC/0oTC/0與軟件計數(shù)共同使用產(chǎn)生0.5秒延時(及0.1666秒延吋),TC/0采用方式1定時;②四個個開關(guān)(K1,SW1,SW2,SW3,)的開合來表示汽車當前的狀態(tài);③用六個個二極管來代替六個顯示燈;④使用I/O口的相應引腳連接發(fā)光二極管,P1口連接8個LED指示燈模擬車燈;P3口連接相應的控制開關(guān)(SW1?3),模擬轉(zhuǎn)向控制桿和應急開關(guān);Keyl模擬剎車踏板。剎車緊急情況左轉(zhuǎn)右轉(zhuǎn)5V硬件資源汽車狀態(tài)硬件資源對應車燈K
4、I(P3.2)剎車LD1(P1.1)左前SW1(P3.3)緊急情況LD2(P1.2)右前SW2(P3.4)左轉(zhuǎn)LD3(P1.3)左儀表SW3(P3.5)右轉(zhuǎn)LD4(P1.4)右儀表LD5(P1.5)左后LD6(P1.6)右后圖1汽車信號燈控制電路三.軟件系統(tǒng)設(shè)計啟動設(shè)置定時器0初值設(shè)置定時器0位模式1I軟件計數(shù)器初值允許定時器0中斷總允許屮斷啟動定時器q等待程序清單ORG8000HLJMPMAINORG800BHLJMPLOOP;系統(tǒng)初始化MAIN:MOVTMOD,#01H;定時器計時MOVTH0,#4CH;
5、定時器高八位置位MOVTL0,#00H;定時器低八位置位,定時50msMOVIE,#82H;中斷置位MOVR0,#00HMOVR2,#00HMOVP1,#0FFHSETBTRO;以上都是初始化LOOP:JBCTFOQOl;當中斷標志位溢出,即最小時間到,跳轉(zhuǎn)到D01LJMPLOOP;否則跳轉(zhuǎn)到LOOPDOI:JNBP3.3,Y【NGJI;p3.3二0,跳轉(zhuǎn)到Y(jié)INGJI(應急)JNBP3.4,ZUOZ;pl.6=l,跳轉(zhuǎn)到ZUOZ(左轉(zhuǎn))JNBP3.5,YOUZ;pl.7=l,跳轉(zhuǎn)到Y(jié)OUZ(右轉(zhuǎn))JNBP3
6、?2,SHACHE;p3.2=0,跳轉(zhuǎn)到剎車LJMPTING;否則跳轉(zhuǎn)到TING(停)YINGJI:MOVTH0,#4CHMOVTL0,#00HINCRO;R0加一CJNER0,#O6D,NEXTl;若R0=6,時間為6*50ms=300ms(約為3hz)CPLPl.0仮轉(zhuǎn)P1.0CPLPl.l;反轉(zhuǎn)P1.1CPLPl.2;反轉(zhuǎn)P1.2CPLPl.3仮轉(zhuǎn)P1.3CPLPl.4;反轉(zhuǎn)P1.4CPLPl.5;反轉(zhuǎn)P1.5MOVR0,#00H;R0清零JNBP3.3,NEXT1;若卩3.3(應急)=0,跳轉(zhuǎn)到NEX
7、T1LJMPDOI;否則跳轉(zhuǎn)到D01ZUOZ:MOVTH0,#4CHMOVTL0,#00HINCR2;R2加一CJNER2,#2OD,NEXT1;若R2=20(14H),時間為20*50ms=1000msCPLP1.0;反轉(zhuǎn)P1.0CPLPl.l仮轉(zhuǎn)Pl.lCPLPl.2;反轉(zhuǎn)Pl.2SETBPl.3;熄滅Pl.3SETBPl.4;熄滅Pl.4SETBPl.5;熄滅Pl?5MOVR2,#00H;R2清零JNBF3ANEXT1;若卩3?4(左轉(zhuǎn))二(),跳轉(zhuǎn)到NEXT1LJMPDOI;否則跳轉(zhuǎn)到DOIYOUZ:
8、MOVTH0,#4CHMOVTL0,#00HINCR2;右轉(zhuǎn)全部同上CJNER2,#2()D,NEXT1SETBPl.0SETBPl.lSETBPl.2CPLPl.3CPLPl.4CPLPl.5MOVR2,#00HJNBP3?5,NEXT1LJMPDOINEXT1:RETISHACHE:SETBP1.0;P1.0置1,燈滅SETBPl.l;P1?1置1,燈滅CLRPl.2;P1.2清零,左尾燈常亮S