首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
51单片机简单I/O实验实例源程序
来源:本站整理  作者:佚名  2011-12-16 06:31:28



一.实验要求

以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

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:13,726.56000 毫秒