logo资料库

课设 交通灯.doc

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
微机原理课程设计
微机原理课程设计 一.设计任务及要求: 交通信号灯的控制: 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 的 PA7 口,8255 将 A 口数据输入到 8086,8086 检测 到高电平既完成 30s 定时。通道 2 工作在方式 3 需输出一个 1HZ 的方波,通过一 个或门和 8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数 免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提 供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版 权属于提供者所有,有关版权的问题请直接与提供者联系。
初值为 100=64H,将黄灯的状态反馈到 8055 的端口 PB7 和 PC7,同样输入到 8086, 8086 通过两次检测端口状态可知黄灯的状态变化,计 9 次状态变化可完成 5 次 闪烁。 三个通道的门控信号都未用,均接+5V 即可。 方案二: 考虑到题目要求黄灯闪烁的频率为 1HZ,既每秒 1 次,那么前 0.5 秒黄灯 亮,后 0.5 秒黄灯灭,所以最小的定时单位为 0.5 秒,频率为 2HZ,30 秒即为 60 个 0.5 秒。 显然如方案一一样一个计数器无法完成,所以采用两个计数器级联的方式,将计 数 器 0 的 输 出 OUT0 接 到 计 数 器 1 的 输 入 端 CLK1,CLK0=1MHZ, 计 数 值 为 50000=C350H,OUT0=20HZ,CLK1=20HZ,记数值=10,OUT1=2HZ。并且计数器 0 工作于 方式 3 用于产生方波信号,计数器 1 工作方式 2,产生负脉冲信号,计数器 1 的 输出端 OUT1 接入 8255 芯片的 PC5 口,用于读取负脉冲个数,以完成计时功能。 8086 及 8255 设置同方案一,8086 则每隔 0.5 秒变换一次黄灯的状态,持续五次, 完成闪烁的功能。 经比较,方案二 8086 在黄灯闪烁时需频繁发送数据到 8255,加重了系统 的负担,因此我决定采用方案一。 三.系统原理 工作原理说明: 此方案是通过并行接口芯片 8255A 和 8086 计算机的硬件连接,以及通过 8253 延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示,红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在 8255 的 A,B,C 口的低四位端口,PA0,PA1,PA2,PA3 分别接 1,2,3,4 路口 的红灯,B,C 口类推。8086 工作在最小模式,低八位端口 AD0~AD7 接到 8255 和 8253 的 D0~D7,AD8~AD15 通过地址锁存器 8282,接到三八译码器,译码后分别连 到 8255 和 8253 的 CS 片选端。8253 的三个门控端接+5V,CLOCK0 接由分频器产 生的 1MHZ 的时钟脉冲,OUT0 接到 CLOCK1 和 CLOCK2,OUT1 接到 8086 的 AD18,8086 通过检测此端口是否有高电平来判断是否 30S 定时到。OUT2 产生 1MHZ 方波通过 或门和 8255 的 B 口共同控制黄灯的闪烁。8255 三个口全部工作在方式 0 既基本 输入输出方式,红绿灯的转换由软件编程实现。 四.硬件原理及电路图 免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提 供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版 权属于提供者所有,有关版权的问题请直接与提供者联系。
免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提 供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版 权属于提供者所有,有关版权的问题请直接与提供者联系。
由于 8255A 与 8086CPU 是以低八位数据线相连接的,所以应该是 8255A 的 1A 、 0A 线分别与 8086CPU 的 2A 、 1A 线相连,而将 8086 的 0A 线作为选通信号。如果 是按 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。 下面,分析 8086 各个引脚的连接方法。 (1) BHE 引脚:通常用此引线产生片选信号,当为 BHE =1, 0A =0 编码 时,在数据总线低 8 位和偶地址之间进行字节传送( 0AD ~ 7AD )。 (2)CLK(Clock)时钟信号(输入):CLK 为 CPU 和总线控制器提供基本的 定时脉冲。时钟周期是非对称的,当它为有效高电平的时间和时钟周期的比为 33%时,提供最佳的内部定时。由 8284 时钟发生器产生,8086CPU 使用的时钟 频率,因芯片型号不同,时钟频率不同。这里采用 5MHz。 (3) CCV (+5V),GND(地):CPU 所需电源 CCV =+5V。GND 为地线。 (4)QS0ALE(Address Latch Enable)地址锁存允许信号,输出高电平有 效,作地址锁存器 8282/8283 的片选信号,在 1T 地址周期状态,ALE 有效,表示 AB、DB 上传送的是地址信息,将它锁存。这是由于 AB、DB 分时复用所需要的, ALE 信号线不能悬空。如图所示,加入 2 片地址锁存器 8282。 (5)RESET:复位信号,输入,高电平有效。8086 接到复位信号后,停止现 行操作,并初始化段寄存器 DS,SS,ES,标志寄存器 PSW,指令指针 IP 和指令队 列,而使 CS=FFFFH。RESET 信号至少保持四个周期以上的高电平,当它变为低电 平时(一个下降沿),CPU 执行重启过程,8086 将从地址 FFF0H 开始执行指令。通 常 FFFF0H 单元开始的几个单元中存放一条 JMP 指令,将入口转到引导和装配程 序中,从而实现对系统的初始化,引导监控程序或操作系统程序。由于出现突然 断电或其它情况时,8086 可能正在执行交通灯程序,现有的地址丢失,应按下 RESET 键重新开始。另外,应将 8255A 与 8086 的 RESET 线相连,保持同步。 (6)MN/ MX (Minimun/Maximun): 最小、最大工作模式选择信号,输入。 此时 MN/ MX 接+5V,构成单处理器系统,系统控制信号由 CPU 提供。 接下来,对 8282 芯片作一下说明: 7DI ~ 0DI :8 位数据输入; 7DO ~ 0DO :8 位数据输出;STB:选通信号; 免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提 供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版 权属于提供者所有,有关版权的问题请直接与提供者联系。
OE :输出允许信号,在不带 DMA 控制器的 8086 单处理器系统中,它接地。 其实,这就是 8 个 D 触发器。由于只用 15AD ~ 0AD ,所以用两片即可。 最后,对时钟发生器 8284 芯片按两部分进行说明: (1)时钟信号发生器: =0 时,时钟信号输入由 X1 、X2 端接上晶体,由晶体振荡器产生时 CF / 钟信号; CLK:3 分频 OSC 后的时钟,输出频率 4.77MHz,占空比为 1/3,大约满足 8086CPU 的输入频率 5MHz、占空比 33%的要求。 (2)复位生成电路: 由 RES 输入的信号来触发内部同步触发器,由此产生信号 RESET,送到 CPU 的 RESET 端,复位信号由 CLK 的下降沿同步。此时,RES 端接“电源好“信号,使 系统上电后自动复位。 此为最小模式系统,除了 8086CPU,I/O 接口芯片 8255A,定时计数芯片 8353 外, 其它配置如下: 1 片 8284A,作为时钟发生器; 2 片 8282,作为地址锁存器; 2 片 74LS138,作为地址选通译码器; 1 个二输入或非门;1 个 4 输入或非门;1 个二输入与非门;4 个或门 12 个发光二极管;12 个限流电阻;1 个复位信号开关。 五.软件思想 1.流程图 免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提 供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版 权属于提供者所有,有关版权的问题请直接与提供者联系。
. 免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提 供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版 权属于提供者所有,有关版权的问题请直接与提供者联系。
初始化 8255,8253 红灯全亮 绿灯黄灯全灭 1,3 绿灯亮 2,4 红灯亮 等待 8253 延时 30s 时 间是否到? N Y 1,3 绿灯灭 2,4 红灯不变 1,3 黄灯闪烁 等待黄灯闪烁 5 次? N Y 1,3 红灯亮 2,4 绿灯亮 8253 延时 30s 2,4 绿灯灭 黄灯闪烁 5 次 免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提 供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版 权属于提供者所有,有关版权的问题请直接与提供者联系。
2.源程序: DATA SEGMENT; 设置数据段,以及端口地址分配 PORTA EQU 218H PORTB EQU 219H PORTC EQU 21AH PTCON8255 EQU 21BH PORT0 PORT1 PORT2 PTCON8253 EQU 241H EQU 238H EQU 239H EQU 240H DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE INIT: MOV AX,DATA MOV DS,AX MOV DX, PTCON8253 MOV AL,36H OUT DX,AL MOV DX,PORT0 MOV AX,2710H OUT DX,AL MOV 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 OUT DX,AL 免责声明:文档在线网(文档中国)中所有的文档资料均由文档在线网会员提供。文档在线网会对会员提 供的文档资料进行筛选和编辑,但是并不声明或保证其内容的合法性、正确性或可靠性。该文档资料的版 权属于提供者所有,有关版权的问题请直接与提供者联系。
分享到:
收藏