8086 交通灯系统.doc

上传人:啊飒飒 文档编号:11242712 上传时间:2021-07-17 格式:DOC 页数:9 大小:108KB
返回 下载 相关 举报
8086 交通灯系统.doc_第1页
第1页 / 共9页
8086 交通灯系统.doc_第2页
第2页 / 共9页
8086 交通灯系统.doc_第3页
第3页 / 共9页
8086 交通灯系统.doc_第4页
第4页 / 共9页
8086 交通灯系统.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《8086 交通灯系统.doc》由会员分享,可在线阅读,更多相关《8086 交通灯系统.doc(9页珍藏版)》请在三一文库上搜索。

1、微机原理课程设计 学号: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路口方向通车。

2、延迟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

3、,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式 3即方波发生器方式,理论设计输出 周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测到高电平既完成30s定时。通道2工作在

4、方式3需输出一个1HZ的方波,通过一个或门和8086共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态变化,计9次状态变化可完成5次闪烁。三个通道的门控信号都未用,均接5V即可三、主要器件定时器8253:8253的三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30S定时到。OUT2产生1MHZ方波通过或门和8255的B口共

5、同控制黄灯的闪烁并行接口8255A:红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C口类推。8255三个口全部工作在方式0既基本输入输出方式,红绿灯的转换由软件编程实现。CPU8086:8086工作在最小模式,低八位端口AD0AD7接到8255和8253的D0D7,AD8AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端1片8284A,作为时钟发生器;2片8282,作为地址锁存器;2片74LS138,作为地址选通译码器;1个二输入或非门

6、;1个4输入或非门;1个二输入与非门;4个或门12个发光二极管;12个限流电阻;1个复位信号开关。四、硬件原理及电路图由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的线分别与8086CPU的、线相连,而将8086的线作为选通信号。如果是按8255A内部地址来看,则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),命令控制口地址为(CS+003H),其中,CS为8255片选信号的首地址;若是按8086CPU地址来看,则8255A的地址是PA口地址即(CS+000H),PB口地址为(CS+002H),PC口

7、地址为(CS+004H),命令控制口地址为(CS+006H)。当CS0288H,则PA口地址为0288H,PB口地址为028AH,PC口地址为028CH,命令控制口地址为028EH。下面,分析8086各个引脚的连接方法。(1)引脚:通常用此引线产生片选信号,当为1,0编码时,在数据总线低8位和偶地址之间进行字节传送()。(2)CLK(Clock)时钟信号(输入):CLK为CPU和总线控制器提供基本的定时脉冲。时钟周期是非对称的,当它为有效高电平的时间和时钟周期的比为33时,提供最佳的内部定时。由8284时钟发生器产生,8086CPU使用的时钟频率,因芯片型号不同,时钟频率不同。这里采用5MHz

8、。(3)(+5V),GND(地):CPU所需电源5V。GND为地线。(4)QS0ALE(Address Latch Enable)地址锁存允许信号,输出高电平有效,作地址锁存器8282/8283的片选信号,在地址周期状态,ALE有效,表示AB、DB上传送的是地址信息,将它锁存。这是由于AB、DB分时复用所需要的,ALE信号线不能悬空。如图所示,加入2片地址锁存器8282。(5)RESET:复位信号,输入,高电平有效。8086接到复位信号后,停止现行操作,并初始化段寄存器DS,SS,ES,标志寄存器PSW,指令指针IP和指令队列,而使CS=FFFFH。RESET信号至少保持四个周期以上的高电平,

9、当它变为低电平时(一个下降沿),CPU执行重启过程,8086将从地址FFF0H开始执行指令。通常FFFF0H单元开始的几个单元中存放一条JMP指令,将入口转到引导和装配程序中,从而实现对系统的初始化,引导监控程序或操作系统程序。由于出现突然断电或其它情况时,8086可能正在执行交通灯程序,现有的地址丢失,应按下RESET键重新开始。另外,应将8255A与8086的RESET线相连,保持同步。(6)MN/(Minimun/Maximun): 最小、最大工作模式选择信号,输入。此时MN/接5V,构成单处理器系统,系统控制信号由CPU提供。接下来,对8282芯片作一下说明: :8位数据输入;:8位数

10、据输出;STB:选通信号;:输出允许信号,在不带DMA控制器的8086单处理器系统中,它接地。其实,这就是8个D触发器。由于只用,所以用两片即可。最后,对时钟发生器8284芯片按两部分进行说明: (1)时钟信号发生器:=0时,时钟信号输入由X1 、X2 端接上晶体,由晶体振荡器产生时钟信号;CLK:3分频OSC后的时钟,输出频率4.77MHz,占空比为1/3,大约满足8086CPU的输入频率5MHz、占空比33的要求。 (2)复位生成电路:由输入的信号来触发内部同步触发器,由此产生信号RESET,送到CPU的RESET端,复位信号由CLK的下降沿同步。此时,端接“电源好“信号,使系统上电后自动

11、复位。此为最小模式系统,除了8086CPU,I/O接口芯片8255A,定时计数芯片8353外,其它配置如下: 1片8284A,作为时钟发生器;2片8282,作为地址锁存器;2片74LS138,作为地址选通译码器;1个二输入或非门;1个4输入或非门;1个二输入与非门;4个或门12个发光二极管;12个限流电阻;1个复位信号开关。五、程序框架就实现YNYN初始化8255,8253红灯全亮绿灯黄灯全灭1,3绿灯亮2,4红灯亮等待8253延时30s时间是否到?1,3绿灯灭2,4红灯不变1,3黄灯闪烁等待黄灯闪烁5次?1,3红灯亮2,4绿灯亮8253延时30s2,4绿灯灭黄灯闪烁5次2源程序: DATA

12、SEGMENT; 设置数据段,以及端口地址分配 PORTA EQU 218H PORTB EQU 219H PORTC EQU 21AH PTCON8255 EQU 21BH PORT0 EQU 238H PORT1 EQU 239H PORT2 EQU 240H PTCON8253 EQU 241H DATA ENDSCODE SEGMENT ASSUME DS:DATA,CS:CODEINIT: MOV AX,DATA MOV DS,AX MOV DX, PTCON8253 MOV AL,36H OUT DX,AL MOV DX,PORT0 MOV AX,2710H OUT DX,AL M

13、OV AL,AH OUT DX,AL;通道0工作方式3 周期0.01s MOV DX, PTCON8253 MOV AL,71H OUT DX,AL;通道1工作方式1 MOV DX, PTCON8253 MOV AL,96H OUT DX,AL MOV DX,PORT2 MOV AL,64H OUT DX,AL;通道2工作方式3 周期1s 8253初始化完成 MOV DX, PTCON8255 MOV AL,80H OUT DX,AL;8255初始化 A,B,C口均工作在方式0 MOV DX,PORTA MOV AL,0 OUT DX,AL MOV DX,PORTB MOV AL,0FH OU

14、T DX,AL MOV DX,PORTCMOV AL,0FHOUT DX,AL;灯初始化完成STA: MOV DX,PORTAMOV AL,0A0HOUT DX,ALMOV DX,PORTBMOV AL,0F0HOUT DX,ALMOV DX,PORTCMOV AL,50HOUT DX,AL;1,3绿灯亮,2,4红灯亮MOV DX,PORT1MOV AX,0BB8HOUT DX,ALMOV AL,AHOUT DX,AL;8253通道1赋值 开始计时SCAN1: MOV AL,0MOV DX,PTCON8255MOV AL,90HOUT DX,ALMOV DX,PORTAIN AL,DXAND

15、AL,0FHCMP AL,1JNZ SCAN1;扫描PA7口FLA1: MOV DX, PTCON8255MOV AL,80HOUT DX,ALMOV DX,PORTCMOV AL,0F0HOUT DX,ALMOV DX,PORTBMOV AL,50HOUT DX,ALMOV CX,0TEST1: MOV DX,PTCON8255;检测PB7MOV AL,82HOUT DX,ALMOV DX,PORTBIN AL,DXAND AL,0FHMOV AH,ALMOV DX,PTCON8255MOV AL,82HOUT DX,ALMOV DX,PORTBIN AL,DXAND AL,0FHXOR A

16、L,AHADD CL,ALCMP CL,9JNZ TEST1;闪烁5次MOV DX, PTCON8255MOV AL,80HOUT DX,ALMOV DX,PORTAMOV AL,50HOUT DX,ALMOV DX,PORTBMOV AL,0F0HOUT DX,ALMOV DX,PORTCMOV AL,0A0H;1,3红灯亮,2,4绿灯亮MOV DX,PORT1MOV AX,0BB8HOUT DX,ALMOV AL,AHOUT DX,AL;8253通道1赋值 开始计时SCAN2: MOV AL,0MOV DX,PTCON8255MOV AL,90HOUT DX,ALMOV DX,PORTAI

17、N AL,DXAND AL,0FHCMP AL,1JNZ SCAN2FLA2: MOV DX, PTCON8255MOV AL,80HOUT DX,ALMOV DX,PORTCMOV AL,0F0HOUT DX,ALMOV DX,PORTBMOV AL,0A0HOUT DX,ALTEST2: MOV DX,PTCON8255MOV AL,88HOUT DX,ALMOV DX,PORTCIN AL,DXAND AL,0FHMOV AH,ALMOV DX,PTCON8255MOV AL,88HOUT DX,ALMOV DX,PORTCIN AL,DXAND AL,0FHXOR AL,AHADD CL,ALCMP CL,9 JNZ TEST2;闪烁5次 CODE ENDS END STA 六、总结

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1