微机原理交通灯系统设计大作业
微机原理与接口技术
大作业
交通灯控制电路设计
1.设计题目
交通灯控制电路设计
要求:
1-每个路口都有车行指示灯:红,黄,绿
2-每个路口都有人行指示灯:红,绿
3-倒计时显示:两位数码管
4-使用PC-XT总线,定时器
5-设计硬件电路,列写控制规律,软件流程。
2.设计方案
本方案通过使用PC-XT总线,定时器,20个共阴极LED灯管,2片8255芯片与74LS138译码器,加上2个与门,以及16个LED共阴极数码管实现题目给
定的功能。
功能概述:使东南西北四个路口的车行红绿黄灯,与人行道的红绿灯,实现如下功能:
1-初始状态,四个路口全为红灯;
2-东西路口车行指示灯红灯,东西路口人行指示灯绿灯,南北路口车行指示灯绿灯,南北路口人行指示灯红灯,延时
3-东西路口车行指示灯黄灯闪烁,东西路口人行指示灯红灯,南北路口车行指示灯绿灯,南北路口人行指示灯红灯,延时
4-东西路口车行指示灯绿灯,东西路口人行指示灯红灯,南北路口车行指示灯红灯,南北路口人行指示灯绿灯,延时
5-东西路口车行指示灯绿灯,东西路口人行指示灯红灯,南北路口车行指示灯黄灯闪烁,南北路口人行指示灯红灯,延时
6-在各个交通灯按照上述逻辑循环变换期间,2位LED数码管不间断计时进行倒计时,同时预备进行各个颜色交通灯的转换。
3.硬件电路
如图所示
由硬件电路分析:
AEN=0-非DMA操作,可以使译码器参与译码输出有效的片选信号,故AEN=0,取反后为1。
由于G为高电平有效,G2A,G2B为低有效,故A9=0;A8=0,AEN=0使G2A,G2B,G有效。
由74LS138真值表可得输入
使能-G1=1;G2A=G2B=0且选择-C=B=A=1时,输出处Y0=Y1=1,取反后Y1=Y0=0,接入两个8255芯片的片选信号口CS。
由于CS口为低电平有效,故两片8255与CPU及PC-XT总线完成连接
故82551-交通灯处:
控制口地址:00 1111 1111 →0x0FF
C口地址:00 1111 1110 →0x0FE
B口地址:00 1111 1101 →0x0FD
A口地址:00 1111 1100 →0x0FC
A,B,C输出,方式0,则8255方式控制字为1000 0000=80H
82552-倒计时数码管处:
对共阴极LED字形编码如下-
0-3FH 1-06H 2-5BH 3-4FH 4-66H 5-6DH 6-7DH 7-07H 8-7FH 9-6FH
控制口地址:00 1111 1011 →0x0FB
A口地址:00 1111 1010 →0x0F8
B口地址:00 1111 1001 →0x0F9
A,B输出,方式0,8255方式控制字为1000 0000=80H
4.控制规律
1-对于交通灯的控制
1.1-使用8255-1中的A,B端口的全部8位(包括PA0~7;PB0~7)
引脚接线,接入LED灯模拟交通灯,再利用C端口的低四位
(PC0~3)接入LED灯,至此完成四个路口20个(车行灯12+
人行灯8)交通灯的接线与布置。
1.2-端口中接入的LED灯均设置为共阴极LED灯,以模拟交通灯,
即高电平有效LED灯。
1-3东南西北四个方向分别对应端口情况如下表所示
1-4端口状态图
2.对于倒计时数码管的控制
2.1-使用8255-2中的A,B端口的全部8个引脚接入数码管(包含PA0~7
以及PB0~7)至此,以LED数码管模拟交通灯系统中的两位倒计时,接线与布置已经完成。
2.2-关于每一位倒计时的数码管的接线与设置如下所示
2-3 关于LED数码管的选择与LED灯类似,均选取共阴极LED数码
管,
使高电平有效。
5. 软件流程。
微机原理课程设计交通信号灯
设计任务及要求交通信号灯的亮灭规律。
设有一个十字路口,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位的数据输入缓冲器。
微机原理自主设计交通灯
交通灯控制实验报告姓名:高晓玲班级:2010级通信工程一班学号:320100936990一、实验目的1、掌握并行接口8253的基本原理2、掌握8253的编程方法二、实验设备硬件:PC兼容机、微机实验仪、示波器、LED软件:操作系统MS-DOS,MASM.EXE、LINK.EXE三、实验内容如图所示,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通变化规律燃灭。
四、编程提示1、8255地址分析:控制寄存器地址: 0C40BHA口地址: 04C408HC口地址: 04C40AH2、十字路口交通灯的变化规律要求(1)南北路口的绿灯、东西路口的红灯同时亮三秒;(2)南北路口的黄灯闪烁三次,同时东西路口的红灯继续亮;(3)南北路口的红灯、东西路口的绿灯同时亮三秒;(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁三次;(5)转(1)重复。
3、C口置数分析由于发光二极管是共阴极相连,所以若要其发亮应给高电平;黄灯闪烁是让其不断交替亮灭来实现;同时分析可知只要有绿灯亮,灯就会持续亮三秒,黄灯亮就会闪烁三次。
4、程序设计流程图开始设置8255C口南北路口的绿灯、东西路口的红灯亮长延时南北路口的黄灯闪烁,东西路口红灯亮南北路口的红灯、东西路口的绿灯亮长延时南北路口红灯亮、东西路口黄灯亮闪烁N有键按下吗?Y返回DOS五、程序STACKA SEGMENT STACKDB 100H DUP(?)STACKA ENDSCODE SEGMENTASSUME CS:CODESTART: MOV AL,10000000B ;A口输出,C口输出MOV DX,021BHOUT DX,ALL0: MOV AL,00100100B ;南北绿灯亮,东西红灯亮MOV DX,021AHOUT DX,ALCALL DELAY ;长延时MOV CX,3 ;黄灯闪烁次数L1: MOV AL,01000100B ;南北黄灯闪烁,东西红灯亮NOT ALOUT DX,ALCALL DELAY1 ;短延时MOV AL,00000100BNOT ALOUT DX,ALCALL DELAY1 ;短延时LOOP L1MOV AL,10000001B ;南北红灯亮,东西绿灯亮NOT ALOUT DX,ALCALL DELAY ;长延时MOV CX,3L2: MOV AL,10000010B ;南北红灯亮,东西黄灯闪烁 NOT ALOUT DX,ALCALL DELAY1 ;短延时MOV AL,10000000BNOT ALOUT DX,ALCALL DELAY1 ;短延时LOOP L2MOV DL,0FFH ;有键按下吗?MOV AH,06HINT 21HJZ L0 ;无键按下则ZF=1,跳转重复 MOV AH,4CHINT 21H ;返回DOSDELAY PROC ;长延时程序PUSH DXPUSH CXPUSH AXMOV CX,0FFFFHT1: MOV AX,0FFFFHT2: DEC AXJNZ T2LOOP T1POP AXPOP CXPOP DXRETDELAY ENDPDELAY1 PROC ;短延时程序PUSH CXPUSH DXMOV CX,0FFFFHT3: MOV DX,4000HT4: DEC DXJNZ T4LOOP T3POP DXPOP CXRETDELAY1 ENDPCODE ENDSEND START六、总结交通灯实验程序编写的过程中,最常遇到的问题主要是由于延时时间的不确定所导致的闪烁不明显,因此必须设定足够长时间的延迟才能使人眼分辨。
《微机原理与接口技术》课程设计实验报告-交通灯控制功能设计
微机课程设计——交通灯控制系统
中断子程序模块是通过扩充中断源实现的,主要是通过设置 8259 的工作模 式,开放 TR1 和 TR0 的中断,按上开关 K 后,TR0 就发生中断,在 TR0 中断没有 触发的情况下,从 OU1 口输出一个上升沿脉冲,TR1 就中断一次, 程序如下所示:
QUERY: MOV DX,MY8259_OCW3 MOV AL,0CH OUT DX,AL IN AL,DX ;读出查询字 ;判断中断是否已响应 ; 没有响应则继续查询 ; 向 8259 的 OCW3 发送查询命令
《微机原理与接口技术》 课程设计实验报告
题目:交通灯控制功能设计
指导老师:
专业:
班级:
目录
微机课程设计——交通灯控制系统
ห้องสมุดไป่ตู้
一、设计思想和实施方案论述,硬件原理图及分析 1.1、课程设计名称 1.2、课程设计要求 1.3、课程设计目的 二、设计思想和实施方案论述,硬件原理图及分析 2.1、设计思想和实施方案 2.2、硬件原理图 三、典型模块以及典型编程技巧分析 3.1、8086 典型模块分析 3.2、编程技巧分析 四、设计中遇到的问题及解决方法 五、程序清单和程序注释,相关流程图 5.1 程序清单和注释 5.2、实验室及流程图 六、收获与体会 七、参考文献
微机课程设计——交通灯控制系统
MOV OUT 器输出 1HZ 的方波
AL,2 DX,AL ;1.041667MHZ/2000/1000=1HZ, 即计数
数码管的显示是通过调用显示函数实现的, 通过设置 8255 的工作模式, 选择数码管的高位工作, 然后将计数的高位送到数码管, 再选择数码管的低位工 作,然后将计数的低位送到数码管,在 1s 钟内多次扫描就可以消除闪烁,从而 达到理想的计数效果,它的程序如下所示:
微机原理课程设计_十字路口交通灯控制器
一、设计题目:十字路口交通灯控制器二、设计要求:通过对红绿黄LED发光二极管的控制,熟练掌握8255A可编程并行接口的编程方法。
编写程序控制8255A可编程并行接口芯片,使实验台上的红、绿、黄发光二极管按照十字路口交通信号灯的燃灭规律发光。
三、硬件方案:(一)设计原理:通过8255A并口来控制LED发光二极管的亮灭。
A口控制红灯,B口控制黄灯,C口控制绿灯。
输出为0则亮,输出为1则灭。
用8253定时来控制变换时间。
设有一个十字路口,1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。
延迟30秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。
闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。
延迟30秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。
闪烁5次后,再切换到1、3路口方向。
之后,重复上述过程。
要求使用可编程并行接口8255,8088CPU,双色灯,PC机等实现。
(二).部分所使用的芯片极其原理:(1)8255的基本功能:Intel公司生产的可编程并行接口芯片8255A已广泛应用于实际工程中,例如8255A与A/D、D/A配合构成数据采集系统,通过8255A连接的两个或多个系统构成相互之间的通信,系统与外设之间通过8255A交换信息,等等,所有这些系统都将8255A用作为并行接口。
8255A为一可编程的通用接口芯片。
它有三个数据端口A、B、C,每个端口为8位,并均可设成输入和输出方式,但各个端口仍有差异:端口A(PA0~PA7):8位数据输出锁存/缓冲器,8位数据输入锁存器;端口B(PB0~PB7):8位数据I/O锁存/缓冲器,8位数据输入缓冲器;端口C(PC0~PC7):8位输出锁存/缓冲器,8位输入缓冲器(输入时没有锁存);在模式控制下这个端口又可以分成两个4位的端口,它们可单独用作为输出控制和状态输入。
微机原理交通信号灯控制系统设计报告
HEFEI UNIVERSITY微机原理设计报告题目交通信号灯的控制系别电子信息与电气工程系班级11级电子信息工程(2)班姓名钟文俊学号1105012012指导老师丁健完成时间2013年5月28日交通信号灯控制系统摘要:本文介绍了以8086微处理器为核心.利用可编程并行接口芯片8255A的软硬件功能,实现对交通灯控制,主要是模拟十字路口的红绿灯,介绍了交通灯控制器的原理以及电路接线。
在设计中所用到的编程语言是汇编语言,延时采用的是软件延时(即通过汇编指令)。
关键词:8086微处理器;交通灯;8255A一、课程设计任务1.1 设计目标利用ZY15MicInt12BB微机原理及接口实验箱上的8086微处理器模块、并行接口8255A 模块,地址译码单元以及0—1LED灯显示等模块,根据所学的微机原理知识,按照实际交通情况设定一种交通灯规则,设计一个简单的交通信号灯控制系统。
1.2 设计要求在一个十字路口,东西方向和南北方向各有两组交通指示灯,每组有红、黄绿三个灯。
东西方向同色灯连在一起,南北方向同色灯连在一起。
对各组的交通灯进行控制,以保证车辆在各道上通畅运行。
两组组的交通灯工作过程为:1.南北方向亮绿灯允许通行,东西方向亮红灯禁止通行2.当延时25秒后,南北方向的黄灯同时变亮,且延时5秒。
3.延时后,东西方向转为绿灯,南北方向转为红灯,且延时25秒。
4.25秒后,转为东西方向黄灯亮,延时5秒后,回到第一步,以次重复进行,不断循环。
5.当遇到道路障通,或紧急情况时,A、B道全为红灯。
二、原理说明与硬件设计2.1原理说明在本次课程设计当中,采用的是以8086微处理器为核心,以8255A芯片作为接口芯片,运用软件定时(即通过汇编指令)控制LDE灯(即交通灯)按照设定的交通规则显示。
2.2 8086简介8086微处理器是Intel系列的第三代微处理器,拥有四个16位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16位索引寄存器,其主频为5MHz/10MHz,地址总线宽度为20位,可寻址的内存空间打1MB。
微机原理实验交通灯控制实验(DOC)
课程设计课程设计名称:交通灯控制实验专业班级:学生姓名:学号:指导教师:课程设计时间:2014.12.22---2015.1.2微机原理专业课程设计任务书学生姓名专业班级学号题目交通灯控制实验课题性质工程设计课题来源自拟课题指导教师同组姓名主要内容L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连.L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通灯变化规律亮灭。
任务要求1:掌握并理解芯片8255和8253计时器工作原理2:掌握并理解源程序和程序中的函数3:熟悉8255内部结构和与单片机的接口逻辑,掌握8255芯片的3种工作方式。
4:了解单片机外围芯片8255的工作原理、初始化编程以及输入、输出程序设计方法参考文献《微型计算机原理及运用》谭浩强清华大学出版社《16/32位微机原理、汇编语言及接口技术》陈涛机械工业出版社《微机接口技术应用》审查意见指导教师签字:教研室主任签字:年月日一:设计的目的和内容1 目的:通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。
2 内容:如图1.L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连.L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。
编程使六个灯按交通灯变化规律亮灭。
图1二:设计思想:在选择循环的时间上.老师上课时说过.长延时可以采用双层嵌套.外层嵌套为0FFFFH.内层嵌套为4000H.我在编程时外层送进了0.相当于初值为65536.内层送进了4000H。
为了达到闪烁和延时的区别.我在编闪烁的程序时.给外层嵌套送入初值3000H.内层0100H(这是我通过实验的结果)。
人眼感觉闪烁的效果只是短延时的结果此方案是通过并行接口芯片8255A和8086计算机的硬件连接.以及通过8253延时的方法.来实现十字路口交通灯的模拟控制。
如上图所示.红灯(RLED).黄灯(YLEDD)和绿灯(GLED)分别接在8255的A.B.C口的低四位端口.PA0.PA1.PA2.PA3分别接南.东.北.西路口的红灯.B.C口类推。
微机原理课程设计交通灯控制系统
课程设计(微机原理及接口技术)班级计科0704姓名学号00指导教师二○一○年七月十三日课程设计任务书及成绩评定课题名称交通灯控制系统Ⅰ、题目的目的和要求:学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。
通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。
Ⅱ、设计进度及完成情况主要参考文献及资料[1] 戴梅萼等.微型计算机技术及应用.清华大学出版社出版,[2]徐建平, 成贵学, 朱萍等主编,,北京航空工业出版社,2010[3]马金忠编,,重庆大学出版社,2009Ⅳ、成绩评定:设计成绩:(教师填写)指导老师:(签字)二〇一〇年七月十三日目录Ⅱ、设计进度及完成情况 (2)主要参考文献及资料 (2)第一章概述本课程设计意义课程设计是实践性教学中的一个重要环节,它以某一课程为基础,可以涉及和课程相关的各个方面,是一门独立于课程之外的特殊课程。
课程设计是让同学们对所学的课程更全面的学习和应用,理解和掌握课程的相关知识。
《微机原理与接口技术》是一门重要的专业课。
1.2课题意义和设计目标按照时间控制原则,利用并行接口和定时器,采用时间中断方式设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为秒,周而复始。
可利用8255、8253、8259等接口电路。
第二章系统分析与设计系统设计假设1、2、3、4分别表示南西北东。
初始态为东西南北四盏灯全部为红色,然后1、3路口的绿灯亮,2、4路口的红灯亮,持续30秒。
然后1、3路口的绿灯熄灭,黄灯亮,持续秒,然后黄灯灭,持续秒,让黄灯闪三次,1、3路口的红灯亮,同时2、4路口的绿灯亮,持续30秒。
然后然后2、4路口的绿灯熄灭,黄灯亮,持续秒,然后黄灯灭,持续秒,让黄灯闪三次,然后循环到初始状态,如此循环,实现交通灯控制。
微机实验 交通灯实验报告
微机实验交通灯实验报告微机实验交通灯实验报告引言交通灯作为城市交通管理的重要组成部分,对于保障交通安全和顺畅起着至关重要的作用。
本次实验旨在通过微机控制,模拟交通灯的工作原理,并实现交通灯的自动控制。
一、实验目的本次实验的主要目的是通过搭建一套微机控制系统,实现交通灯的自动控制,并通过实验验证交通灯在不同道路情况下的工作原理和效果。
二、实验原理1. 交通灯的工作原理交通灯通常由红、黄、绿三个信号灯组成。
红灯表示停止,黄灯表示准备,绿灯表示可以通行。
交通灯通过不同颜色的灯光变化,指示车辆和行人何时可以通行,以保障交通的有序进行。
2. 微机控制系统微机控制系统是利用计算机和相应的软硬件实现对设备、机器等的控制和管理。
在交通灯实验中,我们可以通过编程控制计算机输出不同的信号,从而实现交通灯的自动控制。
三、实验器材和步骤1. 实验器材- 微机控制系统:包括计算机、编程软件和控制接口等。
- 交通灯模型:模拟真实的交通灯,包括红、黄、绿三个信号灯。
2. 实验步骤- 连接交通灯模型和微机控制系统。
- 编写程序,设置交通灯的工作时间和信号灯变化规律。
- 运行程序,观察交通灯的工作状态和变化过程。
四、实验结果和分析通过实验,我们成功地实现了交通灯的自动控制。
在程序中,我们设置了红灯亮10秒,黄灯亮3秒,绿灯亮15秒的时间间隔,模拟了真实交通灯的工作规律。
在实验过程中,我们观察到交通灯按照预设的时间间隔循环变化,红灯亮起时车辆停止,绿灯亮起时车辆可以通行。
这样的交通灯控制方式可以有效地维持交通的有序进行,减少交通事故的发生。
五、实验总结通过本次实验,我们深入了解了交通灯的工作原理和微机控制系统的应用。
微机控制系统作为一种高效、精确的控制手段,可以广泛应用于各个领域,提高设备的自动化程度和工作效率。
在今后的学习和工作中,我们将继续深入学习微机控制系统的原理和应用,掌握更多的编程技巧和控制方法,为实现更多实际问题的自动化解决方案做出贡献。
微机原理交通灯控制系统设计实验.
微机原理与汇编语言综合性实验交通灯控制系统设计学号姓名班级微机原理与汇编语言综合性实验任务书实验项目名称:交通灯控制系统设计课程名称:微机原理与汇编语言面向专业:信息与计算科学专业计划学时:4学时=实验课内2学时+实验课外2学时实验类型:√综合设计实验目的:掌握典型数字接口电路的应用技术原理,掌握常用接口芯片在应用系统中的硬件电路连接原理和软件编程方法。
实验要求:包括开发环境要求,技术文档要求两部分。
开发环境要求:软件环境:windows98/windowsXP/windows2000,emu8086环境硬件环境:计算机(Pen4CPU, 256MRAM,60G以上硬盘,输入输出设备)技术文档要求:按照实验报告编写要求进行。
要求流程图绘制规范,软、硬件功能描述清晰,实验总结深刻。
实验内容:1 熟悉并行接口、中断控制器、定时器的工作原理及相关芯片。
2 掌握数字接口电路设计应用原理,根据系统功能用汇编语言编写相关程序。
3 与单片机实验箱结合,选择合适的芯片,按照实验要求连接电路。
并在系统中输入程序,运行并观察结果。
也可在emu8086环境中运行编译好的的程序,通过系统模拟,在模拟窗口中观察交通信号灯的变化,得出相关结论。
实验方案(任务提示):按照时间控制原则,利用并行接口和定时器,采用时间中断方式设计电路。
按照系统板上硬件连线要求,在QTH-8086B16位微机教学实验仪上连好相关线路并将实验仪与PC机连好。
也可在proteus环境下设计硬件原理图,搭建硬件电路。
根据软件设计的程序流程编写源程序,可自行控制通行时间、禁止时间及准备时间,周而复始。
再将源程序在相应的环境中进行编译连接和运行,或者仿真调试,以实现控制交通灯的功能。
实验仪器设备:每个学生一台计算机、QTH-8086B 16位微机教学实验仪、或者emu8086实验模拟系统。
实验报告版式要求:A4纸张打印;上下页边距各2.5cm,左右页边距各3.0cm,页眉1.5cm页脚1.75cm;页码位于页脚居中打印;奇数页页眉“微机原理与汇编语言综合性实验”,偶数页页眉“交通灯控制系统设计”,页眉宋体小5号,一级标题:黑体三号粗体字;二级标题:黑体4号;三级标题黑体小4号,正文,宋体5号。
北京工业大学-微机原理-实验十二-交通灯控制实验-实验报告
微机原理实验报告——实验九交通灯控制实验姓名:学号:一、实验要求用8255、8253芯片模拟实现交通灯控制,要求亮灯时间用8253控制二、延时置数设计提供的时钟频率为1MHz,而8253最大工作频率为2MHz,所以无需分频。
延时5秒对应的计数初值为N=5秒/1MHz=5000000,因为8253有3个16位计数器,每个计数器最大计数初值为:65535<5000000,所以将两个计数器串联使用。
计数器0计数初值为1000,计数器1计数初值为5000。
三、实验内容1.实验电路原理图2.实际电路图2.实验流程图3.实验代码IOPORT EQU 5400H-280H ;定义CPU输出地址CODE SEGMENTASSUME CS:CODESTART: MOV AL, 00100101B ;设置8253用计数器0,只读高字节,方式2(自动重复),10进制MOV DX, IOPORT+293HOUT DX, ALMOV AL, 10H ;给计数器0置数1000(0001 0000 0000 0000)MOV DX, IOPORT+290HOUT DX, ALMOV AL, 10010000B ;初始化8255,1--控制字,A口方式0输入,C口输出,B口输出MOV DX, IOPORT+28BHOUT DX, ALINOUT: MOV AL, 00100100B ;南北路口绿灯亮,东西路口红灯亮MOV DX, IOPORT+28AH ;C口0方式输出,所以可以直接控制PC0~PC7的输出电平OUT DX, ALMOV AL, 01100001B ;设置8253通道1,只读高字节,方式0(不自动重复),10进制MOV DX, IOPORT+293HOUT DX, ALMOV AL, 50H ;置数5000,与计数器0串联即:延时5秒MOV DX, IOPORT+291HOUT DX, ALLOP1: MOV DX, IOPORT+288H ;A口查询,判断延时是否结束IN AL, DXCMP AL, 0JE LOP1 ;延时结束,顺序执行,否则继续查询MOV AL, 01000100B ;南北路口黄灯亮,东西路口红灯亮MOV DX, IOPORT+28AH ;C口0方式输出,所以可以直接控制PC0~PC7的输出电平OUT DX, ALMOV AL, 01100001B ;设置8253通道MOV DX, IOPORT+293HOUT DX, ALMOV AL, 30H ;延时3秒(1000*3000),原理与延时5秒一致MOV DX, IOPORT+291HOUT DX, ALLOP2: MOV DX, IOPORT+288H ;A口查询,判断延时是否结束IN AL, DXCMP AL, 0JE LOP2 ;延时结束,顺序执行,否则继续查询MOV AL, 10000001B ;南北路口红灯亮,东西路口绿灯亮MOV DX, IOPORT+28AH ;C口0方式输出,所以可以直接控制PC0~PC7的输出电平OUT DX, ALMOV AL, 01100001B ;设置8253通道1MOV DX, IOPORT+293HOUT DX, ALMOV AL, 50H ;延时5秒MOV DX, IOPORT+291HOUT DX, ALLOP3: MOV DX, IOPORT+288HIN AL, DXCMP AL, 0JE LOP3MOV AL, 10000010B ;南北路口红灯亮,东西路口黄灯亮MOV DX, IOPORT+28AHOUT DX, ALMOV AL, 01100001B ;设置8253通道1MOV DX, IOPORT+293HOUT DX, ALMOV AL, 30H ;延时3秒MOV DX, IOPORT+291HOUT DX, ALLOP4: MOV DX, IOPORT+288HIN AL, DXCMP AL, 0JE LOP4MOV AH, 0BH ;检查键盘状态(不等待),AL=FFH 表示有键入,AL=00H表示无键入INT 21HCMP AL,0FFH ;有键入,程序退出JNZ INOUTMOV AH, 4CHINT 21HCODE ENDSEND START四、实验中遇到的问题地址书上要求定义的范围是从280H开始的,而我们在编写程序的时候是从288H开始使用的,再连线的时候,忘记了这一点,而致使结果一直出不来,后来再检查连线的时候发现了这个问题,即使进行了改正,出现了预计效果,试验成功。
