接口課程設計——模擬紅綠燈實驗_第1頁
已閱讀1頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  模擬交通燈課程設計</b></p><p>  系 電子信息與計算機科學系</p><p>  專業(yè) 計算機科學與技術 </p><p>  一.實驗名稱:模擬紅綠燈實驗</p><p><b>  二.實驗內容:</b></p>&

2、lt;p><b>  1. 實驗原理:</b></p><p>  實驗原理圖如圖3-7所示,PB4 ~ PB7和PC0 ~ PC7分別與發(fā)光二極管電路L1~ L12 相連,本實驗為模擬交通燈實驗。交通燈的亮滅規(guī)律如下:</p><p>  設有一個十字路口,1、3為南北方向,2、4為東西方向,初始為四個路口的紅燈全亮,之后,1、3路口的綠燈亮,2、4路口的紅

3、燈亮,1、3路口方向通車; 延時一段時間后,1、3路口的綠燈熄滅,而1、3路口的黃燈開始閃爍,閃爍若干次以后,1、3 路口紅燈亮, 而同時2、4路口的綠燈亮,2、4路口方向通車;延時一段時間后,2、4 路口的綠燈熄滅,而黃燈開始閃爍,閃爍若干次以后,再切換到1、3路口方向,之后重復上述過程。</p><p>  8255A的PB4~ PB7對應黃 燈,PC0 ~ PC3對應紅燈,PC4~ PC7對應綠燈。8255

4、A工作于模式0,并置為輸出。由于各發(fā)光二極管為反向驅動,使其點亮應使8255A相應端口置1。(其中只用了2,3路口即東和北方向,PC7接開關控制有無闖紅路燈,開關置1表示有人闖紅燈,數(shù)碼象管顯示為0)</p><p>  2. 實驗線路連接:</p><p>  (1) L7—PC0 L8—PB6 L9—PC1 3路口即北方向的紅黃綠燈接線</p>

5、<p>  L10—PC2 L11—PB5 L12—PC3 4路口即西方向的紅黃綠燈接線</p><p><b>  開關— PC7</b></p><p>  3. 實驗原理圖:</p><p>  1 口南 2口東 3口北4口西</p><p>  4

6、. 實驗電路原理:</p><p>  本課題的設計可通過實驗平臺上的一些功能模塊電路組成,由于各模塊電路內部已經連接,用戶在使用時只要設計模塊間電路的連接,因此,硬件電路的設計及實現(xiàn)相對簡單。完整系統(tǒng)的硬件連接如圖1所示。硬件電路由R-S觸發(fā)器電路、發(fā)光二極管模塊、8255可編程并行接口模塊</p><p>  實驗的對應接線關圖系圖如下所示:</p><p> 

7、 8255A的工作原理</p><p>  1.8255A的內部結構: </p><p>  1)數(shù)據(jù)總線緩沖器:這是一個雙向三態(tài)的8位數(shù)據(jù)緩沖器,它是8255A與微機系統(tǒng)數(shù)據(jù)總線的接口。輸入輸出的數(shù)據(jù)、CPU輸出的控制字以及CPU輸入的狀態(tài)信息都是通過這個緩沖器傳送的。</p><p>  2)三個端口A,B和C:A端口包含一個8位數(shù)據(jù)輸出鎖存器和緩沖器,一個8位

8、數(shù)據(jù)輸入鎖存器。B端口包含一個8位數(shù)據(jù)輸入/輸出鎖存器和緩沖器,一個8位數(shù)據(jù)輸入緩沖器。C端口包含一個8位數(shù)據(jù)輸出鎖存器和緩沖器,一個8位數(shù)據(jù)輸入緩沖器(輸入沒有鎖存器)。</p><p>  3) A組和B組控制電路:這是兩組根據(jù)CPU輸出的控制字控制8255工作方式的電路,它們對于CPU而言,共用一個端口地址相同的控制字寄存器,接收CPU輸出的一字節(jié)方式控制字或對C口按位復位字命令。方式控制字的高5位決定A組

9、的工作方式,低3位決定B組的工作方式。對C口按位復位命令字可對C口的每一位實現(xiàn)置位或復位。A組控制電路控制A口和C口上半部,B組控制電路控制B口和C口下半部。</p><p>  4)讀寫控制邏輯:用來控制把CPU輸出的控制字或數(shù)據(jù)送至相應端口,也由它來控制把狀態(tài)信息或輸入數(shù)據(jù)通過相應的端口送到CPU。</p><p><b>  2、引腳信號</b></p&g

10、t;<p>  8255A的引腳如圖7.5所示,分為數(shù)據(jù)線、地址線、讀/寫控制線、輸入/輸出端口線和電源線。</p><p>  D7~D0(data bus):三態(tài)、雙向數(shù)據(jù)線,與CPU數(shù)據(jù)總線連接,用來傳送數(shù)據(jù)。</p><p>  (chip select):片選信號線,低電平有效時,芯片被選中。</p><p>  A1, A0(port ad

11、dress):地址線,用來選擇內部端口。</p><p>  (read):讀出信號線,低電平有效時,允許數(shù)據(jù)讀出。</p><p> ?。╳rite):寫入信號線,低電平有效時,允許數(shù)據(jù)寫入。</p><p>  RESET(reset):復位信號線,高電平有效時,</p><p>  將所有內部寄存器(包括控制寄存器)清0。</p&

12、gt;<p>  PA7~PA0(port A):A口輸入/輸出信號線。</p><p>  PB7~PB0(port B):B口輸入/輸出信號線。</p><p>  PC7~PC0(port C):C口輸入/輸出信號線。</p><p>  VCC:+5V電源。 GND:電源地線。 </p><p>  3、8255A的 工

13、作方式:</p><p>  方式0---基本輸入輸出方式;</p><p>  方式1---選通輸入輸出方式;</p><p>  方式2---雙向選通輸入輸出方式。</p><p><b>  二、實驗步驟</b></p><p>  1、按圖連好實驗線路</p><p&g

14、t;<b>  2、運行實驗程序</b></p><p> ?。?)聯(lián)機時,實驗程序文件名為\DVCC\H8EXE\H84S.EXE。</p><p>  (2)單機時,實驗程序起始地址為F000:90E0。</p><p>  在系統(tǒng)顯示監(jiān)控提示符“P.”時:</p><p>  輸入F000 按F1鍵</p&g

15、t;<p>  輸入90E0 按EXEC鍵</p><p>  在系統(tǒng)上顯示執(zhí)行符“ 『” ,同時L1~L12發(fā)光二極管模擬交通燈顯示。</p><p><b>  三.程序流程圖:</b></p><p>  開始置8255控制字 88H,使各端口均為輸出端口,都工作在方式0</p><p>  使2個口

16、的紅燈全亮 綠燈、黃燈全滅。即IOBPT=00H 、IOCPT=05H</p><p>  延時,判斷有無闖紅燈者,有數(shù)碼管顯示0,無則數(shù)碼管不顯示</p><p>  點亮3口綠燈 ,同時點亮 2口紅燈 即IOCPT=00000110B</p><p>  延時,判斷有無闖紅燈者,有數(shù)碼管顯示0,無則數(shù)碼管不顯示</p><p>  熄滅

17、3口綠燈 ,即 IOCPT=00000100B。(2口的紅燈仍然亮著)</p><p>  3口黃燈循環(huán)閃爍8次。亮的時候,IOBPT=01000000B,延時,滅得時候 IOBPT=0 延時</p><p>  點亮2口綠燈 ,同時點亮3口的紅燈。 即IOCPT=00001001B</p><p>  延時,判斷有無闖紅燈者,有數(shù)碼管顯示0,無則數(shù)碼管不顯示<

18、;/p><p>  熄滅2口綠燈 ,即 IOCPT= 00000001B。(3口的紅燈仍然亮著)</p><p>  2口黃燈循環(huán)閃爍8次。亮的時候,IOBPT=00100000B,延時,滅得時候 IOBPT=0 延時</p><p><b>  四.實驗代碼:</b></p><p>  CODE SEGMENT</

19、p><p>  ASSUME CS:CODE</p><p>  IOCONPT EQU 0FF2BH</p><p>  IOAPTEQU 0FF28H</p><p>  IOBPTEQU 0FF29H</p><p>  IOCPTEQU 0FF2AH</p><p><b>

20、  ORG 10e0H</b></p><p>  //開始置8255控制字 88H,使各端口均為輸出端口,都工作在方式0</p><p>  START: MOV DX , IOCONPT</p><p>  MOV AL , 88H</p><p>  OUT DX , AL</p><p> 

21、 //使2個口的紅燈全亮 綠燈、黃燈全滅。即IOBPT=00H 、IOCPT=05H</p><p>  MOV DX,IOBPT</p><p>  MOV AL , 00H //黃燈全滅</p><p>  OUT DX , AL</p><p>  MOV DX , IOCPT</p><p

22、>  MOV AL , 05H //西口和北口的紅燈亮</p><p>  OUT DX , AL</p><p>  CALL DELAY1</p><p>  //點亮3口綠燈 ,同時點亮 4口紅燈 即IOCPT=00000110B</p><p>  IOLED0: MOV AL , 00000110B /

23、/方向北綠燈亮,方向西紅燈亮</p><p>  MOV DX , IOCPT</p><p>  OUT DX , AL</p><p>  CALL DELAY1</p><p>  CALL DELAY1</p><p>  //熄滅3口綠燈 ,即 IOCPT=00000100B。(4口的紅燈仍然亮著)

24、</p><p>  MOV AL , 00000100B //熄滅3口即方向北綠燈</p><p>  OUT DX , AL</p><p>  //3口黃燈循環(huán)閃爍8次,亮的時候,IOBPT=01000000B,延時,滅得時候 IOBPT=0 延時</p><p>  MOV CX , 8H</p><p

25、>  MOV AL , 0FFH //黃燈亮時,數(shù)碼管不亮</p><p>  MOV DX , 0FF22H</p><p>  OUT DX , AL</p><p>  IOLED1: MOV DX,IOBPT</p><p>  MOV AL , 40H //3口即方向北黃燈亮</p>

26、<p>  OUT DX , AL</p><p>  CALL DELAY2</p><p>  MOV AL , 00H</p><p>  OUT DX , AL</p><p>  CALL DELAY2</p><p>  LOOP IOLED1 // CX不為零時循環(huán)即8次

27、閃爍</p><p><b>  //其它的程序段</b></p><p>  MOV DX , IOCPT</p><p>  MOV AL,00001001B //置方向東綠,方向北紅</p><p>  OUT DX,AL</p><p>  CALL DELAY1</

28、p><p>  CALL DELAY1</p><p>  MOV AL,00000001B //熄滅方向西綠燈,方向北的紅燈保持亮</p><p>  OUT DX,AL</p><p>  MOV CX,8H</p><p>  MOV AL, 0FFH</p><p>  MO

29、V DX,0FF22H</p><p>  OUT DX,AL</p><p>  IOLED2: MOV DX , IOBPT</p><p>  MOV AL , 20H //方向西黃燈亮</p><p>  OUT DX , AL</p><p>  CALL DELAY2<

30、/p><p>  MOV AL , 00H</p><p>  OUT DX , AL</p><p>  CALL DELAY2</p><p>  LOOP IOLED2</p><p>  MOV DX , IOCPT</p><p>  MOV AL , 05H

31、 </p><p>  OUT DX,AL</p><p>  CALL DELAY2</p><p>  JMP IOLED0</p><p>  DELAY1: PUSH AX</p><p><b>  PUSH CX</b></p><p>  

32、MOV CX , 0010H</p><p>  MOV DX,0FF2AH</p><p>  IN AL , DX //判斷闖紅燈</p><p>  AND AL , 10000000B</p><p>  JNZ DISP //不等于零時,跳至DISP</p>

33、<p>  MOV AL , 0FFH //無人闖紅燈</p><p>  MOV DX , 0FF22H</p><p>  OUT DX , AL</p><p>  JMP DELY2</p><p>  DISP: MOV AL , 0c0H</p><p>  MOV

34、 DX , 0FF22H</p><p>  OUT DX , AL</p><p>  DELY2: CALL DELAY2</p><p>  LOOP DELY2</p><p><b>  POP CX</b></p><p><b>  POP AX&l

35、t;/b></p><p><b>  RET</b></p><p>  DELAY2: PUSH CX</p><p>  MOV CX , 8000H</p><p>  DELA1: LOOP DELA1</p><p><b>  POP CX</b&g

36、t;</p><p><b>  RET</b></p><p><b>  CODE ENDS</b></p><p>  END START</p><p><b>  五.心得體會:</b></p><p>  通過此次實驗,使我全面的解了微機接

37、口的運行方式,以及匯編語言與接口之間的關系.同時加深了我對8255,8254芯片的工作方式的認識和使用方法。本次設計中我們克服了很多難題,在同伴的努力下我們還是按時完成了任務。而且最難的就是硬件的調試,我們最開始的時候由于機器有問題,我們怎么也不能成功,但是我們換了一臺機器后我們終于成功的看到了試驗現(xiàn)象。</p><p>  通過該課程設計,掌握了什么是編譯程序,編譯程序工作的基本過程及其各階段的基本任務,熟悉了

溫馨提示

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

評論

0/150

提交評論