最新文章专题视频专题问答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
当前位置: 首页 - 正文

微机原理课程设计交通信号灯

来源:动视网 责编:小OO 时间:2025-09-29 19:40:32
文档

微机原理课程设计交通信号灯

设计任务及要求交通信号灯的亮灭规律。设有一个十字路口,1、3位南北方向,2、4位东西方向。初态为4个红灯全亮,禁止通行;随后交通灯亮灭规律按下列步骤进行:(1)1、3路口绿灯亮,2、4路口红灯亮;(2)延时10秒后,1、3路口绿灯灭;(3)1、3路口黄灯闪烁(闪烁3次);(4)2、4路口绿灯亮,同时1、3路口红灯亮;(5)延时10秒后,2、4路口绿灯灭;(6)2、4路口黄灯闪烁(闪烁3次);(7)转向(1)循环执行。要求:1.通过8255A并口来控制LED发光二极管的亮灭,A口控制红灯,B口控
推荐度:
导读设计任务及要求交通信号灯的亮灭规律。设有一个十字路口,1、3位南北方向,2、4位东西方向。初态为4个红灯全亮,禁止通行;随后交通灯亮灭规律按下列步骤进行:(1)1、3路口绿灯亮,2、4路口红灯亮;(2)延时10秒后,1、3路口绿灯灭;(3)1、3路口黄灯闪烁(闪烁3次);(4)2、4路口绿灯亮,同时1、3路口红灯亮;(5)延时10秒后,2、4路口绿灯灭;(6)2、4路口黄灯闪烁(闪烁3次);(7)转向(1)循环执行。要求:1.通过8255A并口来控制LED发光二极管的亮灭,A口控制红灯,B口控
设计任务及要求

交通信号灯的亮灭规律。设有一个十字路口,1、3位南北方向,2、4位东西方向。初态为4个红灯全亮,禁止通行;随后交通灯亮灭规律按下列步骤进行:

(1)1、3路口绿灯亮,2、4路口红灯亮;

(2)延时10秒后,1、3路口绿灯灭;

(3)1、3路口黄灯闪烁(闪烁3次);

(4)2、4路口绿灯亮, 同时1、3路口红灯亮;

(5)延时10秒后,2、4路口绿灯灭;

(6)2、4路口黄灯闪烁(闪烁3次);

(7)转向(1)循环执行。 

要求:

1.通过8255A并口来控制LED发光二极管的亮灭,A口控制红灯,B口控制黄灯,C口控制绿灯。红灯(RLED),黄灯(YLED)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。 

2.发光二极管通过电阻接+5V,输出为0则亮,输出为1则灭。 

3.通过软件延时,设CPU晶振频率为8M。

4.闪烁功能采用灯亮1秒后马上熄灭来实现。

硬件连接图(可打印)、设计说明

   8255共有40个引脚,其功能分别如下:

D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 

RD:读信号线,当这个输入引脚为低电平时,即RD=0且CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

CS:芯片选择信号线,当这个输入引脚为低电平时,即CS=0时,表示芯片被选中,允许8255与CPU进行通讯;CS=1时,8255无法与CPU做数据传输。

PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。   

PB0~PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 

PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。   

A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。

 当A1=0,A0=0时,PA口被选择;   

  当A1=0,A0=1时,PB口被选择;   

  当A1=1,A0=0时,PC口被选择;   

  当A1=1,A0=1时,控制寄存器被选择;

在本次课程设计通过8255A并口来控制LED发光二极管的亮灭,因为灯光控制不需要联络信号,所以按照方式0输出。A口控制红灯,B口控制黄灯,C口控制绿灯。红灯(RLED),黄灯(YLED)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。发光二极管通过电阻接+5V电压,输出为0则亮,输出为1则灭。

    

主或子程序流程框图(可打印)

主程序:

Y

    本实验采用软件延时。黄灯闪烁,即黄灯亮1s、灭1s。键盘输入任意值可结束程序。假设8255A的入口地址为304—307H,即304H对应PA端,305H对应PB端,306H对应PC端,307H为方式控制字地址。

程序代码按照分段结构书写,并加上必要的注释

STACK  SEGMENT STACK ‘STACK’

       DW 32 DUP(0)

STACK  ENDS

CODE   SEGMENT

START  PROC FAR

       ASSUME SS:STACK,CS:CODE

       PUSH DS

       SUB AX,AX

       PUSH AX

       MOV DX,307H     ;写控制字

       MOV AL,80H      ;送方式字,选择0工作方式

       OUT DX,AL

       MOV DX,304H     

       MOV AL,O        

       OUT DX,AL       ;初始化,红灯全亮

LOP:   MOV DX,305H     ;1,3路口绿灯亮

       MOV AL,0AH

       OUT DX,AL

       XOR AL,0FH

       MOV DX,304H     ;2,4路口红灯亮

       OUT DX,AL

       MOV CX,10       ;延时10秒

LOP1:  CALL DELAY

       LOOP LOP1

       MOV DX,306H     ;1,3路口绿灯灭

       MOV AL,0FH

       OUT DX,AL

       MOV CL,3        ;黄灯闪烁三次

LOP2:  MOV DX,305H     ;1,3路口黄灯亮1秒

       MOV AL,0AH

       OUT DX,AL

       CALL DELAY

       MOV DX,305H     ;1,3路口黄灯灭1秒

       MOV AL,0FH

       OUT DX,AL

       CALL DELAY

       LOOP LOP2

       MOV DX,306H     ;2,4路口绿灯亮

       MOV AL,05H

       OUT DX,AL

       XOR AL,0FH

       MOV DX,304H     ;1,3路口红灯亮

       OUT DX,AL

       MOV CX,10       ;延时10秒

LOP3:  CALL DELAY

       LOOP LOP3

       MOV DX,306H     ;2,4路口绿灯灭

       MOV AL,0FH

       OUT DX,AL

       MOV CL,3        ;设置闪烁次数

LOP4:  MOV DX,305H     ;2,4路口黄灯亮1秒

       MOV AL,05H

       OUT DX,AL

       CALL DELAY

       MOV DX,305H     ;2,4路口黄灯灭1秒

       MOV AL,0FH

       OUT DX,AL

       CALL DELAY

       LOOP LOP4

   

       MOV AH,1      ;判断是否有按键按下,调用功能号1

       INT 21H                  

       JZ  LOP       ;无按键则跳回继续循环,有则退出

QUIT:  XOR AL,AL

       OUT DX,AL     ;关灯

       MOV AX,4C00H  ;结束程序退出

       INT 21H      

DELAY PROC NEAR         ;软件延时子程序     

      PUSH   BX

      PUSH   CX

MOV   BX,3E8H        ; BX的值为1000

LP2:  MOV CX,176H    ;设定循环次数(晶振为8MHZ)

LP1:  PUSHF

      POPF

      LOOP  LP1      ;CX减1后若不等于0转LP1

      DEC   BX

      JNZ   LP2

      POP   CX

      POP   BX

      POPF

       RET

DELAY ENDP

     

CODE ENDS

     END START

总结 

本次微机原理课程设计是通过8255A并口控制LED发光二极管,使其按照一定规律亮灭,达到交通指挥灯的作用。通过查阅相关资料,复习课本知识,基本完成题目要求。在设计过程中我收获颇丰,巩固汇编语言的基础知识,如子函数的调用等,熟悉了可编程并行通信接口芯片8255A的初始化和端口使用,学习了软件延时。同时,在查阅资料的过程中,我了解到,使用8253、8259芯片实现硬件延时,能提高指示灯的精确控制,设计用于倒计时的七段LED数码管,增加紧急情况处理程序等,能丰富程序功能。本次程序设计中使用了一个1S延时DELAY子程序,在主程序中通过CALL调用完成延时和闪烁功能。如果将10S延时和闪烁分别写子程序,再在主程序中调用,能简化程序。不同的算法对电路控制的影响也会不同。此次设计为简单的交通红绿灯显示,并没有实用性,但是通过这个小程序的设计让我了解到汇编语言、各种芯片的实际使用价值,以及对完成一个程序的整体性把握。现实生活中微机的应用是非常广泛和复杂的,理论到实践还有很远的距离,只有打牢理论基础才有可能将其实现,我们需要学习的东西还有太多。

文档

微机原理课程设计交通信号灯

设计任务及要求交通信号灯的亮灭规律。设有一个十字路口,1、3位南北方向,2、4位东西方向。初态为4个红灯全亮,禁止通行;随后交通灯亮灭规律按下列步骤进行:(1)1、3路口绿灯亮,2、4路口红灯亮;(2)延时10秒后,1、3路口绿灯灭;(3)1、3路口黄灯闪烁(闪烁3次);(4)2、4路口绿灯亮,同时1、3路口红灯亮;(5)延时10秒后,2、4路口绿灯灭;(6)2、4路口黄灯闪烁(闪烁3次);(7)转向(1)循环执行。要求:1.通过8255A并口来控制LED发光二极管的亮灭,A口控制红灯,B口控
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top