当前位置:
文档之家› 3 IO接口实验(交通灯控制实验)
3 IO接口实验(交通灯控制实验)
实验框图:
开始
初始状态东西 南北都是红灯 状态1南北绿灯, 东西红灯 状态2南北绿灯闪转黄 灯,东西红灯 状态3南北红灯, 东西绿灯 状态4南北红灯, 东西绿灯闪转黄灯
附实验代码:(红色为实验添加代码)
ORG ORG START: MOV SP,#100H ;初始状态(都是红灯) ;南北绿灯,东西红灯 ;南北绿灯闪转黄灯,东西红灯 ;南北红灯,东西绿灯 ;南北红灯,东西绿灯闪转黄灯 ;南北红灯,东西红灯 DPTR,#8300H A,#0FH @DPTR,A R2,#01H ;延时1秒 LCALL STATUS0 CIRCLE: LCALL STATUS1 LCALL STATUS2 LCALL STATUS3 LCALL STATUS4 LJMP CIRCLE STATUS0: MOV MOV MOVX ;MOV NOP RET 0000H 0040H LJMP START
MOV
R3,#05H
;绿灯闪3次 A,#0AFH
FLASH: MOV MOVX ;MOV
@DPTR,A R2,#03H
LCALL DELAY MOV MOVX ;MOV A,#0AFH @DPTR,A R2,#03H
LCALL DELAY DJNZ MOV MOVX ;MOV R3,FLASH A,#5AH @DPTR,A R2,#03H
;MOV
LCALL DELAY NOP RET STATUS3: MOV MOV MOVX ;MOV ;南北红灯,东西绿灯 DPTR,#8300H A,#0A5H @DPTR,A R2,#01H ;延时5秒
RET
;延时子程序 DELAY: MOV DELAY2: MOV DJNZ DJNZ R1,#07H R0,#F0H
IO接口实验(交通灯控制)
实验要求:
以74LS273作为扩展输出口,控制4个双色LED 灯(可发红,绿,黄光),模拟十字路口交通灯管理。
实验目的:
1.学习在单片机系统中扩展简单I/O接口的方法以
及双色灯的使用。 2.学习数据输出程序的设计方法。 3.学习模拟交通灯控制的方法。
实验电路及连线: 实验箱扩展输出模块PO0~PO3接DG1~DG4,
PO4~PO7接DR1~DR4。CS273接8300H。
实验连线示意图
双色LED电路图
实验说明: 1.双色灯的工作原理。 双色LED是由一个红色LED管芯和一个绿色 LED管芯封装在一起,公用负端。当红色正端加 低电平,绿色正端加高电平时,绿灯亮;红色正 端加高电平,绿色正端加低电平时,红灯亮;两 端都加高电平时,黄灯亮。其中,输入端DG1~ DG4为绿灯色灯管芯的正极,控制双色灯中绿色 灯的亮灭;DR1~DR4为红色灯管芯的正极,控 制双色灯中红色灯的亮灭。
LCALL DELAY MOV MOVX A,#0AFH @DPTR,A
; MOV
R2,#03H
LCALL DELAY DJNZ MOV MOVX R3,FLASH1 A,#05H @DPTR,A ;南北红灯,东西黄灯
实验结束
2.熟悉交通灯控制过程。 假设一个十字路口为东西南北走向。初始状态 0为东西红灯,南北红灯。然后转状态1南北绿灯 通车,东西红灯。过一段时间转状态2,南北绿灯 闪几次转亮黄灯,延时几秒,东西仍然红灯。再转 状态3,东西绿灯通车,南北红灯。过一段时间转 状态4,东西绿灯闪几次转亮黄灯,延时几秒,南 北仍然红灯。最后循环至状态1。
R0,DELAY2 R1,DELAY ;延时 100 mS
LCALL DELAY RET STATUS4: MOV MOV ;南北红灯,东西绿灯闪转黄灯 DPTR,#8300H R3,#05H ;绿灯闪3次
RET
END
FLASH1: MOV
MOVX ; MOV
A,#0AFH
@DPTR,A R2,#03H
LCALL DELAY DJNZ MOV MOVX ;MOV R3,FLASH A,#0AH @DPTR,A R2,#01H ;延时1秒 ;南北黄灯,东西红灯
LCALL DELAY
STATUS1:
MOV MOV MOVX ;MOV RET A,#5AH @DPTR,A R2,#01H
;南北绿灯,东西红灯
DPTR,#08300H ;南北绿灯,东西红灯 ;延时5秒
LCALL DELAY
MOV MOVX ;MOV A,#5FH @DPTR,A R2,#08H
LCALL DE
@DPTR,A R2,#03H ;MOV R2,#01H ;延时1秒 LCALL DELAY NOP