资源描述:
《微机原理课程设计交通信号灯》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、设计任务及要求交通信号灯的亮灭规律。设有一个十字路口,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)和绿灯
2、(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且C
3、S=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位的端口包含一个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发光二极管的亮灭,因为灯光控
5、制不需要联络信号,所以按照方式0输出。A口控制红灯,B口控制黄灯,C口控制绿灯。红灯(RLED),黄灯(YLED)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。发光二极管通过电阻接+5V电压,输出为0则亮,输出为1则灭。主或子程序流程框图(可打印)主程序:开始初始化红灯全亮1、3路口绿灯亮,2、4路口红灯亮延时10s,1、3路口绿灯灭1、3路口黄灯闪烁3次2、4路口绿灯亮,1、3路口红灯亮延时10s,2、4路口绿灯灭2、4路口黄灯闪烁3次是否有键盘输入Y结束本实验
6、采用软件延时。黄灯闪烁,即黄灯亮1s、灭1s。键盘输入任意值可结束程序。假设8255A的入口地址为304—307H,即304H对应PA端,305H对应PB端,306H对应PC端,307H为方式控制字地址。程序代码按照分段结构书写,并加上必要的注释STACKSEGMENTSTACK‘STACK’DW32DUP(0)STACKENDSCODESEGMENTSTARTPROCFARASSUMESS:STACK,CS:CODEPUSHDSSUBAX,AXPUSHAXMOVDX,307H;写控制字MOVAL,80H;送方式字,选择0工作方式OUTDX,ALMOVD
7、X,304HMOVAL,OOUTDX,AL;初始化,红灯全亮LOP:MOVDX,305H;1,3路口绿灯亮MOVAL,0AHOUTDX,ALXORAL,0FHMOVDX,304H;2,4路口红灯亮OUTDX,ALMOVCX,10;延时10秒LOP1:CALLDELAYLOOPLOP1MOVDX,306H;1,3路口绿灯灭MOVAL,0FHOUTDX,ALMOVCL,3;黄灯闪烁三次LOP2:MOVDX,305H;1,3路口黄灯亮1秒MOVAL,0AHOUTDX,ALCALLDELAYMOVDX,305H;1,3路口黄灯灭1秒MOVAL,0FHOUTDX,
8、ALCALLDELAYLOOPLOP2MOVDX,306H;2,4路口绿灯亮MO