帶數碼管顯示的交通燈模擬控制系統設計綜述_第1頁
帶數碼管顯示的交通燈模擬控制系統設計綜述_第2頁
帶數碼管顯示的交通燈模擬控制系統設計綜述_第3頁
帶數碼管顯示的交通燈模擬控制系統設計綜述_第4頁
帶數碼管顯示的交通燈模擬控制系統設計綜述_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、成績南京工程學院課程設計說明書(論文)題目帶數碼管顯示的交通燈模擬控制系統設計課程名稱微機原理及應用A院系能源與動力工程專業熱能與動力工程(生產過程自動化)班級熱自101學生姓名黃鄭學號207100615設計地點工程實踐中心8-216指導教師陸京、徐懂理設計起止時間:2012年12月3日至2012年12月7日一、方案說明21、硬件設計21.1 、硬件接線圖21.2 、主機接線說明32、軟件設計32.1、程序流程圖4二.源程序清單5三、調試現象10四、心得體會12五、參考文獻1316一、設計說明硬件方面:8253產生1HZ的方波,脈沖到8259的IR1端,產生中斷,調中斷服務子程序。在加入緊急車

2、道后,單脈沖()連到8259的IRO端,產生一個高級的中斷請求信號。軟件方面:主程序先對各個硬件初始化,在開CPU中斷,然后空操作,等待中斷。執行低級中斷(IR1)時,8255的PA口負責選數碼管,PB口負責顯示數字,用查表法可查到09的數碼管編碼。采用循環掃描方法,人眼即可看到連續的二位數。當倒計時減到零時,對紅綠燈取反。若手動上下撥動單脈沖()一次,則產生一個高級中斷(IR0),程序轉而執行此中斷處理程序,處理完后返回繼續執行低級中斷(IR1)。1、硬件設計1.1 、硬件接線圖SCSTOCwaa心如WfAU7IRjD?IR6D5LRjE和D?TRJD2IRJDI1R1DO工翱CASO_IN

3、7CAS1魚區GM5CA11:產口 CO JLibijDO 1)1 D nx DiUb 口一電WR雪 8255RESLIcsPA r.41 P,J PA4 PA? PAS PA7PBD PBiPB2 PBJ PB4PB$ PBS PB7PEP<1PCS PCJ PCS Pf fl PCT1.2 連線說明:C5區:CS、A0、A1A3區:CS3、A0、A1C5區:OUT0B3區:CLK1C5區:GATE。、GATE1C1區:VCCC5區:CLK0B2區:2MC5區:OUT1B3區:IR1B3區:CS、A0A3區:CS2、A0B3區:INT、INTAES8688:INTR、INTAB3區:I

4、R0B2區:單脈沖(丁L)B4區:CS、A0、A1A3區:CS1、A0、A1B4區:PA口、PB口G5區:CD、B口B4區:PC口G6區:JP65(LED燈)2、軟件設計1、程序流程圖二.源程序清單IO8259_0EQU0E000HIO8259_1EQU0E001HK8255AEQU0F000HK8255BEQU0F001HK8255CEQU0F002HK8255KEQU0F003HADD8253_0EQU0D000HADD8253_1EQU0D001HADD8253_2EQU0D002HADD8253_CEQU0D003HCOUNTEREQU60HRED_ONEQU0CCHRED_OFFEQ

5、U0FFHE_WEQU0C3HDATASEGMENT;8259地址偶地址端;8259地址奇地址端;8255的A口、B口、C口地址;8253計數通道1#、2#、3#和控制口地址;倒計時數;紅燈亮;紅燈滅;東西方向通行TABDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHCOUNTDBSCANDW485DATAENDSSTCKSEGMENTSTACKDW64DUPSTCKENDSCODESEGMENT;掃描次數ASSUMECS:CODE,DS:DATA,SS:STCKSTART:MOVAX,DATAMOVDS,AXMOVES,AXNOPMOVDX,K8255KMO

6、VAL,80HOUTDX,ALSTART1:MOVDX,K8255cMOVCX,4FLASH:MOVAL,RED_ONOUTDX,ALCALLDELAYMOVAL,RED_OFFOUTDX,ALCALLDELAYLOOPFLASHSTART2:MOVDX,ADD8253_CMOVAL,37H;寫8255控制字,A,B,C均為輸出,方式0;C口輸出,控制燈;紅燈亮;調延時;紅燈滅;寫8253控制字;0#計數器,讀寫16位低高字節,方式三,BCD碼OUTDX,ALMOVAX,1000HMOVDX,ADD8253_0OUTDX,ALMOVAL,AH;寫0#的計數初值1000H,根據輸入設定2M=10

7、00H*2000OUTDX,ALMOVDX,ADD8253_CMOVAL,77HOUTDX,ALMOVAX,2000HMOVDX,ADD8253_1OUTDX,ALMOVAL,AHOUTDX,ALMOVCOUNT,COUNTERCALLInit8259CALLWriIntver_8CALLWriIntver_9MOVCL,E_WMOVAL,CLMOVDX,K8255cOUTDX,ALSTINOPSTART3:JMP$,寫8253控制字;1#計數器,讀寫16位低高字節,方式三,BCD碼;寫1#計數初值2000H,根據輸入設定,方波頻率1HZ;寫計數值(紅綠燈變換的間隔時間);調8259初始化子程

8、序;調寫中斷向量表子程序;調寫中斷向量表子程序;給出中斷以外CPU的工作Init8259PROCNEARMOVDX,IO8259_0MOVAL,13HOUTDX,ALMOVDX,IO8259_1MOVAL,08HOUTDX,ALMOVAL,09HOUTDX,ALMOVAL,0FCHOUTDX,ALRETInit8259ENDPWriIntver_9PROCNEARPUSHESMOVAX,0MOVES,AXMOVDI,24H;8259初始化子程序;寫ICW1,邊沿觸發,單片,需寫ICW4;寫ICW2,確定中斷類型號;寫ICW4;寫OCW1,除IR0、IR1全屏蔽;寫中斷向量表子程序;中斷類型號9

9、,對應24H,25H,26H,27H四個單元LEA AX,INT_9 STOSWMOV AX,CS STOSW POP ESRETWriIntver_9 ENDPWriIntver_8 PROC NEAR PUSH ESMOV AX,0 MOV ES,AX MOV DI,20H LEA AX,INT_8 STOSW MOV AX,CS STOSWPOP ES RET WriIntver_8 ENDP INT_9:MOV AL,COUNTSUB AL,01H DASMOV COUNT,AL PUSH AX PUSH DX PUSH BX PUSH CXPUSH SCAN LOO: MOV AL,

10、55HMOV DX, K8255A OUT DX,AL MOV AL,COUNT MOV AH,AL MOV CL,4 SHR AL,CL LEA BX,TAB XLATMOV DX, K8255B OUT DX,AL CALL DL1msMOV AL,0 OUT DX,AL MOV AL,0AAH MOV DX, K8255A;取中斷服務程序IP;取中段服務程序CS;寫中斷向量表子程序;中斷類型號8,對應20H,21H,22H,23H四個單元;取中斷服務程序IP;取中段服務程序CS;中斷服務程序;保護循環值,否則取數碼管顯示會破壞;選高位數碼管;暫存AH;十進制轉數碼管編碼顯數;調延時;清除

11、OUTDX,AL;選低位數碼管MOVAL,AHSHLAL,CLSHRAL,CLXLAT;十進制轉數碼管編碼MOVDX,K8255BOUTDX,AL;顯數CALLDL1msMOVAL,0OUTDX,AL;清除DECSCANCMPSCAN,0JNZLOO;循環掃描POPSCANPOPCXCMPCOUNT,。JNZSTOP;計數到零則重新置數,并將燈取反,未到零則直接結束中斷子程序MOVCOUNT,COUNTERNOTCLMOVAL,CLMOVDX,K8255cOUTDX,ALSTOP:MOVDX,IO8259_0;結束中斷服務,寫OCW2,給8259送EOI命令,LSR1清零MOVAL,20HOU

12、TDX,ALPOPBXPOPDXPOPAXIRET;C 口輸出,控制燈;紅燈亮;調延時;紅燈滅INT_8:PUSHDXPUSHAXPUSHCXMOVDX,K8255cMOVCX,4A:MOVAL,RED_ONOUTDX,ALCALLDELAYMOVAL,RED_OFFOUTDX,ALCALLDELAYLOOPAMOVDX,IO8259_0;結束中斷服務,寫OCW2,給8259送EOI命令,LSR1清零MOVAL,20HOUTDX,ALPOPCXMOVDX,K8255cMOVAL,CLOUTDX,ALPOPAXPOPDXIRETDELAYPROC;延時子程序PUSHBXPUSHCXMOVBX,0

13、4HDELAY1:MOVCX,0FFFFHLOOP$DECBXJNZDELAY1POPCXPOPBXRETDELAYENDPDL1msPROCNEARPUSHAXPUSHCXMOVAX,0100HMOVCX,AXLOOP$POPCXPOPAXRETDL1msENDPCODEENDSENDSTART三、調試現象1、程序截圖呼文懈E溫幽口HSC0調目®運行如輔眥U編程時窗口t的幫的妙D|胃|。|0|-|:|P|國回國囿GUIt囪芝aBaaagirkaHiBEni技國-廟同回口同|LP | OCWCSuu-i7oooa融0000CK0000BKoooa31nnnaDIoooaBFuuddS

14、POOdJPSJ(OOESoo<T55loo4rlaloFloFFFr山山尋團回回國10825_0 EQU OEOOOH 1082159EQU DEOOIH 聒加勵EQU CFQOOH 蠲樂而EQU CFQDIH E3255C EQU OFDDZH E32&5K EW (JFDD5H仙口"53_口 M。戟53 ADD&253_2 iDM253_C COMTEREQUEWEQU EQUEQUI'Unnun dtOOiH iDDOaZB uduli 判 6aHRED OH EQU 3J RE»_OFF EQU OFFHEQU K3HDAIA SEG

15、HENIT前 DE 北用 D6B. 5BEL ”凡能印 6D凡 7DH.。7瓦 7FHB 6FH corar DB ?SC。1:¥ 電的DAIA EHDSSICK SEGrtEPn STACK g 的 DUF(?) SICK ENT'S COPE SEGREWlA5SW CS? CQffi , D5; DATA, 55: SICK中 31r:; BjV iKW JFIOV jgop JKiV編時"嶼AK 珥蟻口凡岫匹££W1V Al. flEDH融9 mt1雌址端眈59地址苛地址端施5的上口. E口. C口地址力26計頻:通道誠, 冰 泳和控常地

16、址.倒計時救,紅燈亮 匍燈火,東西方向通行:舊描跋題,與22弱控耨字.&凡C均為帖出.方式UIAI行】口,列E: GA.遇臨完畢2365上再出告2調試現象程序調試時,交通信號燈系統初始狀態為所有紅燈閃爍4次,數碼管此時不顯示;系統初始狀態之后東西向車行道綠燈亮,南北向車道紅燈亮,此時數碼管從60秒倒計時;當數碼管數字減為0時,東西向、南北向紅綠燈交換亮,即南北向車行道綠燈亮,東西向車道紅燈亮,此時數碼管重新從60秒開始計數,數碼管數字減為0秒后,紅綠燈再次交換,如此循環重復。當道路發生緊急狀況時,可撥單脈沖,使調試狀態重新進入初始化,此時數碼管停止計時(滅),初始化狀態結束后,繼續從剛

17、剛被停止時刻開始計時,紅綠燈狀態仍為停止時刻的狀態。SJjOfTUrCQHc.四、心得體會一個星期的微機原理課程設計終于結束了。在整整一星期的日子里,可以說得是苦盡甘來,從剛開始的完全迷惑到最后的豁然開朗,真是經歷了很多,但是卻讓我們學到很多的東西,不僅可以鞏固了課上所學過的理論知識,而且學到了很多在書本上所沒有學到過的知識。以前在上課的時候,老師經常強調在寫一個程序的時候,一定要事先把程序原理方框圖畫出來,但是我開始總覺得這樣做沒必要,很浪費時間。但是,這次課程設計完全改變了我以前的那種錯誤的認識,以前我接觸的那些程序都是很短、很基礎的,但是在課程設計中碰到的那些需要很多代碼才能完成的任務,

18、畫程序方框圖是很有必要的。因為通過程序方框圖,在做設計的過程中,我們每一步要做什么,每一步要完成什么任務都有一個很清楚的思路,而且在程序測試的過程中也有利于查錯。通過這次課程設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,難免會遇到過各種各樣的問:調試程序時,發現只有初始化狀態顯示,知道了中斷程序進不去,就開始查中斷程序,最后查出原來是沒寫STI等待中斷,所以中斷才進不去。在檢查錯誤的過程中發現會自己的不足之處,發現自己對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,同時對知識的理解和接受能力還不是太強。這次課程設計任務終于順利完成了,在設計中遇到了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論