最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

单片机80c51实验简单IO实验(交通灯控制)

来源:动视网 责编:小OO 时间:2025-09-29 18:55:52
文档

单片机80c51实验简单IO实验(交通灯控制)

单片机80c51实验简单I/O实验(交通灯控制)  实验目的1.学习在单片机系统中扩展简单I/O接口的方法。2.学习数据输出程序的设计方法。3.学习模拟交通灯控制的方法。4.学习双色灯的使用。实验要求说明:以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄
推荐度:
导读单片机80c51实验简单I/O实验(交通灯控制)  实验目的1.学习在单片机系统中扩展简单I/O接口的方法。2.学习数据输出程序的设计方法。3.学习模拟交通灯控制的方法。4.学习双色灯的使用。实验要求说明:以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄
单片机80c51实验简单I/O实验(交通灯控制)

  实验目的

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

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

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

4.学习双色灯的使用。 

实验要求

说明:

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

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

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

;系统晶振是 11.0592 MHz

       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,#96H          ;南北绿灯,东西红灯

       MOVX    @DPTR,A

       MOV     R2,#200         ;延时20秒

       LCALL   DELAY

       RET

STATUS2:                        ;南北绿灯闪转黄灯,东西红灯

       MOV     DPTR,#8300H

       MOV     R3,#03H         ;绿灯闪3次

FLASH:  MOV     A,#9FH

       MOVX    @DPTR,A

       MOV     R2,#03H

       LCALL   DELAY

       MOV     A,#96H

       MOVX    @DPTR,A

       MOV     R2,#03H

       LCALL   DELAY

       DJNZ    R3,FLASH

       MOV     A,#06H          ;南北黄灯,东西红灯

       MOVX    @DPTR,A

       MOV     R2,#10          ;延时1秒

       LCALL   DELAY

       RET

STATUS3:                        ;南北红灯,东西绿灯

       MOV     DPTR,#8300H

       MOV     A,#69H

       MOVX    @DPTR,A

       MOV     R2,#200         ;延时20秒

       LCALL   DELAY

       RET

STATUS4:                        ;南北红灯,东西绿灯闪转黄灯

       MOV     DPTR,#8300H

       MOV     R3,#03H         ;绿灯闪3次

FLASH1: MOV     A,#6FH

       MOVX    @DPTR,A

       MOV     R2,#03H

       LCALL   DELAY

       MOV     A,#69H

       MOVX    @DPTR,A

       MOV     R2,#03H

       LCALL   DELAY

       DJNZ    R3,FLASH1

       MOV     A,#09H         ;南北红灯,东西黄灯

       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

实验五

外部中断实验(急救车与交通灯)
一.实验要求

在实验四内容的基础上增加允许急救车优先通过的要求。有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验以按键为中断申请,表示有急救车通过。

二.实验目的

1.学习外部中断技术的基本使用方法。

2.学习中断处理程序的编程方法。

三.实验电路及连线

PO0-PO3接DG1-DG4,PO4-P07接 DR1-DR4。CS273 接8300H。K8接P3.2。

四.实验说明

中断服务程序的关键是:1.保护进入中断时的状态,并在退出中断之前恢复进入时的状态。2.必须在中断程序中设定是否允许中断重入,即设置EX0位。

本例中使用了INT0中断,一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本例的INT0程序保护了PSW,ACC,2等三个寄存器并且在退出前恢复了这三个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。本例中没有涉及这种情况。

实验开始时K8应在H(高电平)端,要产生中断时先拨向L(低电平)端再拨回H端。

五.源程序

ORG 0000H

LJMP START

ORG 0003H ;INT 0 中断入口地址

LJMP INT0

ORG 0040H

START:

MOV SP,#60H

SETB EX0 ;INT 0 中断有效

SETB IT0

SETB EA

LCALL STATUS0 ;初始状态(都是红灯)

CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯

LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯

LCALL STATUS3 ;南北红灯,东西绿灯

LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯

LJMP CIRCLE

INT0:

PUSH PSW ;保护现场

PUSH 2

PUSH ACC

MOV DPTR,#8300H

MOV A,#0FH ;南北,东西都亮红灯

MOVX @DPTR,A

MOV R2,#100 ;延时10秒

LCALL DELAY

POP ACC ;恢复现场

MOVX @DPTR,A

POP 2

POP PSW

RETI

STATUS0: ;南北红灯,东西红灯

MOV DPTR,#8300H

MOV A,#0FH

MOVX @DPTR,A

MOV R2,#10 ;延时1秒

LCALL DELAY

RET

STATUS1: ;南北绿灯,东西红灯

MOV DPTR,#8300H

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

参考设计三】

-----------------------------------

参考程序:

         NAME T5 ;中断控制实验

         OUTPORT EQU 0CFB0H ;端口地址

         SAVE EQU 55H ;save保存从端口cfa0输出的数据

         CSEG AT 0000H

         LJMP START

         CSEG AT 4003H

         LJMP INT

         CSEG AT 4100H

START: SETB IT0

         SETB EX0

         SETB EA

         MOV A,#11H ;置首显示码

         MOV SAVE,A ;保存

         ACALL DISP ;显示输出

         ACALL DE3S ;延时3秒

    LLL: MOV A,#12H ;东西路口绿灯亮,南北路口红灯亮

         MOV SAVE,A

         ACALL DISP 

         ACALL DE10S ;延时10秒

         MOV A,#10H ;东西路口绿灯灭

         MOV SAVE,A

         ACALL DISP 

         MOV R2,#05H ;东西路口黄灯闪烁5次

    TTT: MOV A,#14H

         MOV SAVE,A

         ACALL DISP 

         ACALL DE02S

         MOV A,#10H

         MOV SAVE,A

         ACALL DISP 

         ACALL DE02S

         DJNZ R2,TTT

         MOV A,#11H ;红灯全亮

         MOV SAVE,A

         ACALL DISP 

         ACALL DE02S ;延时0.2秒

         MOV A,#21H ;东西路口红灯亮,南北路口绿灯亮

         MOV SAVE,A

         ACALL DISP 

         ACALL DE10S ;延时10秒

         MOV A,#01H ;南北路口绿灯灭

         MOV SAVE,A

         ACALL DISP 

         MOV R2,#05H ;南北路口黄灯闪烁5次

    GGG: MOV A,#41H

         MOV SAVE,A

         ACALL DISP 

         ACALL DE02S

         MOV A,#01H

         MOV SAVE,A

         ACALL DISP 

         ACALL DE02S

         DJNZ R2,GGG

         MOV A,#11H ;红灯全亮

         MOV SAVE,A

         ACALL DISP 

         ACALL DE02S ;延时0.2秒

         JMP LLL ;转LLL循环

DE10S: MOV R5,#100 ;延时10秒

         JMP DE1

   DE3S: MOV R5,#30 ;延时3秒

         JMP DE1

DE02S: MOV R5,#02 ;延时0.2秒

    DE1: MOV R6,#200

    DE2: MOV R7,#126

    DE3: DJNZ R7,DE3

         DJNZ R6,DE2

         DJNZ R5,DE1

         RET

    INT: CLR EA

         PUSH ACC ;中断处理

         PUSH PSW

         MOV A,R5

         PUSH ACC

         MOV A,#11H ;红灯全亮,绿、黄灯全灭

         ACALL DISP 

DEL10S: MOV R3,#100 ;延时10秒 

   DEL1: MOV R2,#200

   DEL2: MOV R5,#126

   DEL3: DJNZ R5,DEL3

         DJNZ R4,DEL2

         DJNZ R3,DEL1

         MOV A,SAVE ;取SAVE中保存数据输出到cfa0端口

         ACALL DISP 

         POP ACC ;出栈

         MOV R5,A

         POP PSW

         POP ACC

         SETB EA ;允许外部中断

         RETI

   DISP: MOV DPTR,#OUTPORT

         CPL A

         MOVX @DPTR,A

         RET

         END

文档

单片机80c51实验简单IO实验(交通灯控制)

单片机80c51实验简单I/O实验(交通灯控制)  实验目的1.学习在单片机系统中扩展简单I/O接口的方法。2.学习数据输出程序的设计方法。3.学习模拟交通灯控制的方法。4.学习双色灯的使用。实验要求说明:以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top