當前位置:編程學習大全網 - 源碼破解 - 交通信號燈控制程序設計

交通信號燈控制程序設計

簡單I/O實驗(交通燈控制)

壹.實驗要求

以74LS273作為輸出口,控制4個雙色LED燈(可發紅,綠,黃光),模擬交通燈管理。

二.實驗目的

1.學習在單片機系統中擴展簡單I/O接口的方法。

2.學習數據輸出程序的設計方法。

3.學習模擬交通燈控制的方法。

4.學習雙色燈的使用。

三.實驗電路及連線

四.實驗說明

1.因為本實驗是交通燈控制實驗,所以要先了解實際交通燈的變化規律。假設壹個十字路口為東西南北走向。初始狀態0為東西紅燈,南北紅燈。然後轉狀態1南北綠燈通車,東西紅燈。過壹段時間轉狀態2,南北綠燈閃幾次轉亮黃燈,延時幾秒,東西仍然紅燈。再轉狀態3,東西綠燈通車,南北紅燈。過壹段時間轉狀態4,東西綠燈閃幾次轉亮黃燈,延時幾秒,南北仍然紅燈。最後循環至狀態1。

2.雙色LED是由壹個紅色LED管芯和壹個綠色LED管芯封裝在壹起,公用負端。當紅色正端加高電平,綠色正端加低電平時,紅燈亮;紅色正端加低電平,綠色正端加高電平時,綠燈亮;兩端都加高電平時,黃燈亮。

五.實驗程序框圖

程序框圖:

源代碼:

ORG 0000H

LJMP START

ORG 0040H

START:

MOV SP,#60H

LCALL STATUS0 ;初始狀態(都是紅燈)

CIRCLE: LCALL STATUS1 ;南北綠燈,東西紅燈

LCALL STATUS2 ;南北綠燈閃轉黃燈,東西紅燈

LCALL STATUS3 ;南北紅燈,東西綠燈

LCALL STATUS4 ;南北紅燈,東西綠燈閃轉黃燈

LJMP CIRCLE

STATUS0: ;南北紅燈,東西紅燈

MOV DPTR,#8300H

MOV A,#0FH

MOVX @DPTR,A

MOV R2,#10 ;延時1秒

LCALL DELAY

RET

STATUS1: ;南北綠燈,東西紅燈

MOV DPTR,#08300H

MOV A,#5AH ;南北綠燈,東西紅燈

MOVX @DPTR,A

MOV R2,#50 ;延時5秒

LCALL DELAY

RET

STATUS2: ;南北綠燈閃轉黃燈,東西紅燈

MOV DPTR,#8300H

MOV R3,#03H ;綠燈閃3次

FLASH: MOV A,#5FH

MOVX @DPTR,A

MOV R2,#03H

LCALL DELAY

MOV A,#5AH

MOVX @DPTR,A

MOV R2,#03H

LCALL DELAY

DJNZ R3,FLASH

MOV A,#0AH ;南北黃燈,東西紅燈

MOVX @DPTR,A

MOV R2,#10 ;延時1秒

LCALL DELAY

RET

STATUS3: ;南北紅燈,東西綠燈

MOV DPTR,#8300H

MOV A,#0A5H

MOVX @DPTR,A

MOV R2,#50 ;延時5秒

LCALL DELAY

RET

STATUS4: ;南北紅燈,東西綠燈閃轉黃燈

MOV DPTR,#8300H

MOV R3,#03H ;綠燈閃3次

FLASH1: MOV A,#0AFH

MOVX @DPTR,A

MOV R2,#03H

LCALL DELAY

MOV A,#0A5H

MOVX @DPTR,A

MOV R2,#03H

LCALL DELAY

DJNZ R3,FLASH1

MOV A,#05H ;南北紅燈,東西黃燈

MOVX @DPTR,A

MOV R2,#10 ;延時1秒

LCALL DELAY

NOP

RET

DELAY: ;延時子程序

PUSH 2

PUSH 1

PUSH 0

DELAY1: MOV 1,#00H

DELAY2: MOV 0,#0B2H

DJNZ 0,$

DJNZ 1,DELAY2 ;延時 100 mS

DJNZ 2,DELAY1

POP 0

POP 1

POP 2

RET

END

  • 上一篇:邁克爾傑克遜是哪個舞蹈種類的?
  • 下一篇:《我》作文400字
  • copyright 2024編程學習大全網