微機(jī)原理與接口技術(shù)課程設(shè)計(jì)---交通燈顯示系統(tǒng)_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  微機(jī)原理與接口技術(shù)課程設(shè)計(jì)</p><p>  題 目: 交通燈顯示系統(tǒng) </p><p>  學(xué) 院: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 </p><p><b>  設(shè)計(jì)任務(wù)</b></p><p>  利用唐都實(shí)驗(yàn)箱,模擬十字路口交通燈顯示系統(tǒng)。</p

2、><p><b>  具體要求如下:</b></p><p>  一:東西與南北的交通燈定時(shí)30秒交換紅綠燈一次。</p><p>  二:每次紅綠燈交換之間要求黃色燈閃爍3秒。</p><p>  三:在緊急車輛(如消防車、救護(hù)車)通過時(shí),四邊街道均顯示紅燈,以便緊急車輛順利通過,而其它車輛暫停行駛。緊急車輛通過后,交通燈

3、自動(dòng)恢復(fù)原來的顏色標(biāo)志。</p><p>  四:當(dāng)一個(gè)方向綠燈亮后6秒無車通過則切換到另一路綠燈亮。</p><p>  五:在數(shù)碼管上顯示已計(jì)時(shí)多少時(shí)間。</p><p><b>  二.方案設(shè)計(jì)</b></p><p>  本實(shí)驗(yàn)用到的芯片有8253、8255A、8259A,其中8253利用計(jì)數(shù)器2來計(jì)時(shí),8255

4、A的A、B口作輸出與七段顯示數(shù)碼管和發(fā)光二極管連接,8259A用來中斷控制及緊急情況。</p><p>  三.電路原理圖、接線圖</p><p><b>  1.實(shí)物接線圖</b></p><p><b>  2.硬件接線圖</b></p><p>  四.程序流程圖 延時(shí)子程

5、序:</p><p><b>  YN</b></p><p><b>  N</b></p><p><b>  N</b></p><p><b>  Y</b></p><p><b>  五.源代碼</b&

6、gt;</p><p>  STACKSEGMENTSTACK</p><p>  DB64DUP(?)</p><p>  STACKENDS</p><p>  DATASEGMENT</p><p>  MSG1DB'START', 0AH, 0DH, 00H</p>

7、<p>  MSG2DB'STOP', 0AH, 0DH, 00H</p><p>  MSG3DB'NO CAR', 0AH, 0DH, 00H</p><p>  MSG4DB'RESTART', 0AH, 0DH, 00H</p><p>  TABLEDB3FH, 06H, 5BH,

8、 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH</p><p>  LEDDB4DUP(0)</p><p>  COUNTDB0</p><p>  FLAG1DB1</p><p>  FLAG2DB0</p><p><b>  DATAENDS</b&g

9、t;</p><p>  CODESEGMENT</p><p>  ASSUMECS:CODE, DS:DATA, SS:STACK</p><p>  RUNMACROADDR ;宏調(diào)用,數(shù)碼管兩位顯示</p><p>  LEADI, ADDR</p><p>  MOVAX,[DI]&

10、lt;/p><p>  AAD ;除法非壓縮指令(AH)<-(AH)*10+(AL),(AH)<-0</p><p><b>  DECAL</b></p><p>  CMPAL, 0</p><p>  AAM ;乘法非壓縮指令,將(AL)/0AH,(AH

11、)<-商,(AL)<-余數(shù)</p><p>  MOV[DI], AX</p><p><b>  ENDM</b></p><p>  INFMACROMSG</p><p>  MOVAH, 06H</p><p>  LEABX, MSG</p><

12、p><b>  INT10H</b></p><p><b>  ENDM</b></p><p>  START:MOVAX, DATA</p><p>  MOVDS, AX</p><p>  PUSHDS </p><p>  MOV A

13、X, 0000H</p><p>  MOVDS, AX</p><p>  LEAAX, IRQ7 ;取中斷程序入口地址</p><p>  ADDAX, 2000H ;IP=2000H</p><p>  MOVSI, 003CH ;中斷7的中斷向量</p><p>  MOV[SI], AX

14、 ;填偏移量矢量</p><p>  MOVAX, 0000H ;段地址CS=0000</p><p>  MOVSI, 003EH </p><p>  MOV[SI], AX ;填段地址矢量</p><p>  LEAAX, IRQ6</p><p>  ADDAX, 2000H</p

15、><p>  MOVSI, 0038H</p><p>  MOV[SI], AX</p><p>  MOVAX, 0000H</p><p>  MOVSI, 003AH</p><p>  MOV[SI], AX</p><p>  LEAAX, IRQ2</p>&

16、lt;p>  ADDAX, 2000H</p><p>  MOVSI, 0028H</p><p>  MOV[SI], AX</p><p>  MOVAX, 0000H</p><p>  MOVSI, 002AH</p><p>  MOV[SI], AX</p><p&g

17、t;  LEAAX, IRQ1</p><p>  ADDAX, 2000H</p><p>  MOVSI, 0024H</p><p>  MOV[SI], AX</p><p>  MOVAX, 0000H</p><p>  MOVSI, 0026H</p><p>  MO

18、V[SI], AX</p><p><b>  CLI</b></p><p><b>  POPDS</b></p><p>  INAL, 21H</p><p>  ANDAL, 39H</p><p>  OUT21H, AL</p><

19、p><b>  INFMSG1</b></p><p>  MOVAL, 80H ;A、B輸出,方式0</p><p>  OUT63H, AL ;8255A控制寄存器</p><p>  MOVAL, 0B6H ;計(jì)數(shù)器2,方式3,二進(jìn)制</p><p>  OUT43H, AL

20、 ;8253控制寄存器</p><p>  MOVAX, 0000H</p><p>  OUT42H, AL</p><p>  MOVAL, AH</p><p>  OUT42H, AL</p><p><b>  STI</b></p><p>  A0:

21、CALLGO1</p><p><b>  CALLGO2</b></p><p><b>  CALLGO3</b></p><p><b>  CALLGO4</b></p><p><b>  JMPA0</b></p>

22、<p>  GO1PROCNEAR </p><p>  LEADI, LED</p><p>  MOVAX, 0207H</p>

23、<p>  MOV[DI], AX</p><p>  MOVAX, 0300H</p><p>  MOV[DI+2], AX</p><p>  A1:CMPFLAG1, 0</p><p><b>  JZA2</b></p><p>  MOVAL, 1011110

24、1B ;紅燈2:27秒 綠燈1:30秒</p><p>  OUT61H, AL </p><p><b>  CALLDISP</b></p><p>  CMPCOUNT, 15</p><p><b>  JLA1</b></p><p>  MOV

25、COUNT, 0</p><p><b>  RUNLED</b></p><p><b>  CMPAX, 0</b></p><p><b>  JZA2</b></p><p><b>  RUNLED+2</b></p>&l

26、t;p><b>  CMPAX, 0</b></p><p><b>  JZA2</b></p><p><b>  JMPA1</b></p><p>  A2:MOVFLAG1, 0</p><p><b>  RET</b><

27、;/p><p><b>  GO1ENDP</b></p><p>  GO2PROCNEAR</p><p>  LEADI, LED</p><p>  MOVAX, 0003H </p><p>  MOV[DI], AX</p><p>  MOV

28、AX, 0003H</p><p>  MOV[DI+2], AX</p><p>  A3:CALLDISP</p><p>  CMPCOUNT, 15</p><p><b>  JLA3</b></p><p>  MOVCOUNT, 0</p><p>

29、;  MOVAL, 11111001B ; 黃燈2:3秒 綠燈1:3秒</p><p>  OUT61H, AL </p><p>  CALLDELLY</p><p>  MOVAL, 11111101B</p><p>  OUT61H, AL </p><p><b>  RUNL

30、ED</b></p><p><b>  CMPAX, 0</b></p><p><b>  JZA4</b></p><p><b>  RUNLED+2</b></p><p><b>  JMPA3</b></p>

31、<p><b>  A4:RET</b></p><p><b>  GO2ENDP</b></p><p>  GO3PROCNEAR </p><p>  LEADI, LED</p><p>  MOVAX, 0300H</p>&l

32、t;p>  MOV[DI], AX</p><p>  MOVAX, 0207H</p><p>  MOV[DI+2], AX</p><p>  A5:CMPFLAG1, 1</p><p><b>  JZA6</b></p><p>  MOVAL, 01111110B

33、 ;綠燈2:30秒 紅燈1:27秒</p><p>  OUT61H, AL </p><p><b>  CALLDISP</b></p><p>  CMPCOUNT, 15</p><p><b>  JLA5</b></p><p>  MOV

34、COUNT, 0</p><p><b>  RUNLED</b></p><p><b>  CMPAX, 0</b></p><p><b>  JZA6</b></p><p><b>  RUNLED+2</b></p>&

35、lt;p><b>  CMPAX, 0</b></p><p><b>  JZA6</b></p><p><b>  JMPA5</b></p><p>  A6:MOVFLAG1, 1</p><p><b>  RET</b>&l

36、t;/p><p><b>  GO3ENDP</b></p><p>  GO4PROCNEAR</p><p>  LEADI, LED</p><p>  MOVAX, 0003H</p><p>  MOV[DI], AX</p><p>  MOVAX,

37、 0003H</p><p>  MOV[DI+2], AX</p><p>  A7:CALLDISP</p><p>  CMPCOUNT, 15</p><p><b>  JLA7</b></p><p>  MOVCOUNT, 0</p><p>  

38、MOVAL, 11101110B ;綠燈2:3秒 黃燈1:3秒</p><p>  OUT61H, AL </p><p>  CALLDELLY</p><p>  MOVAL, 11111110B</p><p>  OUT61H, AL </p><p><b>  RUNLED

39、</b></p><p><b>  CMPAX, 0</b></p><p><b>  JZA8</b></p><p><b>  RUNLED+2</b></p><p><b>  JMPA7</b></p>&

40、lt;p><b>  A8:RET</b></p><p><b>  GO4ENDP</b></p><p>  IRQ1:MOVFLAG2, 1 ;重新開始</p><p>  MOVAL, 20H </p><p>  OUT20H, AL</p>

41、<p><b>  IRET</b></p><p>  IRQ2:MOVAL, 00111111B ;暫停</p><p>  OUT61H, AL</p><p><b>  INFMSG2</b></p><p><b>  STI</b>&

42、lt;/p><p>  MOVFLAG2, 0</p><p>  I3:CALLDISP</p><p>  CMPFLAG2, 0</p><p><b>  JZI3</b></p><p><b>  INFMSG4</b></p><p&

43、gt;  MOVAL, 20H</p><p>  OUT20H, AL</p><p><b>  IRET</b></p><p>  IRQ6:INFMSG3 ;在LED顯示到計(jì)時(shí)24秒以下(6秒內(nèi)某一方向無車</p><p>  STI 輛通過),按動(dòng)K0切換到另

44、一方向綠燈車輛通過</p><p>  LEADI, LED</p><p>  MOVAX, 0205H</p><p>  CMPFLAG1,0</p><p><b>  JZI4</b></p><p>  CMP[DI+2], AX</p><p>&l

45、t;b>  JGI5</b></p><p>  MOVFLAG1, 0</p><p><b>  JMPI5</b></p><p>  I4:CMP[DI], AX</p><p><b>  JGI5</b></p><p>  MOV

46、FLAG1, 1</p><p>  I5:MOVAL, 20H</p><p>  OUT20H, AL</p><p><b>  IRET</b></p><p>  IRQ7:INCCOUNT</p><p>  MOVAL, 20H</p><p> 

47、 OUT20H, AL</p><p><b>  IRET</b></p><p>  DISPPROCNEAR</p><p>  LEADI,LED</p><p>  MOVCL, 0FEH</p><p>  D1:MOVAL, CL</p><p>

48、;  TESTAL, 10H ;測(cè)試指令,最高位為1則轉(zhuǎn)移,否則順序執(zhí)行</p><p><b>  JZD2</b></p><p>  OUT62H, AL</p><p>  ROLAL, 01H</p><p>  MOVCL, AL</p><p>  MOVAL, [

49、DI]</p><p>  LEABX, TABLE</p><p>  XLAT ;換碼指令,將TABLE中的數(shù)顯示到數(shù)碼管上</p><p>  OUT60H, AL</p><p>  CALLDELLY</p><p><b>  INCDI</b></p&g

50、t;<p><b>  JMPD1</b></p><p><b>  D2:RET</b></p><p><b>  DISPENDP</b></p><p>  DELLYPROCNEAR ;延時(shí)子程序</p><p><b>  

51、PUSHCX</b></p><p>  MOVCX, 1000</p><p>  D3:LOOPD3</p><p><b>  POPCX</b></p><p><b>  RET</b></p><p>  DELLYENDP</p&g

52、t;<p><b>  CODEENDS</b></p><p><b>  ENDSTART</b></p><p><b>  六.實(shí)驗(yàn)結(jié)果分析 </b></p><p>  在8259A芯片中,所用的中斷有IRQ1、IRQ2、IRQ6、IRQ7,其中IRQ1與KK1+連接來控制

53、繼續(xù),IRQ2與KK2+連接控制暫停,IRQ6與K0連接控制緊急情況時(shí)的切換,IRQ7與8253的OUT2相連來控制延時(shí)。剛開始設(shè)定十字路口東西方向?yàn)榧t燈27秒,南北方向綠燈30秒,因?yàn)樵诩t燈轉(zhuǎn)為綠燈時(shí),要經(jīng)過黃燈緩沖的3秒,接下來東西方向?yàn)辄S燈3秒,而南北方向還是綠燈3秒;然后變換為東西方向綠燈30秒,南北方向紅燈27秒,接著東西方向不變還是綠燈3秒,南北方向?yàn)辄S燈3秒,最后返回到開始。在這一過程中,按動(dòng)KK2實(shí)現(xiàn)暫停功能,再按KK1

54、交通燈繼續(xù)恢復(fù)原來的狀態(tài)。</p><p>  如果在十字路口出現(xiàn)緊急情況,如消防車、救護(hù)車要通過,可以按動(dòng)KK2暫停,使東西南北其他車輛不允許通過,等到緊急情況結(jié)束后,按動(dòng)KK1開關(guān)恢復(fù)。</p><p>  如果在某一方向(綠燈)6秒內(nèi)無車輛通過,我們觀察七段顯示數(shù)碼管,當(dāng)時(shí)間倒計(jì)時(shí)為24秒以下,此時(shí)按動(dòng)開關(guān)K0,可以變換為另一方向綠燈車輛通過,同時(shí)黃燈閃爍3秒;如果在某一方向(綠燈)

55、倒計(jì)時(shí)還沒到24秒以下,按動(dòng)開關(guān)K0不起作用,直到6秒內(nèi)確認(rèn)無車輛通過時(shí)才具有此功能。</p><p><b>  七.總結(jié)與體會(huì)</b></p><p>  這次的交通燈顯示系統(tǒng)的設(shè)計(jì)對(duì)我們來說是一大挑戰(zhàn),通過近一周的努力,我們更加熟悉8253、8255A、8259A這些芯片,對(duì)它們的理解也進(jìn)一步提高。在設(shè)計(jì)過程中,我們查閱了許多資料,得到了老師及其他同學(xué)的指導(dǎo),通

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論