資源描述:
《汽車信號(hào)燈控制系統(tǒng)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、編號(hào):河北工業(yè)大學(xué)計(jì)算機(jī)硬件技術(shù)基礎(chǔ)綜合實(shí)驗(yàn)設(shè)計(jì)報(bào)告班級(jí)建環(huán)111姓名:李孟斐王培志習(xí)震雄學(xué)號(hào):110585110591110594__成績______一、題目:汽車信號(hào)燈控制系統(tǒng)二、系統(tǒng)功能的描述1.車輛轉(zhuǎn)彎時(shí),相應(yīng)一側(cè)之前燈、尾燈及儀表板指示燈均應(yīng)閃爍。即左轉(zhuǎn)時(shí),左頭燈、左尾燈、儀表板左轉(zhuǎn)彎燈閃爍,右轉(zhuǎn)時(shí)則右頭燈、右尾燈和儀表板右轉(zhuǎn)彎燈閃爍。2.緊急開關(guān)閉合時(shí)要求前述6個(gè)信號(hào)燈全部以高頻閃爍頻率閃爍。3.剎車時(shí)2個(gè)尾燈亮,若轉(zhuǎn)彎時(shí)剎車,則轉(zhuǎn)彎時(shí)原應(yīng)閃爍的信號(hào)燈仍應(yīng)閃爍。4.一般閃爍頻率為1Hz,高頻閃爍頻率為3Hz。三、描述設(shè)計(jì)方案通
2、過6個(gè)發(fā)光二極管模擬兩個(gè)頭燈、兩個(gè)尾燈和儀表盤上的兩個(gè)指示燈。利用四個(gè)開關(guān)模擬剎車、左轉(zhuǎn)、右轉(zhuǎn)、緊急、剎車左轉(zhuǎn)、剎車右轉(zhuǎn)的狀態(tài),使信號(hào)燈相應(yīng)閃爍或發(fā)亮。通過定時(shí)/計(jì)數(shù)器控制燈的閃爍頻率。四、硬件設(shè)計(jì)1.a(chǎn).定時(shí)器/計(jì)數(shù)器T/C0,使用T/C0產(chǎn)生0.5秒延時(shí),T/C0采用方式1定時(shí);b.四個(gè)開關(guān)(K1,K2,K3,K4)的開合來表示汽車當(dāng)前的狀態(tài);c.用六個(gè)發(fā)光二極管來代替六個(gè)顯示燈。2.硬件資源汽車狀態(tài)硬件資源對(duì)應(yīng)車燈K1(P3.2)剎車(0)LD1(P1.1)左前K2(P3.3)緊急情況(1)LD2(P1.2)右前第6頁/共6頁編號(hào):
3、K3(P3.4)左轉(zhuǎn)(2)LD3(P1.3)左儀表K4(P3.5)右轉(zhuǎn)(4)LD4(P1.4)右儀表剎車左轉(zhuǎn)(3)LD5(P1.5)左后剎車右轉(zhuǎn)(5)LD6(P1.6)右后3.五、軟件設(shè)計(jì)六、程序清單第6頁/共6頁編號(hào):ORG0000HLJMPMAIN;轉(zhuǎn)到主程序ORG000BHLJMPTIMER0;轉(zhuǎn)到T/C0的中斷服務(wù)程序TIMER0ORG0100HMAIN:MOVTMOD,#01H;通過工作模式寄存器置T/C0為四種方式之一的方式1MOVTH0,#60;設(shè)置T/C0的定時(shí)初值MOVTL0,#176SETBET0;T/C0的溢出中斷控
4、制位,允許中斷SETBEA;CPU開放中斷MOVP1,#0FFH;設(shè)置所有燈的初始狀態(tài)為全滅MOVR1,#0;R1用來決定頻率,一般閃爍R1=10,高頻閃爍R1=3MOVR2,#0;R2用來設(shè)置汽車的六種狀態(tài),R2=0~5MOVR3,#0;R3用來設(shè)置開關(guān)狀態(tài),R3=0,1SM:JNBP3.2,SC;若P3.2為0則跳轉(zhuǎn)到剎車SC,否則繼續(xù)執(zhí)行JNBP3.3,JJQK;若P3.3為0則跳轉(zhuǎn)到緊急情況JJQK,否則繼續(xù)JNBP3.4,ZZ;若P3.4為0則跳轉(zhuǎn)到左轉(zhuǎn)ZZ,否則繼續(xù)JNBP3.5,YZ;若P3.5為0則跳轉(zhuǎn)到右轉(zhuǎn)YZ,否則繼續(xù)
5、SJMPSMSC:JNBP3.4,SCZZ;若P3.4為0則跳轉(zhuǎn)到剎車左轉(zhuǎn)SCZZ,否則繼續(xù)JNBP3.5,SCYZ;若P3.5為0則跳轉(zhuǎn)到剎車右轉(zhuǎn)SCYZ,否則繼續(xù)SETBTR0;啟動(dòng)T/C0定時(shí)MOVR2,#0;汽車處于剎車狀態(tài)SJMPSMSCZZ:SETBTR0MOVR2,#3;剎車左轉(zhuǎn)狀態(tài)SJMPSMSCYZ:SETBTR0MOVR2,#5;剎車右轉(zhuǎn)狀態(tài)SJMPSMJJQK:SETBTR0MOVR2,#1;緊急情況狀態(tài)SJMPSMZZ:JNBP3.2,ZZSC;若P3.2為0則跳轉(zhuǎn)到左轉(zhuǎn)剎車狀態(tài),否則繼續(xù)執(zhí)行SETBTR0MOVR
6、2,#2;左轉(zhuǎn)狀態(tài)SJMPSMZZSC:SETBTR0第6頁/共6頁編號(hào):MOVR2,#3;左轉(zhuǎn)剎車狀態(tài)SJMPSMYZ:JNBP3.2,YZSC;若P3.2為0則跳轉(zhuǎn)到右轉(zhuǎn)剎車,否則繼續(xù)執(zhí)行SETBTR0MOVR2,#4;右轉(zhuǎn)狀態(tài)SJMPSMYZSC:SETBTR0MOVR2,#5;右轉(zhuǎn)剎車狀態(tài)SJMPSMORG0800HTIMER0:MOVTH0,#60;為T/C0重裝定時(shí)初值MOVTL0,#176INCR1;R1自動(dòng)加1,記錄中斷次數(shù)CLRA;累加器清零MOVA,P3ANLA,#3CH;取用八個(gè)開關(guān)中的P3.2~P3.5四個(gè)開關(guān)CJ
7、NEA,#3CH,PD;判斷開關(guān)有無按下,若有轉(zhuǎn)至PD,若無繼則繼續(xù)CLRTR0;停止計(jì)數(shù)MOVP1,#0FFH;燈全滅SJMPSTOPPD:CJNER2,#1,MAN;判斷此中斷是否是緊急情況,若是繼續(xù)執(zhí)行,否則跳轉(zhuǎn)到MANCJNER1,#3,STOP;判斷計(jì)時(shí)是否為150ms,若是繼續(xù)執(zhí)行,否則跳出中斷MOVR1,#0;R1清零CJNER3,#0,NC1MOVP1,#81H;六盞燈全亮INCR3SJMPSTOPNC1:MOVP1,#0FFH;燈全滅MOVR3,#0SJMPSTOPMAN:CJNER1,#10,STOP;判斷計(jì)時(shí)是否為5
8、00ms,若是則繼續(xù),否則跳出中斷MOVR1,#0CJNER2,#0,TWO;判斷是否是狀態(tài)0引起的中斷MOVP1,#9FHSJMPSTOPTWO:CJNER2,#2,THREE;判斷是否是狀