8086实现交通灯实时控制系统

合集下载

微机原理8086交通信号灯的控制

微机原理8086交通信号灯的控制

微机原理课程设计一.设计任务及要求:交通信号灯的控制:1.通过8255A并口来控制LED发光二极管的亮灭。

2.A口控制红灯,B口控制黄灯,C口控制绿灯。

3.输出为0则亮,输出为1则灭。

4.用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的A口,B口和C口上,灯的亮灭可直接由8086输出0,1控制。

30秒延时及闪烁由8253控制,由闪烁的实现方法可分为两种方案:方案一:设8253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。

黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。

由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方式,理论设计输出周期为0.01s的方波。

1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1µs,因此通道0的计数初值为10000=2710H。

由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数口,8255将A口数据输入到8086,8086检测到则输出一个高电平到8255的PA7到高电平既完成30s定时。

基于8086的交通信号控制器的设计

基于8086的交通信号控制器的设计

基于8086的交通信号控制器的设计报告这次课程设计,我们的任务是:基于8086的交通信号控制器的设计。

8086系统是我们这个学期学习的主线方向,我们将在8086系统的基础上完成交通信号控制器的设计,其具体功能是:1.显示十字路口东西、南北2个方向的红、黄、绿的指示状态。

2.实现正常的倒计时功能。

用2组数码管作为东西和南北方向的倒计时显示,显示时间为红灯30s,绿灯50s,黄灯5s。

3.按S1键能实现特殊的功能,显示倒计时的2组数码管闪烁,计数器停止计数并保持在原来的状态;东西、南北路口均显示红灯状态;特殊状态解除后能继续计数。

4.按S2键实现总体清零功能。

计数器由初始状态计数,对应的指示灯亮。

1.2 设计思想在此次设计过程中,我们选择了数码管、发光二极管、8255A和8086来控制实现交通灯按设计要求工作。

1)硬件部分1、LED设计说明:用LED作为倒计时时间的显示器, LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。

LED与LCD的功耗比大约为10:1,利用LED技术,可以制造出比LCD更薄、更亮、更清晰的显示器,LED 是发光二极管属于二极管的一种,LCD是液晶显示器,两者相差太多.但是用LED的点阵也能组成显示器,适用于户外大屏幕显示,分辨率较低,LED与LCD具体比较如下图2、8255设计说明:用8255A可编程并行接口芯片的A、B、C三口作为红、绿、黄交通灯的控制输入口。

8255有三个并行输入输出口,可以方便的对三种颜色的交通灯进行很好的控制。

解决方案是:PB0~PB7接模拟灯二极管,PA0~PA7接7段二极管的段选,PC0~PC3接7段二极管的位选,PC4~PC7与开关相连,处理器芯片集成芯片卡PCI卡连接,用于完成硬件方面的实验正常通信。

其芯片比较说明:如下表:2根据硬件需求采用8255A芯片,为实现对通信的控制,采用汇编语言,分别编程控制8255的工作方式,在编程时应考虑到状态的转换采用查询方式控制,根据需求分析可采用8255的方式0下工作具体如下设置:硬件连接说明:8255A芯片的PA、PB、PC三口的工作方式为方式0,将8255的PB0~PB7接红绿灯用以模拟交通灯的变化,PA0~PA7接7段LED灯的段选码,,完成LED显示器的段选,PC0~PC3接LED显示器的位选码用以完成位选,PC4-PC7接开关,以完成初值接收。

8086交通灯

8086交通灯
3.3 存储器选型
存储器我选用两片6116型号的静态RAM,容量为4KB片选信号与A0相连的是偶片,主要用于低8位数据总线上进行字节传送。与BHE选中的是奇片,主要用于高8位数据总线上字节传送。当A0和BHE都选中的时候,可进行16位数据总线字传送。
图3 6116 RAM存储器管脚图
RAM的主要功能是存储程序、变量等。如果计算机关机,这些信息不再存在。本电路中,A12-A19作为片选信号,均为低电平。故存储范围为0H-0FFFH。
2.4 方案确定
综上所述,我选用的方案最终为利用可编程计数器8254实现硬件定时,用查询方式控制8086工作,用并行I/O接口8255A实现8086与外设(本设计采用发光二极管模拟交通信号灯)数据交换,用中断控制器8259A实现闯红灯报警的扩展功能。
3 硬件部分设计
ቤተ መጻሕፍቲ ባይዱ3.1 总体设计
正如A3图纸系统硬件连接图所示,CPU我选用INTEL公司的8086,它足以满足交通信号灯自动控制系统的功能要求;存储器选用两片型号为6116的静态RAM,一片作为奇片,一片作为偶片,总存储容量可达到4KB,既可以读也可以写,足以满足要求;由于8086CPU有16根地址与数据共用线,故有必要将地址码与数据码分开,8086采用了分时传送的方法,即先传送地址码,再传送数据码,故必须用锁存器将地址码锁存起来。我选用74系列的74LS373作为地址锁存器;由于外设、内存存取数据速度不匹配,故有必要使用缓冲器来暂时记忆存储数据,我选用74系列的74LS245作为数据缓冲器;存储器译码我采用全译码方式,用74LS688比较译码器可减少逻辑组合电路;可编程芯片8255A,8254,8259A的片选信号译码,我采用线译码方式,这样可以保证其端口地址只有8位,易于程序编写。因而74LS138译码器是最好的选择。至于8255A,8254,8259A的选用目的已在前面解释过,这里不再重复。在具体设计该系统时,我选用发光二极管LED来模拟红,黄,绿灯的亮和灭。由于实际生活中只需要10盏灯就可实现车行道,人行道的通行,如图所示,故这里我也选用10支二极管,其对应关系如表所示。LED1-LED5与8255A PA口相连,LED6-LED10与PB口相连。PC1口作为状态查询口,PC6口输出可实现车闯红灯的报警功能。

8086汇编语言-模拟交通灯_实验报告

8086汇编语言-模拟交通灯_实验报告

计算机接口技术实验模拟交通灯控制一、实验目的:综合运用接口芯片,提高实践能力。

二、实验设备:TDN86/51教学实验系统一台。

三、实验要求:自行设计实验电路,独立编写程序,实现模拟交通灯控制系统。

模拟交通灯有三个状态往复循环:1、初始时,东西方向的绿灯亮,同时,南北方向及人行道上的红灯全亮。

持续5S。

2、然后,南北方向的绿灯亮,同时,东西方向及人行道上的红灯全亮。

持续8S。

3、最后,人行道方向的绿灯亮,同时,东西方向及南北的红灯全亮。

持续6S。

四、实验步骤:1. 系统分析:根据TDN86/51教学实验系统中的LED单元进行的约定如下:状态1时LED单元的状态如下:即1000 0111B=87H状态2时LED单元的状态如下:2即0100 1011B=4BH状态1时LED单元的状态如下:即0011 1100B=D3H电路连接如下图:2. 芯片工作状态分析:8253:芯片端口地址:40H~43H。

工作在方式0,0号计数器,工作方式命令字:30H。

CLK0为1.19MHZ,故最大计数时间为:65536/(1.19x106) =55ms。

可令其产生50ms定时,计数初值约为:0.05x1.19x106=59500。

从而,5s定时外循环次数为100次,8s定时外循环次数为160次,6s定时外循环次数为120次。

8259:芯片端口地址:20H、21H实验IRQ0中断,初始化时需要开IRQ0中断。

8255:芯片端口地址:60H~63HA口工作在方式0状态,输出,工作方式控制字:80H。

3. 程序流程图:主程序流程图:IRQ0中断服务程序流程图:五、实验程序源代码:STACK SEGMENT STACKDW 64 DUP (?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART:CLI ;关中断,开始填0中断矢量PUSH DSMOV AX,00H ;填偏移量MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,2000HMOV SI,20HMOV [SI],AXMOV AX,00H ;填CS段基址MOV SI,22HMOV [SI],AXPOP DSIN AL,21H ;读8259中断屏蔽字AND AL,0FEH ;开中断0OUT 21H,ALMOV AL,80H ;初始化8255OUT 63H,ALMOV AL,30H ;初始化8253OUT 43H,ALMOV AL,0FFH ;循环前把所有的灯关闭OUT 60H,ALA0:MOV CX,100 ;开始进入1状态,CX初值为100A1:MOV AX,59500 ;8253载入初值OUT 40H,ALMOV AL,AHOUT 40H,ALMOV AL,87H ;状态1的数据存入AL,等待输出STI ;开中断HLT ;停机等待中断LOOP A1 ;根据CX的值循环本状态MOV CX,160 ;开始进入2状态,CX初值为160A2:MOV AX,59500 ;8253载入初值OUT 40H,ALMOV AL,AHOUT 40H,ALMOV AL,4BH ;状态2的数据存入AL,等待输出STIHLTLOOP A2MOV CX,120 ;开始进入3状态,CX初值为120 A3:MOV AX,59500OUT 40H,ALMOV AL,AHOUT 40H,ALSTIHLTLOOP A3JMP A0IRQ0: ;中断服务程序OUT 60H,AL ;输出AL数据到8255,改变灯状态MOV AL,20H ;发EOIOUT 20H,ALIRET ;中断返回CODE ENDSEND START。

8086 交通灯系统

8086 交通灯系统

微机原理课程设计学号:20101334045:王余祥一、课题提出简易交通信号灯控制系统,因为以前用51单片机做过的,刚好现在要做这个微机课程,就拿那个练习下,我觉得这样可以从中发现51和8086的区别以及对比下各自的优缺点。

二、构思框架交通信号灯的控制:1、通过8255A并口来控制LED发光二极管的亮灭。

2、A口控制红灯,B口控制黄灯,C口控制绿灯。

3、输出为0则亮,输出为1则灭。

4、用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路口方向。

之后,重复上述过程针对模型的解决方案:设8253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。

黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波, 8255控制或门打开的时间,在或门打开的时间,8253将方波信号输入或门使黄灯闪烁。

由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方式,理论设计输出周期为0.01s的方波。

1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1 s,因此通道0的计数初值为10000=2710H。

由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数到则输出一个高电平到8255的PA口,8255将A口数据输入到8086,8086检测7到高电平既完成30s定时。

基于8086的交通信号控制器的设计报告

基于8086的交通信号控制器的设计报告

HEFEI UNIVERSITY基于8086的交通信号控制器的设计报告系别电子信息与电气工程系专业班级 09级自动化1班组员吴红0905075014田坤0905075023王林0905075002指导老师王敬生刘伟完成时间 2011-12-30基于8086的交通信号控制器的设计报告摘要:这次课程设计是基于8086的交通信号控制器的设计。

微处理器我们用的是8086,主要芯片是8255,在应用74LS138和74LS373配套使用。

通过硬件的正确连接和软件的正确编程,出现灯亮和数码管显示倒计时,基本符合设计要求。

关键词:8086 8255正文1、硬件部分1.1 设计目的交通信号控制灯是日常交通不可缺少的工具,涉及到人们的人生和财产安全,在道路行驶上起了相当关键的作用,因而设计交通信号控制灯是非常有意义的。

同时我们这次设计的课题就是“基于8086交通信号控制器的设计”,基于以上目的,我们小组花费两周时间精心设计出课题要求的交通灯。

1.2 设计思想在此次设计过程中,我们选择了数码管、发光二极管、74LS138、74LS373、8255A和8086来控制实现交通灯按设计要求工作。

设计时,我们尝试几种方法,基于电路可靠,硬件电路简单和程序编译方便我们选择了这种方法。

基本思想是:将程序烧进8086后,通过微处理器8086的处理,再通过译码器的使用,通过8255控制端口来控制数码管和LED交通灯。

设计出来相对稳定。

1)硬件部分通过8255A的三个I/O端口A口、B口、C口与红、绿、黄二极管连接起来控制交通灯的规律性变化。

8255有3个方式,分别是方式1,方式2,方式3。

输入输出方式如下图:用8255A可编程并行接口芯片的A、B、C三口作为红、绿、黄交通灯的控制输入口。

8255有三个并行输入输出口,可以方便的对三种颜色的交通灯进行很好的控制。

解决方案是:PB0~PB7接模拟灯二极管,PA0~PA7接7段二极管的段选,PC0~PC3接7段二极管的位选,PC4~PC7与开关相连,处理器芯片集成芯片卡PCI卡连接,用于完成硬件方面的实验正常通信。

微机8086红绿灯系统设计详细设计

微机8086红绿灯系统设计详细设计

生物医学工程学院(医学信息专业)信息技术设计2报告课程设计名称十字路口交通灯控制系统设计摘要十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。

十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。

当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。

但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受人为因素的影响,例如在救护车以及警车开过的情况下,交通灯应当为其开辟“绿色通道”,使其畅通无阻。

本系统采用8253定时器计数,8255并口控制,的交通灯演示系统。

设计一个用于十字路口的交通灯管理系统,分东、西、南、北四个通行方向,东西和南北方向各有一组红、绿灯用于指挥交通;红、绿的持续时间分别为20s,周而复始。

因为南北向和东西向交通灯是对称的,所以我们从南北向和东西向各取一个交通灯来进行控制。

关键词:8086CPU 红绿灯控制系统 8255 8253目录1.系统方案选择与论证 (4)1.1任务 (4)1.2要求 (4)1.3系统基本方案 (4)1.3.1各种方案选择及论证 (4)1.3.2系统的最终方案 (5)2.系统硬件设计 (6)2.1电路原理与电路图,实验系统接线图 (6)2.2主要芯片工作原理 (7)2.21.8255芯片的内部结构及引脚 (7)3.系统软件设计 (10)3.1系统主程序的设计 (10)3.2延时子程序的设计 (11)3.3检测开关是否打开子程序 (12)4.调试与分析 (12)5.收获与体会 (13)6参考资料 (14)附录1(硬件电路原理图): (14)附录2(主要程序): (15)1.系统方案选择与论证1.1任务设计并制作一个十字路口红绿灯控制系统。

交通信号灯的控制:(1)通过8255并口来控制LED发光二极管的亮灭。

(2)输出为0则亮,输出为1则灭。

(3)利用8253定时来控制变换时间。

基于8086的交通信号控制器的设计[详细]

基于8086的交通信号控制器的设计[详细]

基于8086的交通信号控制器的设计报告这次课程设计,我们的任务是:基于8086的交通信号控制器的设计.8086系统是我们这个学期学习的主线方向,我们将在8086系统的基础上完成交通信号控制器的设计,其具体功能是:1.显示十字路口东西、南北2个方向的红、黄、绿的指示状态.2.实现正常的倒计时功能.用2组数码管作为东西和南北方向的倒计时显示,显示时间为红灯30s,绿灯50s,黄灯5s.3.按S1键能实现特殊的功能,显示倒计时的2组数码管闪烁,计数器停止计数并保持在原来的状态;东西、南北路口均显示红灯状态;特殊状态解除后能继续计数.4.按S2键实现总体清零功能.计数器由初始状态计数,对应的指示灯亮.1.2 设计思想在此次设计过程中,我们选择了数码管、发光二极管、8255A和8086来控制实现交通灯按设计要求工作.1)硬件部分1、LED设计说明:用LED作为倒计时时间的显示器, LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势.LED与LCD的功耗比大约为10:1,利用LED技术,可以制造出比LCD更薄、更亮、更清晰的显示器,LED是发光二极管属于二极管的一种,LCD是液晶显示器,两者相差太多.但是用LED的点阵也能组成显示器,适用于户外大屏幕显示,分辨率较低,LED与LCD具体比较如下图2、8255设计说明:用8255A可编程并行接口芯片的A、B、C三口作为红、绿、黄交通灯的控制输入口.8255有三个并行输入输出口,可以方便的对三种颜色的交通灯进行很好的控制.解决方案是:PB0~PB7接模拟灯二极管,PA0~PA7接7段二极管的段选,PC0~PC3接7段二极管的位选,PC4~PC7与开关相连,处理器芯片集成芯片卡PCI卡连接,用于完成硬件方面的实验正常通信.其芯片比较说明:如下表:初始化特点8255A直接位清0/置1功能简化了接口控制8251在初始化时,必须重新设置模式寄存器的格式.2)根据硬件需求采用8255A芯片,为实现对通信的控制,采用汇编语言,分别编程控制8255的工作方式,在编程时应考虑到状态的转换采用查询方式控制,根据需求分析可采用8255的方式0下工作具体如下设置:硬件连接说明:8255A芯片的PA、PB、PC三口的工作方式为方式0,将8255的PB0~PB7接红绿灯用以模拟交通灯的变化,PA0~PA7接7段LED灯的段选码,,完成LED显示器的段选,PC0~PC3接LED显示器的位选码用以完成位选,PC4-PC7接开关,以完成初值接收.初始化8255后.利用汇编语言编写访问控制程序,控制绿灯的显示倒记时间,它与红灯的显示时间是相同的,编写控制程序控制黄灯的闪烁时间,当绿灯的显示时间结束后切换到黄灯,再切换到红灯,如此循环下去.二、硬件设计2.1 选择芯片8255A1)、8255A在本实验中的作用:通过8255A的三个I/O端口A口、B口、C口与红、绿、黄二极管连接起来控制交通灯的规律性变化.2)、8255A的功能分析:PA、PB、PC三口均工作在方式0状态.:PB2~PB3接黄灯,PB4~PB5接红灯;PB0~PB1接绿灯,PA0~PA7作为段选码;PC0~PC1作为位选码.我们采用的是将PC口分成两部分使用,PC0-PC3作为位选码,PC4-PC7作为输入口,接收开关输入的初值信息.将在用8255A前首先要对它进行初始化,设置它的方式选择控制字.3)、8255A工作方式0说明:方式0的工作特点:这种方式通常不用联络信号,不使用中断,三个通道中的每一个都有可以由程序选定作为输入或输出.其功能为:(1)两个8位通道:通道A、B.两个四位通道:通道C高4位和低四位;(2)任何一个通道可以作输入/输出;(3)输出是锁存的;(4)输入是不锁存的;(5)在方式0时各个通道的输入/输出可有16种不同的组合.方式0的使用场合:同步传送是在外设控制过程的各种动作时间为固定,且已知的条件下使用的.因此,传送中不要应答信号.输入时,执行程序只要给出IN指令;而输出时,也只给出OUT指令,就能实现数据的输入或输出.优点是程序简单,接口的硬件开销小.查询式传输时,要先查询一个外设的状态,当该状态表示外设已准备好时,方能开始查询传输,否则CPU将继续查询.但在方式0,没有规定固定的应答信号,所以,这时将通道A、B作为数据通道,把通道C的4个位(高4位或低4位)规定为输出口,用来输出一些控制信号,而把通道C的另外4个位规定为输入口,用来输入外设的状态.这样利用通道C来配合通道A和B 的输入/输出操作.4)、8255A方式选择控制字说明:控制字格式如图1-2:图1-2:8255A芯片的控制字格式参数说明:D7=1工作方式控制标志.D6D5组合设定A口工作方式:00~方式0、01~方式1、10/11~方式2.D4设定A口的输入/输出,D4=1输入D4=0输出.D3C口高位输入/输出选择,D3=1输入D3=0输出.D2B口工作方式选择,D2=1方式1;D2=0方式0.D1B口输入/输出选择D1=1输入D1=0输出.D0设定C口低位输入/输出D0=1输入D0=0输出.5)、8255A技术参数:主要参数说明:8255A工作最大电流为120米A,VCC=-5V~+5V,I(DAR)工作电流最大为4米A.8255的输出电压不高,连接到LED时,最好加入一个驱动器起到电流放大的作用,其具体参数值说明如表3-1.8255A技术参数测试条件规范值单位大小输入低电平电压VIL0.8-0.5V输入高电平电压VIHVCC2.0V输出低电平电压VOL(数据端口) IOL=2.5MA0.45V输出低电平电压VOL(外围端口) IOL=1.7MA0.45V输出高电平电压VOH(数据端口) IOR=-400MA2.4V输出高电平电压VOH(外围端口) IOH=-200MA2.4V达林顿驱动电流IOAR-4.0-1.0米A电源电流ICC120米A 输入负载电流IILIIN=0~VCCI/O米A 输出浮动电流IOFVOR=0.45~VCCI/O米A图1-3: 8255A内部逻辑图2.2 选择芯片七段LED显示器1)、LED显示器在本设计中的作用:接收由8255A芯片送来的字型码显示编码结果其中LED技术参数如表1-5:表1-4: LED技术参数说明2)、七段LED显示器LED显示器的功能分析:LED显示器有共阳极和共阴极两类.其原理图(图1-4):图是一个6位LED动态显示电路,段驱动器输出LED字符7段代码信息,位驱动器输出6个LED的位选信号,即分时使Q0~ Q5轮流有效,使得LED0~LED5轮流显示.图1-4:七段LED显示器笔画型LED显示器是由8个二极管电路a~dp按字型‘8’的方式排列,当不同的二极管被选通后根据发光效果会显示不同的自型.本设计中采用共阴极连接方式,a~dp分别与74LS273的1Q~8Q相连,接收段选码信号(高电平);4位LED显示器的4根共阴极引线与8255A的PC0~PC3相连,接收位选码信号(低电平).段选码和位选码共同作用以显示不同的字型.LED字型显示原理:Dp G f E d c b A 显示数码0 0 1 1 1 1 1 1 0 3fh0 0 0 0 0 1 1 0 1 O6H0 1 0 1 1 0 1 1 2 5bh0 1 0 0 1 1 1 1 3 4fH0 1 1 0 0 1 1 0 4 66H0 1 1 0 1 1 0 1 5 6dH0 1 1 1 1 1 0 1 6 7dH0 0 0 0 0 1 1 1 7 07H0 1 1 1 1 1 1 1 8 7fH0 1 1 0 1 1 1 1 9 6fH2.31)、硬件原理说明:本设计以STAR ES598PCI实验仪提供的最实用、新颖的接口实验,提供的汇编控制程序设计控制硬件运行为依据设计的;在课程设计中主要利用了STAR ES598PCI实验提供的8255A芯片,7段LED显示器,以及红绿灯LED显示二极管,其中完成PC机与实验箱之间的通信用到了最主要的集成卡PCI卡.课程设计时完成编程调试的只要开发工具为星研集成开发环境.2)、硬件连接说明:8255A芯片的PA、PB、PC三口的工作方式为方式0,将8255的PB0~PB7接红绿灯用以模拟交通灯的变化,PA0~PA7接7段LED灯的段选码完成LED显示器的段选,PC0~PC3接LED显示器的位选码用以完成位选,PC机通过数据总线经过集成电路卡PCI卡与8255A芯片相连接.其连接方式为:PCI卡的地址总线A1A0接到8255A芯片的A1A0来实现端口选择.将8255A芯片的片选信号CS与PCI卡的CS1相连接来决定各端口的初始地址.8255A芯片的PB口中PB0~PB7经过排线与实验箱的红绿灯电路板的插槽相连接,用来实现控制交通灯的变化规律;8255A的PC口中的PC0~PC3经过排线与实验箱上的7段LED灯的位选码插槽相连接,用来实现选择绿灯倒计时时的7段LED灯的位置选择,8255A芯片的PA口中的PA0~PA7经过排线与实验箱上的7段LED灯的段选码插槽相连接,用来实现7段LED灯的段选码选择.LED灯管的a、b、c、d、e、f、g、dp做为段选来显示倒计时数据.图1-5: 硬件总连接图三、控制程序设计3.1控制程序设计思路说明:首先,明确交通灯的变化规律,假设在一个十字路口,其中东西方向,南北方向,工作方式如下:将红黄绿灯按照红灯停,绿等行,黄灯闪烁为缓冲时间的原则进行通车.倒计时将可以由用户自由设定,用8255的PB,PC口来连接红黄绿灯电路板,而PA口连接LED显示管来计数倒计时.开始时初始化东西南北方向全为红灯,然后东西方向绿灯亮,进入倒计时默认值40秒,结束后东西方向绿灯闪烁三次,变黄灯亮三秒,然后红灯亮;南北方向绿灯亮,此时南北方向进入倒计时,倒计时时间可以在开关口提前设定本次倒计时时间.结束后绿灯闪烁三秒后,变黄灯亮三秒,然后红灯亮,东西方向绿灯亮,如此循环下去.其次,主程序的设计思路:首先初始化8255A的芯片的控制字格式和状态字格式,其次设置交通灯开始运行的初始状态并做相应的延时便于观察,再次调用子程序对东西绿灯的倒计时时间,调用子程序显示绿灯的倒计时,后进行查表选择相应的LED灯的段选码,使相应的灯亮,显示东西绿灯交通灯变化,然后设置绿灯的闪烁,以及黄灯的亮持续,再次就是查表设置转换成南北绿灯的亮,同时调用子程序设置南北绿灯的倒计时时间,后进行查表选择相应的LED灯的段选码,使相应的灯亮,显示南北绿灯交通灯变化,然后做南北绿灯的闪烁,和黄灯的亮持续,最后做主程序的循环,利用无条件跳转指令.3.2 程序流程图图1-6:主控制程序再次,也设计了一个到计时显示子程序,用来显示绿灯的到计时时间,设计思路:首先要保存进入到计时子程序时的断点保存,以保证能够子程序结束能够正常返回主程序,其次设置LED灯的秒数跳的快慢,使其运行结果便于观察,再次设置程序分别显示到计时LED灯的秒数的个位与十位,在显示秒数的个位与十位时要做秒数的个位与十位计数是否到零的判断,与此同时也要做秒数的个位与十位的断选码指示器的移动,最后做恢复断点和子程序的返回.其控制流程图:时,保存断点设置空操作的次数,做判断循环是否该结束,然后恢复断点,返回主程序,其控制流程如下3.3 控制程序.米ODEL TINYPCIBAR3 EQU 1CH ;8位I/O空间基地址(它就是实验仪的基地址, 也为D米A & 32 BIT ;RA米板卡上的8237提供基地址)Vendor_ID EQU 10EBH ;厂商ID号Device_ID EQU 8376 ;设备ID号.STACK 100.DATAIO_Bit8_BaseAddress DW ?米sg0 DB 'BIOS不支持访问PCI $'米sg1 DB '找不到Star PCI9052板卡$'米sg2 DB '读8位I/O空间基地址时出错$'CO米_ADD DW 00F3H ;控制口偏移量GGG DW ?HHH DW ?WWW DW ?PA_ADD DW 00F0H ;PA口偏移量PB_ADD DW 00F1H ;PB口偏移量PC_ADD DW 00F2H ;PC口偏移量XXX DW ?LED_Data DB 11001100B ;红灯全亮DB 01010110B ;东西绿灯,南北红灯. 从高位7到低位0为0则亮,1则灭.排线反接则顺序颠倒亮.DB 11011110B ;东西绿灯闪烁,南北红灯DB 10011010B ;东西黄灯亮,南北红灯DB 01100101B ;东西红灯,南北绿灯DB 11101101B ;东西红灯,南北绿灯闪烁DB 10101001B ;东西红灯,南北黄灯亮SG DB 6fH,7fH,07H,7dH,6dH,66H,4fH,5bH,06H,3fH ;9-0.CODESTART: 米OV AX,@DA TA米OV DS,AXNOPCALL InitPCICALL 米odifyAddress ;根据PCI提供的基地址,将偏移地址转化为实地址米OV AL,10000000B ;PA、PB、PC为基本输出模式米OV DX,CO米_ADDOUT DX,AL ;灯全亮米OV BX,OFFSET LED_Data米OV DX,PA_ADDstart0: 米OV AL,0 ;红灯全亮XLATOUT DX,ALCALL DL500米sSTART1: 米OV AL,01111101B ;东西绿灯,南北红灯OUT DX,ALCALL DL5S米OV SI, 3FH米OV DI, 4FHCALL DJS米OV CX,5START2: 米OV AL,01111101B ;东西绿灯闪烁,南北红灯OUT DX,ALCALL DL500米s米OV AL,11111101BOUT DX,ALCALL DL500米sLOOP START2米OV AL,10111101B ;东西黄灯亮,南北红灯OUT DX,ALCALL DL3S米OV AL,11010111B ;东西红灯,南北绿灯OUT DX,ALCALL DL5S米OV CX,5米OV SI,3FH米OV DI,4FHCALL,DJSSTART3: 米OV AL,11010111B ;东西红灯,南北绿灯闪烁OUT DX,ALCALL DL500米s米OV AL,11011111BOUT DX,ALCALL DL500米sLOOP START3米OV AL,11011011B ;东西红灯,南北黄灯亮OUT DX,ALCALL DL3SJ米P START1;倒计时显示程序DJS PROC NEARPUSH DXPUSH CXPUSH BXPUSH AXPRT:NU米:米OV Al, [SI] ;设置段选码,将SI中的内容送入PA口米OV DX, PA_ADDOUT DX, Al米OV Al, 0FcH ;设置位选码,PC0口置0高四位为0米OV DX, PC_ADD ;其他口为1来选中LED1,显示个位OUT DX, AlCALL DELAY米OV Al, [DI] ;设置段选码,将DI中的内容送入PA口米OV DX, PA_ADDOUT DX, Al米OV Al, 0FDH ;设置位选码,PC1口置0高四位为0米OV DX, PC_ADD ;其他口为1来选中LED2,显示十位OUT DX, AlCALL DELAYLOOP NU米;循环到NU米INC SI ;个位SI自增1厘米P SI, OFFSET SG + 10 ;与表外的第一个偏移地址相比较,如果不JNZ PRT ;等则显示数据且SI+1,如果相等顺序执INC DI ;十位DI自增1米OV SI, OFFSET SG ;将SG即9的偏移地址送给SI厘米P DI, OFFSET SG + 10 ;与表外的第一个偏移地址相比较,如果不JNZ PRT ;等则显示数据且DI+1,如果相等顺序执行米ov al, 0out dx, alPOP AX ;结束子程序POP BXPOP CXPOP DXRETDJS ENDPDL500米s PROC NEARPUSH AXPUSH DX米OV DX,500 ;延时500米s米OV AH,0FFH ;星研公司提供的软中断INT 21HPOP DXPOP AXRETDL500米s ENDPDL3S PROC NEARPUSH CX米OV CX,6DL3S1: CALL DL500米sLOOP DL3S1POP CXRETENDPDL5S PROC NEARPUSH CX米OV CX,10DL5S1: CALL DL500米sLOOP DL5S1POP CXRETENDPInitPCI PROC NEAR米OV AH,00H米OV AL,03HINT 10H ;清屏米OV AH,0B1H米OV AL,01HINT 1AH厘米P AH,0JZ InitPCI2LEA D X,米sg0InitPCI1: 米OV AH,09HINT 21HJ米P ExitInitPCI2: 米OV AH,0B1H米OV AL,02H米OV CX,Device_ID米OV DX,Vendor_ID米OV SI,0INT 1AHJNC InitPCI3 ;是否存在Star PCI9052板卡LEA D X,米sg1J米P InitPCI1InitPCI3: 米OV DI,PCIBAR3米OV AH,0B1H米OV AL,09HINT 1AH ;读取该卡PCI9052基地址JNC InitPCI4LEA D X,米sg2J米P InitPCI1InitPCI4: AND CX,0FFFCH米OV IO_Bit8_BaseAddress,CXRETInitPCI ENDP米odifyAddress PROC NEARADD CO米_ADD,CXADD PA_ADD,CXADD PB_ADD,CXADD PC_ADD,CXRET米odifyAddress ENDPExit: 米OV AH,4CHINT 21HEND START四、上机调试过程4.1硬件调试根据实验硬件原理图和硬件连接说明,进行连线,结合实验时的实验箱的实际环境连接好上述部件后给实验箱通电.在实验硬件连接时曾出现,LED灯全部都不亮,后来经过几遍检查,才找出原因,PA口和和PC口接线反了,错误的原因是实验时不细心和实验态度不认真,经过此次经历,明白实验要同理论一样仔细,任何一个小错误都可能是造成实验失败的原因.4.2 软件调试我和同组人员一起讨论,在完成老师要求的基本功能基础上又相应相应的增加了相应的子程序用来实现相应的功能,例如如何动态的设计倒计时时间,如何在绿灯倒计时结束时使蜂鸣器发出警报的声音等等.在程序的调试过程中却出现了各种错误现象,在单步调试过程下不断改正错误,重新调试,直到调试通过.但是功能还是不理想.后来经过参考其他班同学的程序设计,分别对各个程序代码进行了修改,后经过老师指导在老师的指导下,调试通过,功能基本实现..在我们的交通灯实验中有一个紧急情况处理的情况,要求是按下按钮东西南北方向的交通灯全部变为红色,这个功能的实现需要要用到一个中断,我们打算采用dos键盘功能调用的0bh号功能调用,即检测键盘状态,有按下执行子程序,无按下循环执行.但由于上机调试时间有限这一功能未能实现.4.3 联机调试将实验箱总电源开关打开,打开PC机上的星源集成软件.将控制程序输入其中后,对程序进行编译,编译通过后,单步调试并观察结果以及各寄存器中值得变化,然后单步连续执行观察按下键与显示数值.出现问题时对程序进行修改,直至出现正确结果.再作全速运行.4.4 调试结果调试结果基本正确,符合任务书的结果:接口上的红、绿、黄发光二极管按十字路口交通红、绿、黄灯形式闪烁,并显示绿灯的倒计时时间.。

8086微机原理实验之十字路口交通灯

8086微机原理实验之十字路口交通灯

计算机硬件实验室实验报告课程名称:微机原理及应用
三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)
代码:
#start=Traffic_Lights.exe#
name "traffic"
mov ax, all_red
out 4, ax
mov si, offset situation
next: mov ax, [si]
out 4, ax
mov cx, 4Ch
mov dx, 4B40h
mov ah, 86h
int 15h
add si, 2
cmp si, sit_end
jb next
mov si, offset situation
jmp next
situation dw 0000_0011_0000_1100b
s1 dw 0000_0011_0000_1100b
s2 dw 0000_0110_1001_1010b
s3 dw 0000_1000_0110_0001b
s4 dw 0000_0100_1101_0011b
sit_end = $
all_red equ 0000_0010_0100_1001b
四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)如图所示:即可实现对交通灯计时延时和控制。

循环此步骤即可。

五.结论
在本次实验中,使用了IO接口实现了,对南北、东西方向交通的分别计时延迟、分别控制等功能,将实验跟理论相结合,加深了对知识的理解。

报告提交日期。

基于DICE-8086K的交通信号灯控制

基于DICE-8086K的交通信号灯控制

常用做控制口或状态口。

当然,可编程并行输入/输出接口内容还很多,在此不做详细介绍。

DICE一8086H输入输出的接口地址在设计时还要进行分配,这就要求设计者必须掌握各芯片的基础理论,而且也要对各芯片进行整体规划,分配给各接口芯片的口地址。

然后再可以由CPU去控制和操纵各接口芯片。

在接口技术和微机接口的应用等课程中,对各输入输出接口的功能和作用,以及怎样能过汇编语言编程来选择不同功能都进行了比较详细的描述。

当然,在基于DICE8086输入输出系统设计的时候,键盘显示接口也是一个主要内容,用户可以通过键盘监控程序,在此系统上完成固化在32KEPROM中的实验程序,以便于用户快速查看实验的结果。

键盘显示口采用的芯片是可编程8279A芯片,通过对键盘的操作,可以完成读,写寄存器和存储器单元的内容,通过单步,断点功能来调试运行实验程序,可以往I/O口读写数据等操作,然后再将处理的结果送到八位的LED显示器上显示内容,便于用户查看。

8279A是一种通用的可编程键盘/显示器接口器件,可对64个开关矩阵组成的键盘进行自动扫描,接收键盘上的输入信息,存入内部的FIFO寄存器。

并在有键输入时,CPU请求中断。

通过8088CPU用查询方式和中断方式对8279A进行控制的编程对学生来说是一个非常不错的实验。

我们可以在设计DICES086输入输出系统应考虑实际应用,设计适当的控制电路,将8255A并行接口,8279A可编程键盘/显示器接口等芯片有机的结合起来,使学生达到学以致用。

输入输出系统的设计基于的基本理论还包括汇编语言程序设计,在对汇编语言中与输入输出接口有关的指令和其它指令熟练掌握的基础上,才能对各接口芯片进行编程,来实现接口的实验功能。

同时~个系统在设计完成后,还要通过汇编程序对系统进行调试,检测各芯片是否达到预定的目标。

然后再进行性能分析,以便使系统以最佳的状态呈现于用户面前。

其实在实际设计实施的过程中,只有先将输入输出系统中的每一个功能模功——就是每一个输入输出芯片详细的了解清楚之后,再对各功能模块进行整体规划,以期每一芯片的功能都能在实验系统中体现,且使系统的端口地址等资源能够得到充分利用。

基于8086交通灯课程设计说明书

基于8086交通灯课程设计说明书

武汉纺织大学微机原理及应用课程设计说明书姓名学号学院外经贸学院班级题目基于8086/8088的交通灯程序设计指导教师周国鹏2010 年 6月目录一、需求分析 (2)1、课题背景 (2)2、课题训练内容 (2)3、设备需求 (2)4、功能需求 (2)二、设计方案 (3)1、基于8255A的分析 (3)2、基于8259A的分析 (4)3、中断分析 (4)三、详细设计 (5)1、信号灯显示模块 (5)2、LED显示模块 (6)3、中断子程序模块 (6)4、整合所有模块 (6)5、硬件原理及电路图 (7)6、程序源代码 (9)四、设计总计 (15)五、参考资料 (16)一、需求分析1、课题背景现代城市交通日益拥挤,为保证交通安全,防止交通阻塞,在城市交通井然有序,交通信号灯便出为此出现在人们眼中。

十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。

十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。

当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。

它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。

交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。

.2、课题训练内容设计一个基于8086/8088微型计算机的一个交通信号灯控制系统,要求能完成基本的交通灯控制,如红、绿、黄三种灯的定时交替点亮与熄灭;能提供行人通过时的临时信号修改;能提供当时当地的温度、湿度信息;提供基本的键盘输入。

要求学生了解8086/8088微型计算机控制系统的基本设计方法与思路,能独立查阅资料并汇总,具备一定的控制系统设计能力,掌握绘制电路原理图的能力,能编写一定难度的汇编程序并调试。

3、设备需求①.8086系统微机一台。

②温度传感器(可自选)和湿度传感器(可自选)、信号放大器。

③ 8253定时/计数器和8255A并行接口芯片、8259A、ADC0809。

8086交通灯控制系统的设计

8086交通灯控制系统的设计

8086交通灯控制系统的设计摘要本文介绍了基于8086微处理器的交通灯控制系统的设计。

交通灯控制系统是一种用于控制交通信号的设备,用于调度车辆和行人的交通流量。

在本设计中,我们利用8086微处理器的强大处理能力和丰富的接口功能,实现了一个具有可靠性和稳定性的交通灯控制系统。

该系统具有与信号灯的状态相对应的显示屏,可以根据交通流量实时调整信号灯的状态,以实现交通流量的优化。

简介交通灯控制系统在城市中起着至关重要的作用。

合理的交通流量调度可以提高交通效率,减少交通事故,提高交通安全性。

基于8086微处理器的交通灯控制系统具有以下优点:•高效性:8086微处理器的高性能和强大的处理能力可以确保系统的高效运行。

•稳定性:8086微处理器具有稳定的工作特性和可靠的电子电路,可以保证系统的稳定性。

•可扩展性:基于8086微处理器的设计具有良好的可扩展性,可以根据需要扩展系统的功能和接口。

系统架构System ArchitectureSystem Architecture交通灯控制系统的架构如上图所示。

系统主要由以下几个组件组成:1.8086微处理器:作为系统的核心处理单元,负责控制交通灯的状态和与其他设备的通信。

2.显示屏:用于显示交通灯的状态,指示行人和车辆的通行情况。

3.交通检测传感器:用于检测车辆和行人的存在,并将检测结果传递给8086微处理器。

4.交通灯控制模块:根据8086微处理器的指令,控制交通灯的状态和切换。

系统设计硬件设计8086微处理器8086微处理器是本系统的核心处理单元。

它具有16位数据总线和20位地址总线,可以处理较大的数据和地址空间。

8086微处理器与显示屏、交通检测传感器和交通灯控制模块之间通过各种接口进行通信。

显示屏显示屏用于显示交通灯的状态。

它可以显示红灯、黄灯和绿灯的状态,并且可以根据实际情况进行动态更新。

显示屏与8086微处理器之间通过并行接口进行通信。

交通检测传感器交通检测传感器用于检测车辆和行人的存在。

8086 8088 8255交通灯实验(源码+超详细注释)

8086 8088 8255交通灯实验(源码+超详细注释)

.MODEL TINY ;存储格式伪指令,按.COM文件格式编写.DATA ;8088片选CS1连8255CS,起始地址0F000H IOCONPT EQU 0F003H ;控制寄存器端口地址IOAPT EQU 0F000H ;A口地址.STACK 100 ;开辟堆栈.CODEORG 2000H ;定义起始地址START:MOV AX,@DATAMOV DS,AXMOV AL,80H ;1 00 0 0 0 0 0B方式0,输出MOV DX,IOCONPT ;写控制字OUT DX,ALMOV AL,10111011B ;东西、南北全红,准备就绪MOV DX,IOAPT ;DX保存A口地址OUT DX,ALCALL DELAY1 ;延时S: MOV AL,11101011B ;东西方向绿灯亮,起始状态OUT DX,ALCALL DELAY2 ;长延时MOV CX,0005H ;黄灯闪5次Y1: MOV AL,11011011BOUT DX,AL ;黄灯亮CALL DELAY1 ;短延时MOV AL,11111011BOUT DX,AL ;黄灯灭CALL DELAY1 ;短延时LOOP Y1MOV AL,10111110B ;南北红灯,东西绿灯OUT DX,ALCALL DELAY2 ;长延时MOV CX,0005H ;黄灯闪5次Y2: MOV AL,10111101BOUT DX,ALCALL DELAY1MOV AL,10111111BOUT DX,ALCALL DELAY1LOOP Y2JMP S ;回到起始状态,不断循环DELAY1 PROC NEAR ;短延时子过程PUSH CX ;CX入栈保护(保护外循环次数) MOV CX,08000H ;置LOOP次数XX:LOOP XX ;跳转至本身,延时作用POP CX ;CX出栈RET ;返回DELAY1 ENDPDELAY2 PROC NEAR ;长延时子过程PUSH AX ;AX(AL)入栈保护PUSH CX ;CX入栈保护MOV CX,0010H ;置LOOP次数XXX:CALL DELAY1 ;调用短延时LOOP XXX ;循环一次,CX减1POP CX ;数据出栈,先进后出POP AXRET ;返回DELAY2 ENDPEND START。

proteus8086交通灯课程设计

proteus8086交通灯课程设计

proteus 8086 交通灯课程设计一、课程目标知识目标:1. 学生能理解8086微处理器的结构与工作原理,掌握其指令集和编程方法。

2. 学生能掌握交通灯系统的基本原理,理解状态转换逻辑。

3. 学生能运用Proteus软件进行电路设计与仿真,实现8086微处理器控制下的交通灯系统。

技能目标:1. 学生能够运用汇编语言编写程序,实现对交通灯系统的控制逻辑。

2. 学生能够利用Proteus软件进行电路搭建、调试与仿真,解决实际问题。

3. 学生能够通过课程学习,培养动手实践能力和团队协作能力。

情感态度价值观目标:1. 学生在学习过程中,培养对微处理器和电子设计的兴趣,激发创新意识。

2. 学生能够认识到科技在生活中的应用,增强社会责任感。

3. 学生能够通过课程学习,养成严谨、细致、勇于探索的科学态度。

课程性质:本课程为电子技术实践课程,以8086微处理器为核心,结合交通灯系统,培养学生动手实践和创新能力。

学生特点:学生具备一定的电子技术基础和编程能力,对实际操作和项目设计具有较高兴趣。

教学要求:教师应注重理论与实践相结合,引导学生通过实际操作,掌握知识技能,培养情感态度价值观。

在教学过程中,关注学生的个体差异,提供有针对性的指导。

二、教学内容本课程教学内容分为三个部分:第一部分:8086微处理器基础1. 理解8086微处理器的内部结构、工作原理及指令集。

2. 学习汇编语言编程,掌握基本指令的使用和程序设计方法。

3. 分析交通灯系统的工作原理,理解状态转换逻辑。

第二部分:Proteus软件操作与电路设计1. 学习Proteus软件的基本操作,掌握电路图绘制、元件选择与布局。

2. 利用Proteus软件进行8086微处理器及其外围电路的搭建。

3. 学习仿真调试方法,掌握电路功能的验证与优化。

第三部分:交通灯控制系统设计与实现1. 根据交通灯系统需求,编写汇编语言程序,实现状态控制逻辑。

2. 将编写好的程序导入Proteus,与电路图进行联合仿真。

8086交通灯课程设计

8086交通灯课程设计

8086交通灯课程设计一、课程目标知识目标:1. 理解8086微处理器的基本工作原理,掌握其指令系统及编程方法。

2. 学习交通灯系统的基本构成和工作原理,理解其与微处理器的结合方式。

3. 掌握通过编程实现对交通灯系统的控制,包括定时、切换等功能。

技能目标:1. 能够运用8086汇编语言编写程序,实现对交通灯系统的模拟控制。

2. 学会利用微处理器进行简单的时序控制,培养实际操作和动手解决问题的能力。

3. 通过课程设计实践,提升查找资料、团队协作和项目实施的能力。

情感态度价值观目标:1. 培养学生对计算机硬件及微处理器原理的兴趣,激发对工程实践的热情。

2. 增强学生的科技责任感,理解技术对社会生活的影响,尤其是在交通安全方面的应用。

3. 通过团队协作,培养学生的沟通能力和集体荣誉感,加强社会主义核心价值观的教育。

课程性质分析:本课程设计属于信息技术学科,以实践操作为主,结合理论知识的运用,强调学生动手能力和实际问题的解决。

学生特点分析:考虑到学生为高年级,具备一定的计算机基础和编程能力,能够较快掌握8086微处理器的相关知识和编程技巧。

教学要求:教学内容应紧密结合实际应用,注重理论与实践的结合,通过课程设计的方式,让学生在实际操作中深化理解,提高技能。

教学过程中应注重学生的主体地位,鼓励学生自主探究和合作学习,确保学习目标的实现。

二、教学内容1. 8086微处理器基础知识:包括8086的内部结构、工作原理、寄存器组、指令系统等,关联教材第二章内容。

2. 汇编语言编程:介绍汇编语言的语法、常用指令、伪指令、宏指令等,关联教材第三章内容。

3. 交通灯系统原理:讲解交通灯系统的基本构成、工作流程、控制逻辑,关联教材第五章内容。

4. 交通灯控制系统设计:包括硬件设计(接口电路、时序控制)和软件设计(汇编程序编写),关联教材第六章内容。

5. 课程设计实践:指导学生进行交通灯控制系统的编程与调试,实际操作中掌握知识,关联教材第七章内容。

基于8086的交通灯控制系统课程实验设计报告

基于8086的交通灯控制系统课程实验设计报告

目录一、设计要求。

2二、设计目的。

2三、设计的具体实现。

2(一)系统概述。

2 (二)单元电路设计。

5 (三)软件程序设计。

9四、结论与愿望。

15五、心得体会及建议。

16六、附录。

17七、参考文献。

18交通灯设计报告一、设计要求1、完成系统总体方案设计;2、设计控制算法;3、设计系统接线图;4、完成控制软件的编写;5、编写课程设计说明书。

二、设计目的1、了解交通灯管理的基本工作原理2、熟悉8259A中断控制器的工作原理和应用编程3、熟悉8255A并行接口的各种工作方式和应用4、熟悉8253计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法。

5、掌握多位LED显示问题的解决。

三、设计的具体实现(一)系统概述系统要求实现正常时序控制,启动开关接通时,交通信号按设定的时序工作,并且各个方向的红、黄、绿灯接通时间倒计时显示,东西方向和南北方向的绿灯接通时间可以由外部设定。

所以设计中使用了8259A中断控制器、8254计数器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。

城市十字交叉路口红绿灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计:1.东西南北两个方向起始状态全为红,延续3秒。

2.东西方向红灯亮,南北方向绿灯亮,延续45秒。

3.东西方向红灯亮,南北方向绿灯以频率1HZ闪烁3秒。

4.东西方向红灯亮,南北方向黄灯亮,延续3秒。

5.东西方向绿灯亮,南北方向红灯亮,延续40秒。

6.东西方向绿灯亮以频率1HZ闪烁3秒,南北方向红灯。

7.东西方向黄灯亮,南北方向红灯亮,延续3秒。

8.东西方向红灯亮,南北方向红灯亮循环以上步骤。

通过分析灯亮的规律,总结出如下的功能表:交通灯亮灭功能表转换成控制码为:系统流程图如下:(二)单元电路设计1、 8259的工作原理1)、数据总线缓冲器:8259A与系统数据总线的接口,是8位双向三态缓冲器。

浅析基于8086的交通灯控制系统设计

浅析基于8086的交通灯控制系统设计

浅析基于8086的交通灯控制系统设计闫妍辽宁石化职业技术学院 121002摘要:经济的高速发展以及城市交通的拥挤现状,为了更好的满足市民的出行需求,交通灯的智能化对提高城市的通行能力是十分重要的。

本文对基于8086的交通灯控制系统的模式以及电路设计进行了简单的介绍,在PROTEUS环境下进行了三种方案的电路设计,同时采用EMU8086软件完成了系统软件设计,通过PROTEUS进行了系统仿真,并对比了三种方案设计的优缺点。

关键字:交通灯,控制系统,电路设计一、城市交通堵塞的危害随着我国经济的发展,以及城市人口的增多,为了满足居民的出行要求,居民的机动车持有总量逐年升高。

随着机动车辆的增加,城市交通问题越来越严重,交通拥挤等问题给市民出行带来了很大的困扰。

由于交通堵塞,不得不使居民的通勤的时间增长,这样一来,人们用于工作的时间就大大减少了,不仅如此还造成了驾驶人员的额外经济损失。

驾驶人员在不好的路况下就会感到愤怒及烦躁,对驾驶人员的健康也是不利的。

由于在塞车时引擎仍然是出于运转中的,并且是持续小号燃料的,并且由于道路拥挤,在行驶途中车辆会经常刹车、加速等,就会造成燃料耗费的增加,所以交通堵塞不仅造成了能源的浪费,同时也是污染空气凶手之一。

由于尾气排放增加,致使都会区的生活品质降低,使市区居民开始逐渐向郊区转移。

所以对城市路网的通行能力进行提高,实现科学化管理道路交通,保证城市交通的安全便捷以及高效畅通已经成为了政府的重点问题。

本文通过使用8086微处理器,可以通过3中方式实现对交通灯的控制,同时使用了PROTEUS仿真进行了模拟仿真,从微处理器的角度提出了一个解决堵塞问题的新方法,并且对定时以及中断功能在交通灯控制系统中的重要性进行了说明。

二、交通灯控制系统分类根据信号控制原理交通控制系统可以分为3类:1、定时控制。

根据时段的不同,定时系统又包括:单时段定时与多时段定时控制。

所谓单时段定时是指每天只在指定的一个配时方案下工作(该方案是该路段下的历史交通数据计算出的);而多时段定时控制就是在一天中,该系统能在多个时段的按照多种不同的配时方案进行交通灯的控制。

1_4606612_课程设计(论文)-基于8086微处理器的交通信号灯控制设计

1_4606612_课程设计(论文)-基于8086微处理器的交通信号灯控制设计

摘要随着现代科学技术的发展,人民生活水平的提高,汽车已走进千家万户。

而由之带来的交通问题也越发的普遍和严重,这些交通问题在城市中表现得尤为突出。

十字路口的交通状态控制已显得尤为重要,人们既不愿意在十字路口等待过久又不能陷入无休无止的堵塞状态。

于是一种新型的交通灯设计迫在眉睫,它既能满足普通的控制指挥要求,又能根据不同的车流量路段或是不同的时间段设定不同的通行时间。

本交通灯设计就是在新的设计要求下,利用8086系统开发出来的。

它基本上可以满足不同路段和时间段的通行时间设定,即保证在源程序不变的情况下,通过硬件接口(键盘)设定通行时间。

关键字:8086微处理器、可编程并行I/O接口芯片8255A、8253可编程定时器/计数器、8259A可编程中断控制器、8284A时钟发生器、中断与查询方式相结合键盘。

一、方案论证与比较1.1总体方案比较在进行交通灯设计前定下一设计原则:在可以满足设计要求的前提下,运用已学到的知识,以最简单明了的设计思路进行交通灯控制设计。

对于本次交通灯设计现提出三种方案,分别比较如下:方案1:利用纯数字电路实现交通信号灯设计。

该种方案的系统框图如图1.1.1所示:由系统框图可以知道,整个系统包括秒脉冲发生器、分频器、控制器、计数译码器等电路组成。

秒信号发生器产生整个定时系统的时基脉冲,通过减法计数器实现秒脉冲个数进行减计数,完成每一种工作状态的持续时间。

整个电路基本上由数字电子器件组成,电路以及控制逻辑较复杂。

设计的功能实现全部是由电路或是某些器件来保证的,若要适当的改变计数时间或是其他功能,则必须改动硬件电路或是某些器件,因而纯电子电路实现起来比较机械,不如软硬件结合的电路灵活。

方案2:利用51单片机进行交通信号灯设计。

单片机将控制器、运算器、存储器以及输入输出端口集于一体的高性能处理器。

利用51单片机开发系统,外围元件少,电路简单,实时性高。

对于本系统完全可以利用51单片机实现,且51单片机实现起来硬件电路和程序设计思路都比较简单,还可以应用一些仿真软件对设计的系统进行仿真,从而在理论与实际中保证设计的可行性。

课程设计交通灯8086

课程设计交通灯8086

课程设计交通灯8086一、教学目标本课程旨在让学生了解和掌握交通灯8086的基本原理和编程方法。

通过本课程的学习,学生应达到以下目标:1.了解交通灯控制系统的工作原理。

2.掌握8086微处理器的基本结构和指令系统。

3.掌握交通灯控制程序的编写和调试方法。

4.能够运用8086汇编语言编写简单的交通灯控制程序。

5.能够使用调试工具对程序进行调试和优化。

情感态度价值观目标:1.培养学生的创新意识和团队合作精神。

2.培养学生对交通安全的重视和责任感。

二、教学内容本课程的教学内容主要包括以下几个部分:1.交通灯控制系统的基本原理和工作原理。

2.8086微处理器的基本结构和指令系统。

3.交通灯控制程序的编写和调试方法。

4.交通灯控制程序的优化和升级。

三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:通过讲解交通灯控制系统的基本原理和8086微处理器的指令系统,使学生掌握相关知识。

2.案例分析法:通过分析实际案例,使学生了解交通灯控制程序的编写和调试方法。

3.实验法:让学生亲自动手进行实验,培养学生的实际操作能力和解决问题的能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《交通灯8086编程指南》。

2.参考书:关于8086微处理器和交通灯控制系统的相关书籍。

3.多媒体资料:交通灯工作原理和8086微处理器的相关视频资料。

4.实验设备:8086微处理器实验板、调试器等。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过观察学生在课堂上的参与程度、提问回答等情况,评估学生的学习态度和理解能力。

2.作业:布置与课程内容相关的编程作业,评估学生的编程能力和对知识的掌握程度。

3.考试:定期进行考试,测试学生对交通灯8086知识的掌握程度和编程能力。

4.实验报告:评估学生在实验过程中的操作能力和解决问题的能力。

评估结果将以分数或等级形式记录,并及时反馈给学生,以便学生了解自己的学习状况并进行改进。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1需求分析1.1课程设计题目交通灯实时控制系统。

伴随着社会的发展以及人们生活水平的提高,汽车的数量在不断的增加,交通的问题日益突出,单依靠人力来指挥交通已经不可行了,所以,设计交通灯来完成这个需求就显的越加迫切了.为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。

以下就是运用数字电子设计出的交通灯:用红灯来控制支路的交通通行,用绿灯来控制主干道的交通通行 (说明:本设计不遵循红灯停,绿灯行的交通规则,只要灯亮就表示可以通行) 。

1.2 设计目的1)巩固和加深课堂所学知识;2)学习掌握一般软硬件的设计方法和查询、运用资料的能力;3)通过在TDN集成开发环境中对交通灯实时控制系统的设计与制作,综合应用8253、8259、8255芯片,深入了解和掌握利用可编程8255A进行控制的原理与方法;4)通过这次课程设计,将课本上的理论知识和实际的应用有机的结合起来,以提高分析和解决问题的实际能力,通过对汇编语言程序代码的设计,编写,修改以提高自己实际编程能力。

1.3 设计任务1)任务:设计一个交通灯控制系统要求综合运用8259、8253、8255芯片设计十字路口的交通信号灯控制系统。

支线与主干线允许通车25秒,当支线允许通车时(25秒)中,若主干线25秒内已有10辆车到来,则申请中断,允许主干线通车,实现无交叉点通过。

如图1.1所示。

图1.1 模拟通行示意图2)设计任务要完成实验方案论证,进行十字路口的交通信号灯控制电路设计,画出电路原理图及实验电路图;搭建实验电路,进行软件编程、调试、运行以及使用说明文档的建立等一整套工作任务。

进行十字路口的交通信号灯控制程序设计(采用汇编语言);系统联调,提交一个符合上述功能要求的十字路口的交通信号灯控制系统设计。

1.4 软硬件运行环境及开发工具1.4.1 软硬件运行环境TDN88实验平台,PC机,导线,汇编语言编译软件。

1.4.2 开发工具TDN86/88教学实验系统,PC机。

2概要设计2.1 交通灯实时控制系统设计原理及方法2.1.1设计原理通过并行接口芯片8255和计算机的硬件连接,通过8253计数,来实现十字路口交通灯的模拟控制,用8259芯片,得到CPU的中断响应后,提供中断类型号,从而快速寻找到该中断源的中断服务程序的入口地址,转去执行中断服务程序。

实验中各个信号灯的含义如表2.1所示:表2.1 各信号灯含义2.1.2 设计方法本实验设计的8255端口地址为60H ~63H ,即0110000B ~01100011B 。

因此A0、A1为选片信号,所以CUP 的A0、A1引线直接接到8255的A0、A1。

Y4---作为译码器74SL138的输出口。

详细分析如下:A7 A6 A5(C) A4(B) A3(A) A2 A1 A00 1 1 0 0 0 0 0 60H0 1 61H 1 0 62H 1 1 63H所以,74SL138译码器的接线方式为A3—A,A4—B,A5—C,A6—G1,A7—G2B ----。

红、绿灯分别接在8255的A 口的高四位和低四位端口。

PA0~PA7分别连接到D0~D7。

8253的门控端GATE2接+5V ,CLK2接KK1,OUT2接到8259的IRQ7。

这里采用8253计数/定时器结合中断服务程序计数的方法来实现定时计数的功能。

它是这样工作的:当我们输入信号,即每按动一次开关KK1+,计数器门控信号GATE2便开始计数,此时计数器时钟信号CLK2开始工作,每输入1个时钟脉冲信号CLK2,便使计数值减1,当计数值减为0时就使用输出信号OUT2,在输出线上输出OUT 信号,以表示计数已到,发出中断请求信号。

在8259接收到OUT2发出的中断请求信号之后,便开始执行中断,实现主干道和支干道路线上通车的切换。

2.2设计原理图设计原理图如图2.1所示图2.1 设计原理图3 详细设计3.1 硬件设计3.1.1 8255A芯片8255A芯片是一种通用的可编程并行I/O接口芯片。

它包含有3个8位端口,称为A口,B口,C口。

其中A口包含8个I/O引脚(PA0~PA7),B口包含8个I/O引脚(PB0~PB7), C口包含8个I/O引脚(PC0~PC7)。

该芯片有3种工作方式,称为0方式,1方式,2方式。

本实验选取8259A的A口作为输出端口,工作方式选0方式。

所以8259A 的方式命令字为10000000B,即80H。

设计端口地址为60H~63H。

其初始化编程为:MOV AL,80HOUT 63H,AL3.1.2 8259芯片8259A 芯片内部含有中断请求寄存器,用来存放由外部输入的中断请求信号IR 7~IR 0。

当某个输入端为高电平时,该寄存器相应位置“1”。

在本实验中需要从IR 7请求中断,因此采用中断屏蔽方式,将IR 6~IR 0都设为高电平,即将寄存器IR 6~IR 0置“1”。

所以其方式命令字为01111111B ,即7FH 。

其初始化编程为:AND AL ,7FH OUT 63H ,AL3.1.3 8253芯片8253芯片中包含3个功能完全相同的计数通道,称为通道0、通道1和通道2。

这3个通道由CLE 、GATE 和OUT 3跟信号线与外部电路相连。

CLK 是外部计数器的脉冲输入端,GATE 是计数器的门控制信号,OUT 是计数器的输出信号。

本设计采用8253芯片的2#通道,工作方式是方式0。

所以其方式命令字为10010000B ,即90H 。

设计端口地址为40H ~43H 。

其初始化编程为:MOV AL ,90H OUT 43H ,AL3.2实验接线图图图 3.2 程序流程图STACK SEGMENT STACKDW 64 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART:MOV AL,80H ;初始化8255OUT 63H,ALMOV AX,OFFSET IRQ7 ;装入中断向量MOV SI,003CHMOV [SI],AXMOV AX,CSMOV SI,003EHMOV [SI],AXIN AL,21H ;读中断屏蔽AND AL,7FH ;8259初始化OUT 21H,AL ;开放IRQ7MOV AL,90H ;8253初始化OUT 43H, ALL1: MOV AL,11111001B ;主干通车直走OUT 60H,ALCALL DELAY1L2: MOV AL,11110110B ;主干通车拐OUT 60H,ALCALL DELAY2L5: MOV AL,0AH ;装入计数初值OUT 42H,ALSTI ;开中断L3: MOV AL,10011111B ;支道通车直走OUT 60H,ALCALL DELAY2L4: MOV AL,01101111B ;支道通车拐OUT 60H,ALCALL DELAY1JMP L1IRQ7: MOV AX, CSPUSH AXMOV AX,OFFSET L1 ;中断服务程序的入口地址 PUSH AXMOV AL,20H ;中断结束OUT 20H,ALIRETDELAY1: MOV AX,12 ;计15个一秒延时L6: CALL DELAY3DEC AXJNZ L6RETDELAY2: MOV AX,6 ;计10个一秒延时L7: CALL DELAY3DEC AXJNZ L7RETDELAY3: MOV BX, 12H ;1s延时D0: MOV CX, 2FFFHD1: LOOP D1DEC BXCMP BX, 0JNE D0RETCODE ENDSEND START4 系统调试与运行结果4.1 系统调试1) 在设计的最开始,我花了很长时间在想如何编码这8个灯,能使它正确表示4 种交通状态,我老想着遵循交通规则中的红灯停绿灯行的规则,因此花了很长时间都没有做出一个比较合理的编码方案。

后来经过问老师,才知道本系统只是模拟交通灯,并不需要遵循交通规则,只要灯亮就可通行。

所以最后找到了本系统中现在所使用的这种编码方式。

2) 在程序编写过程中,最开始是将计数初值的模块放在最前面,编号为L0,当在编写支路交通通行的状态时,为了能够实现当KK1按10次的时候发生跳转,所以我用了JMP L0,来到达这一目的。

调试运行,当支路直走时,按10次KK1确实能够发生跳转。

但是交通灯始终只显示出3中情况,没有显示支路拐弯的情况。

后来和同学一起讨论,最终找到了问题的所在,当使用JMP后,程序就不可能在回来,而是再次顺序执行。

这样那段程序就永远不会得到执行。

讨论发现,其实根本就不需要调用计数初值这一模块,在中断模块中会自动调用。

所以,最后我将计数初值的那段程序放到中断模块的前面,这样就解决了只出现3种显示的情况,并且可以实现跳转。

4.2 操作说明及运行结果4.2.1 操作说明1) 按实验接线图接线。

2) 输入程序并检查无误,经汇编,连接后装入系统。

3) 运行程序。

观察灯的变化,当出现绿灯全灭的时候,将KK1按10下,会出现跳转现象。

4.2.2 运行结果D1、D2亮,表示主干路直走。

15秒后D0、D3亮,表示主干路拐弯。

10秒后D5、D6亮,表示支路直走,若在D5、D6亮期间按10下KK1,这时D1、D2会立刻亮,而D5、D6立刻熄灭。

若不做,则15秒后D4、D7亮,表示支路直走。

在这期间若按10次KK1则,D1、D2会立刻亮,若不做,则等10秒后D1、D2再亮。

5 课程设计总结与体会通过这次课程设计,我对8255、8259、8253这三种芯片有了进一步的了解。

知道了它们在实际应用中的功能以及它们初始化的方法。

这次课程设计从需求分析到设计,是一个完整的体系,这提高了我分析问题的能力。

当遇到问题时,回到书本,查找实际问题所需的理论知识,将理论和实际结合起来,以得到问题的解,这提高了我解决实际问题的能力。

其实课程设计和真正的实际需求还是有些差别的,比如我最开始就是以实际需求来分析灯的编码的,但是花了很长时间,最后发现8个灯根本实现不了实际生活中的交通灯的变化方式。

所以最后用老师告诉的编码方式,才得到正确结果。

本设计还有一个缺陷就是在本设计中,那个1秒的时间间隔只是一个模拟的数字,并不是准确的1秒。

但是该是如何使用8253分频实现真正1秒的时间间隔,这还有待改进。

设计者:日期:年月日武汉理工大学华夏学院微机原理课程设计报告参考书[1] 周佩玲,彭虎,傅忠谦《微机原理与接口技术》北京,电子工业出版社 2005[2] 沈美明,温东婵《IBM-PC汇编语言程序设计》北京,清华大学出版社 199311。

相关文档
最新文档