首页 接线图文章正文

51单片机简单I/O实验(交通灯控制)

接线图 2023年11月07日 18:41 176 admin

51单片机简单I/O实验(交通灯控制),Traffic light controller

51单片机简单I/O实验(交通灯控制)

.实验要求

以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。

二.实验目的

1.学习在单片机系统中扩展简单I/O接口的方法。

2.学习数据输出程序的设计方法。

3.学习模拟交通灯控制的方法。

4.学习双色灯的使用。

三.实验电路及连线

51单片机简单I/O实验(交通灯控制)  第1张

四.实验说明

1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。

2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。

五.实验程序框图

程序框图:

51单片机简单I/O实验(交通灯控制)  第2张

 


源代码:

        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

版权与免责声明

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

标签: 51单片机简单I/O实验(交通灯控制)

发表评论

接线图网Copyright Your WebSite.Some Rights Reserved. 备案号:桂ICP备2022002688号-2 接线图网版权所有 联系作者QQ:360888349