微机8086 8255 交通灯 课程设计.docx

上传人:小飞机 文档编号:5285960 上传时间:2023-06-22 格式:DOCX 页数:20 大小:324.71KB
返回 下载 相关 举报
微机8086 8255 交通灯 课程设计.docx_第1页
第1页 / 共20页
微机8086 8255 交通灯 课程设计.docx_第2页
第2页 / 共20页
微机8086 8255 交通灯 课程设计.docx_第3页
第3页 / 共20页
微机8086 8255 交通灯 课程设计.docx_第4页
第4页 / 共20页
微机8086 8255 交通灯 课程设计.docx_第5页
第5页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《微机8086 8255 交通灯 课程设计.docx》由会员分享,可在线阅读,更多相关《微机8086 8255 交通灯 课程设计.docx(20页珍藏版)》请在三一办公上搜索。

1、交通灯控制课程设计报告UJ课程名称:微型计算机技术及应用专业:电气工程及其自动化班级:业业业业业业业业业业业业 *学号:业业业业业业业业业业业业 *姓名:业业业业业业业业业业业业 *指导教师:业业业业业业业业业业业业 *日期:2013-12-10目录第一章设计内容的概述一. 设计任务内容二. 设计要求第二章硬件的设计一. 设计过程简单分析二. 硬件系统工作原理三. 硬件原理1. 8086各个引脚的连接方法2. 时钟发生器8284芯片的说明第三章程序设计一. 流程图二. 程序代码三. 硬件清单四. 芯片资料1. 8255介绍2. 8253介绍3. 8282介绍4. 38译码器74LS138介绍第

2、四章总结第一章设计内容的概述.设计任务内容用8255来控制LED灯,用8253来定时,达到交通控制的目的。.设计要求开始,(南北用1,3东西为2,4)四个路口都为红灯,然后南北变为绿灯通车东西变为红色,30秒之后后,黄灯变亮,黄灯闪烁5次之后南北变为红灯,东西变为绿灯通车,30秒之后后,黄灯变亮,黄灯闪烁5次之后南北变绿灯,东西变为红灯,重复上述过程。00绿灯亮30秒I00绿灯亮30秒000北00绿灯亮30秒00。00000000黄灯闪烁5次00北00黄灯闪烁5次第二章硬件的设计一. 设计过程简单分析分析:红,黄,绿灯可分别接在8255的A 口,B 口和C 口上,灯的亮灭可直接由8086 输出

3、0,1控制。30秒延时及闪烁由8253控制,由闪烁的实现方法可由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的方波。1MH

4、Z的时钟脉冲其重复周期为T=1/1MHZ=1 s,因此通道0的计数初值为10000=2710H。由此方波分别作为clock 1和clock2的输入时钟脉冲,所以 通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H 既30s,计数到则输出一个高电平到8255的PA7 口,8255将A 口数据输入到8086,8086检 测到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和 8086共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄 灯的状态反馈到8055的端口 PB7和PC7,同样输入到8

5、086,8086通过两次检测端口状态可 知黄灯的状态变化,计9次状态变化可完成5次闪烁。三个通道的门控信号都未用,均接+5V即可。二. 硬件系统工作原理工作原理说明:此系统是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法, 来实现十字路口交通灯的模拟控制。如硬件连接图所示,红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255的A,B,C 口 的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4路口的红灯,B,C 口类推。8086工作 在最小模式,低八位端口 ADAD接到8255和8253的DD,ADAD通过地址锁存器8282,接

6、到三八译码器,译码后分别连到78255和8253的CS片选端。82*3的5三个门控端接+5V,CLOCK0 接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD 8086 通过检测此端口是否有高电平来判断是否30S定时到OUT2产生1MHZ方波通过或门和82585的B 口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本输入输出方式,红绿灯的转换由 软件编程实现。三. 硬件原理由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的气、气线分别与 8086CPU的气、A1线相连,而将8086的气线作为选通信号。如果是

7、按8255A内部地址来看,则 在图中它的地址是PA 口地址即(CS+000H),PB 口地址为(CS+001H),PC 口地址为(CS+002H),命 令控制口地址为(CS+003H),其中,CS为8255片选信号CS的首地址;若是按8086CPU地址来看, 则8255A的地址是PA 口地址即(CS+000H), PB 口地址为(CS+002H), PC 口地址为(CS+004H),命 令控制口地址为(CS+006H)。当CS = 0288H,则PA 口地址为0288H, PB 口地址为028AH, PC 口地 址为028CH,命令控制口地址为028EH。1.8086各个引脚的连接方法(1)

8、BHE引脚:通常用此引线产生片选信号,当为BHE =1, Ao =0编码时,在数据总线低8 位和偶地址之间进行字节传送(ADoAD7)。(2) CLK (Clock)时钟信号(输入):CLK为CPU和总线控制器提供基本的定时脉冲。时钟周期 是非对称的,当它为有效高电平的时间和时钟周期的比为33%时,提供最佳的内部定时。由8284 时钟发生器产生,8086CPU使用的时钟频率,因芯片型号不同,时钟频率不同。这里采用5MHz。(3) ,c (+5V),GND(地):CPU 所需电源,c = + 5V。GND 为地线。(4) QS0ALE (Address Latch Enable )地址锁存允许信

9、号,输出高电平有效,作地址锁存器 8282/8283的片选信号,在“地址周期状态,ALE有效,表示AB、DB上传送的是地址信息,将它 锁存。这是由于AB、DB分时复用所需要的,ALE信号线不能悬空。如图所示,加入2片地址锁 存器8282。(5) RESET:复位信号,输入,高电平有效。8086接到复位信号后,停止现行操作,并初始化段 寄存器DS,SS,ES,标志寄存器PSW,指令指针IP和指令队列,而使CS二FFFFH。RESET信号至少 保持四个周期以上的高电平,当它变为低电平时(一个下降沿),CPU执行重启过程,8086将从地 址FFF0H开始执行指令。通常FFFF0H单元开始的几个单元中

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

11、器系统中,它接地。其实,这就是8个D触发器。由于只用AD15ADo,所以用两片即可。2.时钟发生器8284芯片的说明(1) 时钟信号发生器:F/C=0时,时钟信号输入由X1、X2端接上晶体,由晶体振荡器产生时钟信号;CLK:3分频OSC后的时钟,输出频率4.77MHz,占空比为1/3,大约满足8086CPU的输入频率5MHz、 占空比33%的要求。(2) 复位生成电路: 由RES输入的信号来触发内部同步触发器,由此产生信号RESET,送到CPU的RESET端,复位信 号由CLK的下降沿同步。此时,RES端接“电源好“信号,使系统上电后自动复位。此为最小模式系统,除了 8086CPU,I/O接口

12、芯片8255A,定时计数芯片8353夕卜,其它配置如下:1片8284A,作为时钟发生器;2片8282,作为地址锁存器;2片74LS138,作为地址选通译码器;1个二输入或非门;1个4输入或非门;1个二输入与非门;4个或门12个发光二极管;12个限流电阻;1个复位信号开关。第三章程序设计.流程图二.程序代码DATA SEGMENT;设置数据段,以及端口地址分配PORTA EQU 218HPORTB EQU 219HPORTC EQU 21AHPTCON8255 EQU 21BHPORT0 EQU 238HPORT1 EQU 239HPORT2 EQU 240HPTCON8253 EQU 241H

13、DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODEINIT:MOV AX,DATAMOV DS,AXMOV DX, PTCON8253MOV AL,36HOUT DX,ALMOV DX,PORT0MOV AX,2710HOUT DX,ALMOV AL,AHOUT DX,AL; 通道0工作方式3周期0.01sMOV DX, PTCON8253MOV AL,71HOUT DX,AL;通道1工作方式1MOV DX, PTCON8253MOV AL,96HOUT DX,ALMOV DX,PORT2MOV AL,64HOUT DX,AL; 通道2工作方式3周期1s 8

14、253初始化完成MOV DX, PTCON8255MOV AL,80HOUT DX,AL;8255初始化A, B, C 口均工作在方式0MOV DX,PORTAMOV AL,0OUT DX,ALMOV DX,PORTBMOV AL,0FHOUT DX,ALMOV DX,PORTCMOV AL,0FHOUT DX,AL;灯初始化完成 STA:MOV DX,PORTAMOV AL,0A0H OUT DX,AL MOV DX,PORTB MOV AL,0F0H OUT DX,AL MOV DX,PORTCMOV AL,50HOUT DX,AL;1, 3绿灯亮,2, 4红灯亮 MOV DX,PORT1

15、 MOV AX,0BB8HOUT DX,AL MOV AL,AHOUT DX,AL;8253通道1赋值 开始计时 SCAN1: MOV AL,0MOV DX,PTCON8255MOV AL,90H OUT DX,AL MOV DX,PORTA IN AL,DX AND AL,0FH CMP AL,1JNZ SCAN1;扫描 PA7 口FLA1: MOV DX, PTCON8255MOV AL,80H OUT DX,AL MOV DX,PORTC MOV AL,0F0H OUT DX,AL MOV DX,PORTBMOV AL,50H OUT DX,AL MOV CX,0TEST1: MOV D

16、X,PTCON8255 ;检测 PB7 MOV AL,82H OUT DX,AL MOV DX,PORTB IN AL,DX AND AL,0FH MOV AH,ALMOV DX,PTCON8255MOV AL,82HOUT DX,ALMOV DX,PORTBIN AL,DXAND AL,0FHXOR AL,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,PORT

17、CMOV 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,PORTAIN 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,ALTES

18、T2: 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,9JNZ TEST2;闪烁 5 次CODE ENDSEND STA三.硬件清单1片8255,作为控制外设1片8253,作为数据控制器1片8284A,作为时钟发生器;2片8282,作为地址锁存器;2片74LS138,作为地址选通译码器;1个二输入或非门;1个4输入或

19、非门;1个二输入与非门;4个或门12个发光二极管;12个限流电阻;1个复位信号开关。四. 芯片资料1. 8255介绍8255的内部结构I/OPAt - F血I/OPCh- PCtIQPQl- PC.:.口口FE PB如SSA的结构框图8255A是一个40引脚的双列直插式集成电路芯片按功能可把8255A分为三个逻辑电路部分,即口电路、总线接口电路和控制逻辑电路。(1)口电路8255A共有三个8位口,其中A 口和B 口是单纯的数据口,供数据I/O使用。而C 口则既可 以作数据口,又可以作控制口使用,用于实现A 口和B口的控制功能。数据传送中A 口所需的控制信号由C 口高位部分(PC7PC4)提供,

20、因此把A 口和C 口高位部分 合在一起称之为A组;同样理由把B 口和C 口低位部分(PC3PC0)合在一起称之为B组。(2)总线接口电路总线接口电路用于实现8255A和单片微机的信号连接。其中包括:(a)数据总线缓冲器数据总线缓冲器为8位双向三态缓冲器,可直接和80C51的数据线相连,与I/O操作有关的 数据、控制字和状态信息都是通过该缓冲器进行传送。(b)读/写控制逻辑与读写有关的控制信号有CS一片选信号(低电平有效)RD一读信号(低电平有效)WR一写信号(低电平有效)A0、A1端口选择信号。8255A共有四个可寻址的端口(即A 口、B 口、C 口和控制寄 存器),用二位地址编码即可实现选择

21、。参见下表。视A1A0RD所选端口操作|00001A 口读端口 A00101B 口读端口 B01001cn读端口 C00010A 口写端口 A00110B 口写端口 B01010CD写端口 C01110控制寄存器写控制字1XXXX/数据总线缓冲器输出高阻抗RESET一复位信号(高电平有效)。复位之后,控制寄存器清除,各端口被置为输入方式。读写控制逻辑用于实现8255A的硬件管理:芯片的选择,口的寻址以及规定各端口和单片微机之 间的数据传送方向。(c)控制逻辑电路控制逻辑电路包括A组控制和B组控制,合在一起构成8位控制寄存器。用于存放各口的 工作方式控制字8255A工作方式及数据I/O操作(1)

22、 8255A的工作方式8255A共有三种工作方式,即方式0、方式1、方式2.(a) 方式0基本输入/输出方式方式0下,可供使用的是两个8位口(A 口和B 口)及两个4位口(C 口高4位部分和低4 位部分)。四个口可以是输入和输出的任何组合。方式0适用于无条件数据传送,也可以把C 口的某一位作为状态位,实现查询方式的数据传送。(b) 方式1选通输入/输出方式A 口和B 口分别用于数据的输入/输出。而C 口则作为数据传送的联络信号。具体定义见 表7-2。可见A 口和B 口的联络信号都是三个,如果A或B只有一个口按方式1使用,则剩下 的另外13位口线仍然可按方式0使用。如果两个口都按方式1使用,则还

23、剩下2位口线,这两 位口线仍然可以进行位状态的输入输出。方式1适用于查询或中断方式的数据输入/输出。(c) 方式2双向数据传送方式只有A 口才能选择这种工作方式,这时A 口既能输入数据又能输出数据。在这种方式下需 使用C 口的五位线作控制线,信号定义如表7 -2所示。方式2适用于查询或中断方式的双向数 据传送。如果把A 口置于方式2下,则B 口只能工作于方式0.(2) 数据输入操作用于输入操作的联络信号有:STB(StroBe)一选通脉冲,输入,低电平有效。当外设送来STB信号时,输入数据装入8255A 的锁存器。IBF(Input Buffer Full)一输入缓冲器满信号,输出,高电平有效

24、。IBF信号有效,表明数据已装入锁存器,因此它是一个状态信号。INTR(INTerrupt Request)一中断请求信号,高电平有效,当IBF数据输入过程:当外设准备好 数据输入后,发出信号,输入的数据送入缓冲器。然后IBF信号有效。如使用查询方式,则IBF 即作为状态信号供查询使用;如使用中断方式,当信号由低变高时,产生INTR信号,向单片微 机发出中断。单片微机在响应中断后执行中断服务程序时读入数据,并使INTR信号变低,同时 也使IBF信号同时变低。以通知外设准备下一次数据输入。(3) 数据输出操作用于数据输出操作的联络信号有:ACK(ACKnowledge)一外设响应信号输入,低电平

25、有效。当外设取走输出数据,并处理完毕后向单片微机发回的响应信号为高,信号由低变高(后沿)时, 中断请求信号有效。向单片微机发出中断请求。OBF (Output Buffer Full) 输出缓冲器满信号,输出,低电平有效。当单片微机把输出数据写入8255A锁存器后,该信号有效,并送去启动外设以接收数据。INTR 一中断请求信号,输出,高电平有效。数据输出过程:外设接收并处理完一组数据后,发回ACK信号。该信号使OBF变高,表明输出缓 冲器已空。如使用查询方式,则OBF可作为状态信号供查询使用;如使用中断方式,则当ACK 信号结束时,INTR有效,向单片微机发出中断请求。在中断服务过程中,把下一

26、个输出数据写 入8255A的输出缓冲器。写入后OBF有效,表明输出数据已到,并以此信号启动外设工作,取走 并处理8255A中的输出数据。表7 - 2 8255A C 口联络信号定义C 口 teM方式1方式2输入输出输入输出pc7OBFAOBFAPCsACKAACKAPCsIBFAIBFAPC4STEASTEAp*INTRAINTRAINTRAINTRAPC2STBBACKBPC1IBFBOBFBPC0INTRBINTRB2. 8253定时计数器数据总统 缓冲器计数通道1GATEO国1口.1貌53内部结构柩圈读/写 谡辑内部数据总戏OUT2GATE28253内部可分为6个模块,每个模块的功能如下

27、:1. 数据总线缓冲器及数据总线DD.-.,一 一 072. 读/写控制逻辑及控制引脚CS*A1A0I/O地址读操作RD*写操作WR*00040H读计数器0写计数器000141H读计数器1写计数器101042H读计数器2写计数器201143H无操作写控制字3.控制字寄存器在初始化编程时,CPU写入方式控制字到控制字寄存器中,用以选择计数通道及其相应的工作方 式。8253的控制字:8253的工作方式也是有控制字来决定,其控制字意义如下Th Ete Ds Dm Dw Di D。SCi SCol RL1 RJjj I M; Mi Md I BCD匚|( 1: BCD计数 一J 1 Oi 2城割计数-

28、000:方式0 001;方式1 J X10:方式21 XII:方式3 100;方式4 00:计数器锁存,供CPU读1 W1:方式5 LJoi:只i卖/写计数器低字节10=只读/写计数器高字节In:先读/写计数品低字节,后读/写高字节 f 00:选择通道0 G1:选择通道110:选择通道2i 11;无效8253的控制字4.计数通道0、计数通道1、计数通道23个计数通道内部结构完全相同。每个计数通道都由一个16位计数初值寄存器、一个16位减法 计数器和一个16位计数值锁存器组成计数初值存于预置寄存器,在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不 变。输出锁存器用于写入锁存命令时,锁

29、定当前计数值。计数器的3个引脚说明:(1)CLK时钟输入信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1(2)GATE门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型(3)OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号8253有6种工作方式,由方式控制字确定区分这6种工作方式的主要标志由3点:一是输出波形不同;二是启动计数器的触发方式不同; 三是计数过程中门控信号GATE对计数器操作的控制不同。1.方式0-低电平输出(GATE信号上升沿继续计数)2. 方式1-低电平输出(GATE信号上升沿重新计数)3. 方式2-周

30、期性脉冲输出4. 方式3-周期性方波输出OUT输出低电平,装入计数值n后,OUT立即跳变为高电平。如果当前GATE为高电平,则立即开 始减“ 1”计数,OUT保持为高电平,若n为偶数,则当计数值减到n/2时,OUT跳变为低电平, 一直保持到计数值为“0”,系统才重新置入计数值n,实现循环计数。这时OUT端输出周期为n XCLK周期,占空比为1: 1的方波序列:若n为奇数,则OUT端输出周期为nXCLK周期,占空 比(n+1)/2 : (n-1)/2的近似方波序列。5. 方式4-单次负脉冲输出(软件触发)6. 方式5单次负脉冲输出(硬件触发) 每种工作方式的设置过程类似:设定工作方式设定计数初值

31、硬件启动计数初值进入减1计数器每输入一个时钟计数器减1的计数过程计数过程结束3. 82821234567801234567 I I I I I I I I DDDDDDDD0ESTB1!18171615141:31:201234567 o o o o o C-Q0 DDDDDDDDD7DI0 :8位数据输入;DO7DO0 :8位数据输出;STB:选通信号;OE :输出允许信号,在不带DMA控制器的8086单处理器系统中,它接地。其实,这就是8个D触发器。由于只用AD15AD0,所以用两片即可。4. 38 译码器 74LS13874LS138译码器引脚图,逻辑图及功能表如下梧 K K E K %

32、 K K16 15 14 13 12 11 10 974LS1381 2 3 4 5 6 7 8& A 志 & 私 GND输A输出M +M&同孔% L为岛L0XXXX11111111XiXXX1111111110000011111111000110111111100101101111110011111011111010011110111101011111101110110111111011011111111110第四章总结在这多设计交通灯系统的过程中,我深深体会到了理论和实际的差距。在做关于交通灯系统 设计中我查阅很多这方面的资料,了解一些芯片的功能,比如说要了解8086芯片中各个引脚的功 能,怎么样去使用8255这个可编程并行接口芯片,怎么样使用8253来定时及输出一定频率的脉 冲,怎么样用8282这个地址锁存器来存储高位地址和低位地址以及交通有哪些规则.我在已有的 理论基础上,明白了制作实物的一般过程。整个设计过程,开始最大的问题是不知道从哪里下手,从哪里开始切入,后来通过查资料明 白了这个问题。再后来就是编程,尤其是芯片初始化,整了很多次,最后还是在同学的帮助下完 成的。其实,准确的说不是我一个人独自完成的,在许多地方,我的同学都提出了宝贵的意见, 再次感谢他们。

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号