資源描述:
《盧偉《計(jì)算機(jī)原理》設(shè)計(jì)報告》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、題目:交通燈自動控制系統(tǒng)設(shè)計(jì)一、設(shè)計(jì)要求:利用實(shí)驗(yàn)臺上的彩色LED模擬兩組“紅—黃—綠”交通信號指示燈,將其分別作為主干道和支線道路的信號燈。具體要求如下:利用82543實(shí)現(xiàn)秒定時。主干線綠燈亮6秒,支線亮5秒。綠燈過渡到紅燈時有兩秒的黃燈顯示(可用閃爍效果)周期;順序(狀態(tài))(空)主干路(南北)信號燈支線路(東西)信號燈狀態(tài)字(16進(jìn)制)D7D6D5D4D3D2D1DO■■紅黃綠紅黃綠100001100OCH---主干路行20001010014H……主干路轉(zhuǎn)換30010000121H—-支線路行40010
2、001022H—--支線路轉(zhuǎn)換表3.1.3:信號燈狀態(tài)字表1.設(shè)定D8255A的PC口作輸出、顯示信號燈的效果;2.設(shè)定8253的CNTO做分頻器,將1MHZ信號分頻為100H乙再由CNT1將100HZ分頻為周期為5秒的周期性方波(模式2);3.將D8255A的PA口設(shè)定為輸入,并使用PAO與8253的0UT1連接,CPU通過查詢PAO的電平變化(秒信號),控制信號燈運(yùn)行(即每5秒鐘改變一次信號燈的狀態(tài));4.分別使用兩個單脈沖的輸出(正的脈沖數(shù)出)與386模塊的MIR5和SIRO連接,作為“南北”和“東西
3、”人行橫道的“緊急通行”呼叫信號。當(dāng)產(chǎn)生呼叫信號后,該方向的信號燈變?yōu)榫G色,維持一段時間后,信號燈恢復(fù)正常運(yùn)行。二、設(shè)計(jì)分析及系統(tǒng)方案對8255進(jìn)行初始化配置,設(shè)定PA為輸入,PB.PC為輸出功能,分別控制數(shù)碼管及交通燈組?使用8253對外部輸入的1MHz時鐘進(jìn)行分頻,得到1Hz時鐘脈沖.將此時鐘信號輸入PAon,并使用査詢法,對PAon狀態(tài)進(jìn)行劌斷,檢測pao=o則進(jìn)行計(jì)?數(shù)器的累加操作,并根據(jù)計(jì)數(shù)器的數(shù)值進(jìn)行交通燈的轉(zhuǎn)換及數(shù)碼管的倒計(jì)時顯示操作.使用8259對過?路信號進(jìn)行相應(yīng),在中斷中進(jìn)行燈的強(qiáng)制變換
4、。三、硬件電路MIR5!SIRO;I;!總線:i開放區(qū):
5、I單脈沖S9
6、單脈沖S108255L7系統(tǒng)總線?A0210HO?心PAO系統(tǒng)總線?/RD?/WR?A18254/8253D70UT2...CLK2DOGATE2OUT2>/RDCLK2A/WRGATE2>A1OUTOAAOCLKOGATEO200HO?/cs圖1破件電路圖四、流程圖五、程序清單datasegmentio8255equ200hio8255_bequ201hio8255_cequ202hio8255_kequ203hio_address
7、equ210hshumaguanequ220hcountdb0000bportcldb0ch,14h,21h,22h/0ffh;Offh為結(jié)束標(biāo)志leddb06h,5bh,4fh,66h,6dh,7dh;1,2,3,4數(shù)碼管顯示dataendscodesegmentassumecs:code,ds:datastart:cli;關(guān)屮斷;8255movax,datamovds,ax;設(shè)定數(shù)據(jù)段寄存器movdx,io8255_k;指向8255A的控制口moval,90houtdx,al;設(shè)置8255A的C口:82
8、54movdx,io_address+3;8253初始化movalz00110111b;計(jì)數(shù)器0方式3outdx,al;二進(jìn)制計(jì)數(shù)先低后高movdx,io_addressmoval,0outdx,aloutdx,al;8253初始化;計(jì)數(shù)器1方式3;二進(jìn)制計(jì)數(shù)先低后高;寫初值500movdx,io_address+3moval,01110100boutdx,almovdx,io_address+1movalzlH10100boutdx,almoval,loutdx,al;OUT1時鐘5smovdx,io_a
9、ddress+3moval,10010110b;計(jì)數(shù)器2方式3outdx,al;二進(jìn)制計(jì)數(shù)先低后高movdx,io_address+2moval,100;寫初值100outdx,al;OUT1時鐘Is■8259inal,21h;8259初始化andalz11011011b;開放主片IR5中斷和一個從片輸入out21h,alinal,Oalhandal,11111110b;開放從片IR0中斷outOalh,al設(shè)置中斷向量表pushds;設(shè)置中斷向量表movax,0movds,ax設(shè)置MIRS對應(yīng)的中斷向量…
10、leaax,cs:int_procl;ax指向屮斷程序入口movsi,35haddsi,siaddsi,simovds:[si],axpushcspopaxmovds:[si+2],ax■??設(shè)置MIR5對應(yīng)的中斷向量?■■leaax,cs:int_proc2;ax指向中斷程序入口movsi,70haddsi,siaddsi,simovds:[si],axpushcspopaxmovds:[si+2],axpop