版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、微機原理課程設計報告書湖南科技大學信息與電氣工程學院微機原理與接口技術課程設計題 目: 模擬交通燈 專 業(yè): 通信工程 班 級: 通信一班 姓 名: 學 號: 指導老師: 歐青立 目錄前 言1第一章:模擬交通燈的功能與設計方案11.1 功能規(guī)劃11.2 設計思路1第二章:模擬交通燈的硬件電路 1 2.1 8255A與8259A芯片原理12.2 交通燈控制模塊電路設計42.3 倒計時顯示模塊電路設計52.4 中斷電路設計52.5 PCB圖 5第三章:模擬交通燈的軟件設計 63.1 程序流程圖63.2 程序代碼6第四章:模擬交通燈的調試104.1 調試過程 104.2 調試中產(chǎn)生的問題以及解決辦法
2、 11第五章:設計體會與小結11參考文獻 12前言 此次課程設計為模擬交通燈,是采用計算機通過編寫匯編語言程序控制的。紅燈停,綠燈行的交通規(guī)則。廣泛用于十字路口,車站, 碼頭等公共場所,成為人們出行生活中不可少的必需品,由于計算機技術的成熟與廣泛應用,使得交通燈的功能多樣化,遠遠超過老式交通燈, 交通燈的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了交通燈的功能。諸如閃爍警示、鳴笛警示,時間程序自動控制、倒計時顯示,所有這些,都是以計算機為基礎的。還可以根據(jù)主、次干道的交通狀況的不同任意設置各自的不同的通行時間。或者給紅綠色盲聲音警示的人性化設計?,F(xiàn)在的交通燈系統(tǒng)很
3、多都增加了智能控制環(huán)節(jié),比如對闖紅燈的車輛進行拍照。當某方向紅燈亮時,此時相應的傳感器開始工作,當有車輛通過時,照相機就把車輛拍下。 要將交通燈系統(tǒng)產(chǎn)品化,應該根據(jù)客戶不同的需求進行不同的設計,應該在程序中增加一些可以人為改變的參數(shù),以便客戶根據(jù)不同的需要隨時調節(jié)交通燈。因此,研究交通燈及擴大其應用,有著非?,F(xiàn)實的意義。第一章:模擬交通燈的功能與設計方案1.1 功能規(guī)劃通過調研與資料搜尋,了解交通燈的工作過程。經(jīng)過分析,該課程設計采用定時加中斷控制的方式進行,對兩個方向車輛的通行時間分別計時。在運行的過程中要顯示紅綠燈等待時間,使程序順利運行,交通燈持續(xù)工作。1.2 設計思路1南北方
4、向車輛放行9秒鐘。即東西方向紅燈和南北方向的綠燈同時點亮9鐘; 29秒鐘后,南北方向的綠燈閃爍三次,以警示車輛將切換紅綠燈。此時東西方向仍維持紅燈點亮。 3南北方向的綠燈閃爍三次后,轉為東西方向放行9秒鐘。即東西方向的綠燈和南北方向的紅燈同時點亮9秒鐘; 4東西方向放行9秒鐘后,轉為東西方向的綠燈閃爍三次,以警示將切換紅綠燈。此時南北方向仍維持紅燈點亮。 5東西方向的綠燈閃爍三次后轉為南北方向放行9秒鐘。如此循環(huán)重復。第二章 :模擬交通燈的硬件電路2.1 8255A與8259A芯片原理2.1.1 8255A芯片介紹(1)芯片概述Intel 8086/80
5、88 系列的可編程外設接口電路(Programmable Peripheral Interface)簡稱 PPI,型號為8255(改進型為8255A及8255A-5),具有24條輸入/輸出引腳、可編程的通用并行輸入/輸出接口電路。它是一片使用單一+5V電源的40腳雙列直插式大規(guī)模集成電路。全部輸入輸出均與TTL電平兼容。他有三個輸出端(端口A、端口B、端口C),每側端口都可以通過編程設定為輸入端口或輸出端口,芯片還有為輸入輸出端口提供的控制聯(lián)絡信號,端口尋址信號等。(2)8255A的內部結構8255A內部由PA、PB、PC三個8位可編程雙向I/O口,A組控制器和B組控制器,數(shù)據(jù)緩沖器及讀寫控制
6、邏輯四部分電路組成。 (3) 8255A的引腳功能 數(shù)據(jù)總線(8條):D0D7,用于傳送CPU和8255A間的數(shù)據(jù)、命令和狀態(tài)字。 控制總線(6條):RESET:復位線,高電平有效。 /CS:片選線,低電平有效。 /RD、/WR:/RD為讀命令線,/WR為寫命令線,皆為低電平有效。A0、A1:地址輸入線:用于選中PA、PB、PC口和控制寄存器中哪一個工作。 并行I/O總線(24條) :用于和外設相連,共分三組 (4)8255A控制字和狀態(tài)字8255A有兩個控制字:方式控制字和C口置位/復位控制字。用戶通過程序可以把這兩個控制字送到8255A的控制寄存器,以設定8255A的工作方式和C口各位狀態(tài)
7、。方式控制字用于設定8255A三個端口工作于什么方式,是輸入還是輸出方式。 方式控制字:方式控制字用于設定8255A三個端口工作于什么方式,是輸入還是輸出方式。 圖2.1.1(2)工作方式控制字 圖2.1.1(3) 復位控制字C口置位/復位控制字本控制字可以使C口各位單獨置位或復位,以實現(xiàn)某些控制功能。見圖 2.1.2 8259A芯片介紹(1)芯片概述8259A是專門為了對8085A和8086/8088進行中斷控制而設計的芯片,它是可以用程序控制的中斷控制器。單個的8259A能管理8級向量優(yōu)先級中斷。在不增加其他電路的情況下,最多可以級聯(lián)成64級的向量優(yōu)級中斷系統(tǒng)。8259A有多種工作方式,能
8、用于各種系統(tǒng)。各種工作方式的設定是在初始化時通過軟件進行的。 在總線控制器的控制下,8259A芯片可以處于編程狀態(tài)和操作狀態(tài),編程狀態(tài)是CPU使用IN或OUT指令對8259A芯片進行初始化編程的狀態(tài)。(2)8259A的內部結構結構如圖2.1.21)中斷請求寄存器(IRR),中斷請求寄存器(IRR)為8位,接受來自IR0IR7的中斷請求信號,當IR0IR7上出現(xiàn)某一中斷請求信號時,IRR對應位被置1; 2)中斷屏蔽寄存器IMR,中斷屏蔽寄存器IMR 為8位(8個中斷輸入),若IRR(中斷請求寄存器)中記錄的8個中斷請求中有任何一個需要屏蔽,只要將IMR的相應位置1即可,未被屏蔽的中斷請求可以進入
9、優(yōu)先權判別器;它的內容由CPU通過對8259初始化時設置設定。3)中斷服務寄存器ISR,8位,保存當前正在處理的中斷請求,例如,如果ISR的D2=1,表示CPU正在為來自IR2的中斷請求服務。4)優(yōu)先權判別器PR,若某中斷請求正在被處理,8259A外部又有新的中斷請求,則由優(yōu)先權判別器將新進入的中斷請求和當前正在處理的中斷進行比較,以決定哪一個優(yōu)先級更高。若新的中斷請求比正在處理的中斷級別高,由PR通過控制邏輯向CPU發(fā)出中斷申請INT,正在處理的中斷自動被禁止,先處理級別高的中斷。5)數(shù)據(jù)總線緩沖器,用于8259A與數(shù)據(jù)總線的接口,傳輸命令控制字、狀態(tài)字和中斷類型碼。6)讀/寫控制邏輯,確定
10、數(shù)據(jù)總線緩沖器中數(shù)據(jù)的傳輸方向,選擇內部的各命令字寄存器。當CPU發(fā)讀信號時將8259A的狀態(tài)信息放到數(shù)據(jù)總線上;當CPU發(fā)寫信號時,將CPU發(fā)來的命令字信息送入指定的命令字寄存器中。7)級聯(lián)緩沖/比較器,用來存放和比較在系統(tǒng)中用到的所有8259A的級聯(lián)地址。主控8259A通過CAS0、CAS1和CAS2發(fā)送級聯(lián)地址,選中從控8259A。(3) 8259A的功能 功能:就是在有多個中斷源的系統(tǒng)中,接受外部的中斷請求,并進行判斷,選中當前優(yōu)先級最高的中斷請求,再將此請求送到cpu的INTR端;當cpu響應中斷并進入中斷子程序的處理過程后,中斷控制器仍負責對外部中斷請求的管理。(4)8259A操作
11、命令字操作命令字如下:2.2 交通燈控制模塊電路設計 交通燈控制模塊采用8255控制四個雙色燈來實現(xiàn),用8255的PC口連接實驗板上的雙色燈模塊,PA0PA7分別連接雙色燈的DG0、DG1、DG2、DG3、DR0、 DR 1、DR2、 DR3。8255片選端cs接74ls138譯碼電路模塊的210H口。電路如圖:2.3 倒計時顯示模塊電路設計計時模塊電路采用實驗板上的串并轉換模塊來實現(xiàn),用8255的PA0口連接到串并轉換模塊的數(shù)據(jù)端,用PB0產(chǎn)生clk脈沖,連接到串并轉換模塊的脈沖端口。電路如圖:2.4 中斷模塊電路電路如圖:采用IR0作為中斷源。CS片選接138譯碼器Y0。2.5 PCB圖第
12、三章:模擬交通燈的軟件設計3.1 設計流程圖清LED四燈全紅延時初始化設置8255各口為輸出南北綠燈,東西紅燈,延時綠燈閃三次南北黃燈,延時南北紅燈,東西綠燈,延時綠燈閃三次東西黃燈,延時3.2程序代碼:程序代碼如下:6.程序代碼:;程序標識初始化PA0 EQU 0210H ;將8255PA口地址標識為PAPB0 EQU 0211H ;8255PB口地址PC EQU 0212H ;8255PC口地址PCT EQU 0213H ;8255控制口地址DATA SEGMENT PB DB ?DATA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?) ;定義堆棧大小50
13、word DW類型TOP EQU LENGTH STA ;指向棧頂STACK ENDS;開始CODE SEGMENT ;代碼段開始聲明ASSUME CS:CODE,DS:CODE ;假定偽指令,CODE為代碼段START: MOV AL,13H ;初始化8259A MOV DX,200H OUT DX,AL MOV AL,8 MOV DX,201H OUT DX,AL MOV AL,01H OUT DX,AL MOV AX,0 MOV DS,AX LEA AX,INT0 MOV DS:4*8,AX MOV AX,CS MOV DS:4*8+2,AX IN AL,DX AND AL,0FEH O
14、UT DX,AL PUSH CS ;壓棧指令,將IP壓棧,用于保存斷點 POP DS ;出棧指令 MOV DX,PCT ;設置8255口為輸出口 MOV AL,10000000B ;全輸出模式 OUT DX,AL MOV DX,PC ;設置PC口為輸出電平端口 MOV AL,00H ;四個雙色LED都置低電平 OUT DX,AL MOV DX,PC MOV AL,0FH OUT DX,AL MOV BX,7fH CALL DELAY BEGIN: MOV AL,96H ;上下綠燈,左右紅燈 OUT DX,AL MOV BX,D2 CALL TIME ;倒計時9秒 MOV DX,PC ;上下左右
15、燈均亮紅燈 MOV CX,03H JNZ UPDOWN UPDOWN: MOV AL,9FH ;上下綠燈滅 OUT DX,AL MOV BX,D1 CALL DELAY MOV AL,96H ;上下綠燈亮 OUT DX,AL MOV BX,D1 CALL DDELAY LOOP UPDOWN ;循環(huán)至UPDOWN,循環(huán)cx次,執(zhí)行一次cx減一 MOV AL,06H ;上下燈黃色 OUT DX,AL MOV BX,D1 CALL DELAY MOV BX,D1 CALL DELAY MOV AL,69H ;上下燈紅,左右燈綠 OUT DX,AL MOV BX,D2 CALL TIME ;倒計時9
16、秒 MOV DX,PC ;將PC口地址送dx MOV CX,03LEFTRT: MOV AL,6FH ;左右綠燈滅 OUT DX,AL MOV BX,D1 CALL DELAY MOV AL,69H ;左右綠燈亮 OUT DX,AL MOV BX,D1 CALL DELAY LOOP LEFTRT ;循環(huán)至LEFTRT,循環(huán)cx次,執(zhí)行一次cx減一 MOV AL,09H ;左右燈黃色 OUT DX,AL MOV BX,D1 CALL DELAY MOV BX,D1 CALL DELAY STI ;開中斷 JMP BEGIN ;無條件跳轉至BG ;【九秒計時程序 】TIME PROC NEAR
17、PUSH DX ;壓棧,用來保護原先各寄存器的值PUSH CXPUSH AXPUSH BX BEGIN1: MOV AL,0 MOV CH,0NUMBER1: MOV AH,AL LEA BX,LED XLAT ;XLAT為查表命令,其操作為BX+AL->AL MOV CL,8H ;設置一個初值 NUMBER2: MOV DX,PA0 OUT DX,AL PUSH AX MOV DX,PB0 ;利用8255PB0口控制DCLK時鐘信號。 MOV AL,0AH ;PB0置"0" OUT DX,AL MOV AL,0BH ;PB0置"1" OUT DX
18、,AL POP AX RCR AL,1 ;將AL右移一位 DEC CL ;自減1,初值在前面設置為8H CMP CL,0 ;比較指令,相等,則影響標志位zf=1、cf等 JNZ NUMBER2 ;ZF為0時跳轉 CALL DELAY MOV AL,AH INC AL ;AL+1 INC CH CMP CH,0AH ;循環(huán)10次 JBE NUMBER1 ;調用數(shù)碼管 POP DX POP CX POP BX POP AX ;出棧,還原個寄存器的值 RET TIME ENDP ;【中斷程序】 INT0: PROC NEAR PUSH CX PUSH AX PUSH BX MOV AL,0F6H O
19、UT DX,AL MOV CX,10 ;設置循環(huán)初值次數(shù)DEY0: CALL DELAY LOOP DEY0 POP BX ;出棧 POP AX POP CXBG2: MOV DX,200H MOV AL,20H OUT DX,AL IRETINT0 ENDP;【延時子程序】DELAY PROC NEAR PUSH CX MOV BL,25XH: MOV CX,2810H LOOP $ DEC BL JNZ XH POP CX RET DELAY ENDP;【數(shù)碼管9到0】LED: DB 09H,01H,1FH,41H,49H,99H,0DH,25H,9FH,03H ;9 8 7 6 5 4
20、3 2 1 0CODE ENDS END START 第四章:模擬交通燈的調試4.1調試過程按照硬件電路設計連接好實驗板上的電路后,使用adk88軟件編寫程序,程序編寫完成后點擊編譯,確認無錯誤后打開實驗板電源。點擊鏈接,使PC機與實驗板之間通信。完成程序里所描述的寫入控制字等操作。然后觀察實驗板上的紅綠燈閃爍情況以及串并轉換模塊里的倒計時情況是否順利。4.2 調試中產(chǎn)生的問題以及解決辦法 a) 軟件延時調節(jié)不精確采用軟件延時,設計簡單,使用方便,但是無法進行精確計時,因此燈光閃爍間隔不明確。調節(jié)至大約一秒轉換一次這個過程比較繁瑣。后來經(jīng)過查資料,統(tǒng)一使用一個1s的延時程
21、序,解決了這個問題。b)顯示模塊出現(xiàn)亂碼剛開始使用8253計時,然后8255連接數(shù)碼管顯示倒計時。但是實現(xiàn)較為復雜而且實驗板結構限制,因此聽取老師建議,使用了串并轉換模塊的倒計時而沒有采用8253計時,節(jié)約了端口數(shù)的資源占用。比較好地解決了這個問題。c) 地址發(fā)生沖突導致沒觀察到想要的交通燈循環(huán)現(xiàn)象 剛開始調試時,8259A地址與8255A地址由于實驗板原因需要公用一個138譯碼器進行地址譯碼,在實驗中也需要加載初始化程序和中斷服務程序,并且需要指定中斷服務地址和中斷向量號。于是在初始化程序之后再加壓棧出棧操作,解決了這個問題。第五章:設計體會與小結首先感謝這兩周以來各位老師與研究生學長學姐對我們各種問題的耐心回答與給予我們的幫助。此次課程設計可以說是獲益匪淺。通過查閱了很多資料,了解了許多匯編程序的思想,擴展了自己的視野,不再僅僅局限于書本中幾條簡短的程序,而且更重
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年江蘇理工學院公開招聘工作人員64人備考題庫及1套完整答案詳解
- 5G+AI慢病隨訪的實時干預機制
- 3D打印輸尿管支架的尿液流速優(yōu)化
- 2025年佛山市三水區(qū)殯儀館編外人員招聘備考題庫及參考答案詳解1套
- 廣東省汕頭市潮南區(qū)陳店公辦八校2024-2025學年九年級上學期12月期末聯(lián)考化學試題(含答案)
- 2型糖尿病口服藥聯(lián)合治療策略
- 福州江南水都中學2026年工作人員招聘備考題庫及參考答案詳解
- 2025年重慶新華出版集團招聘53人備考題庫及一套完整答案詳解
- 2025年自貢市第一人民醫(yī)院招聘學科帶頭人的備考題庫及完整答案詳解1套
- 2025年洛陽國宏貿(mào)易發(fā)展集團有限公司公開招聘備考題庫附答案詳解
- 理賠管理經(jīng)驗分享
- 設計外包框架合同范本
- DB44∕T 1297-2025 聚乙烯單位產(chǎn)品能源消耗限額
- 講給老年人聽的助聽器
- 大清包勞務合同樣本及條款解讀
- 醫(yī)德醫(yī)風建設專題黨課講稿:堅守醫(yī)者仁心 永葆清廉本色
- 2025年低空經(jīng)濟行業(yè)碳排放核算方法與案例分析報告
- 生物學英漢詞匯
- DBJ04-T511-2025 城市橋梁生命線安全工程監(jiān)測技術標準
- 2025年國家開放大學(電大)《計算機組成原理》期末考試備考試題及答案解析
- T-CAV 011-2025 預防接種不良反應個案評估技術規(guī)范
評論
0/150
提交評論