




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 1欢迎下载 微机原理课程设计交通信号灯的控制微机原理课程设计交通信号灯的控制 一 设计任务及要求 交通信号灯的控制 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 时钟脉冲 工作在 精品文档 2欢迎下载 方式 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 工作在方式 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 延时的方法 来实现十字路口交通灯的模拟控制 精品文档 3欢迎下载 如硬件连接图所示 红灯 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 既基本输入输出方式 红绿灯的转换由软件编程实现 四 硬件原理及电路图 精品文档 4欢迎下载 精品文档 5欢迎下载 由于 8255A 与 8086CPU 是以低八位数据线相连接的 所以应该是 8255A 的 1 A 0 A 线分别与 8086CPU 的 2 A 1 A 线相连 而将 8086 的 0 A 线作为选通信号 如果是按 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 引脚 通常用此引线产生片选信号 当为 1 0 编码BHEBHE 0 A 时 在数据总线低 8 位和偶地址之间进行字节传送 0 AD 7 AD 2 CLK Clock 时钟信号 输入 CLK 为 CPU 和总线控制器提供基本 的定时脉冲 时钟周期是非对称的 当它为有效高电平的时间和时钟周期的比 为 33 时 提供最佳的内部定时 由 8284 时钟发生器产生 8086CPU 使用的时 钟频率 因芯片型号不同 时钟频率不同 这里采用 5MHz 3 5V GND 地 CPU 所需电源 5V GND 为地线 CC V CC V 4 QS0ALE Address Latch Enable 地址锁存允许信号 输出高电平有 效 作地址锁存器 8282 8283 的片选信号 在地址周期状态 ALE 有效 表 1 T 示 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欢迎下载 6 MN Minimun Maximun 最小 最大工作模式选择信号 输入 MX 此时 MN 接 5V 构成单处理器系统 系统控制信号由 CPU 提供 MX 接下来 对 8282 芯片作一下说明 8 位数据输入 8 位数据输出 STB 选通信号 7 DI 0 DI 7 DO 0 DO 输出允许信号 在不带 DMA 控制器的 8086 单处理器系统中 它接地 OE 其实 这就是 8 个 D 触发器 由于只用 所以用两片即可 15 AD 0 AD 最后 对时钟发生器 8284 芯片按两部分进行说明 1 时钟信号发生器 0 时 时钟信号输入由 X1 X2 端接上晶体 由晶体振荡器产生时CF 钟信号 CLK 3 分频 OSC 后的时钟 输出频率 4 77MHz 占空比为 1 3 大约满足 8086CPU 的输入频率 5MHz 占空比 33 的要求 2 复位生成电路 由输入的信号来触发内部同步触发器 由此产生信号 RESET 送到 CPU 的RES RESET 端 复位信号由 CLK 的下降沿同步 此时 端接 电源好 信号 RES 精品文档 7欢迎下载 使系统上电后自动复位 此为最小模式系统 除了 8086CPU I O 接口芯片 8255A 定时计数芯片 8353 外 其它配置如下 1 片 8284A 作为时钟发生器 2 片 8282 作为地址锁存器 2 片 74LS138 作为地址选通译码器 1 个二输入或非门 1 个 4 输入或非门 1 个二输入与非门 4 个或门 12 个发光二极管 12 个限流电阻 1 个复位信号开关 五 软件思想 1 流程图 2 源程序 DATA 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 精品文档 8欢迎下载 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 精品文档 9欢迎下载 MOV DX PORTA MOV AL 0 OUT DX AL MOV DX PORTB MOV AL 0FH OUT DX AL MOV DX PORTC MOV AL 0FH OUT DX AL 灯初始化完成 STA MOV DX PORTA MOV AL 0A0H OUT DX AL MOV DX PORTB MOV AL 0F0H OUT DX AL MOV DX PORTC MOV AL 50H OUT DX AL 1 3 绿灯亮 2 4 红灯亮 MOV DX PORT1 MOV AX 0BB8H OUT DX AL MOV AL AH OUT DX AL 8253 通道 1 赋值 开始计时 SCAN1 MOV AL 0 MOV DX PTCON8255 精品文档 10欢迎下载 MOV AL 90H OUT DX AL MOV DX PORTA IN AL DX AND AL 0FH CMP AL 1 JNZ SCAN1 扫描 PA7 口 FLA1 MOV DX PTCON8255 MOV AL 80H OUT DX AL MOV DX PORTC MOV AL 0F0H OUT DX AL MOV DX PORTB MOV AL 50H OUT DX AL MOV CX 0 TEST1 MOV DX PTCON8255 检测 PB7 MOV AL 82H OUT DX AL MOV DX PORTB IN AL DX AND AL 0FH MOV AH AL 精品文档 11欢迎下载 MOV DX PTCON8255 MOV AL 82H OUT DX AL MOV DX PORTB IN AL DX AND AL 0FH XOR AL AH ADD CL AL CMP CL 9 JNZ TEST1 闪烁 5 次 MOV DX PTCON8255 MOV AL 80H OUT DX AL MOV DX PORTA MOV AL 50H OUT DX AL MOV DX PORTB MOV AL 0F0H OUT DX AL MOV DX PORTC MOV AL 0A0H 1 3 红灯亮 2 4 绿灯亮 MOV DX PORT1 MOV AX 0BB8H OUT DX AL MOV AL AH 精品文档 12欢迎下载 OUT DX AL 8253 通道 1 赋值 开始计时 SCAN2 MOV AL 0 MOV DX PTCON8255 MOV AL 90H OUT DX AL MOV DX PORTA IN AL DX AND AL 0FH CMP AL 1 JNZ SCAN2 FLA2 MOV DX PTCON8255 MOV AL 80H OUT DX AL MOV DX PORTC MOV AL 0F0H OUT DX AL MOV DX PORTB MOV AL 0A0H OUT DX AL TEST2 MOV DX PTCON8255 MOV AL 88H OUT DX AL MOV DX PORTC IN AL DX AND AL 0FH 精品文档 13欢迎下载 MOV AH AL MOV DX PTCON8255 MOV AL 88H OUT DX AL MOV DX PORTC IN AL DX AND AL 0FH XOR AL AH ADD CL AL CMP CL 9 JNZ TEST2 闪烁 5 次 CODE ENDS END STA 六 调试记录及结果分析 1 本电路没有设置显示倒计时的七段 LED 数码管 如果应用到街道上 不 利于司机 行人把握 2 在上机调试中发现 由于此软件延时的时间均为估算时间 不是特别准确 对于交通要求特别高的地方不宜采用 如果是放到一个大的交通灯系统中 会 影响到各个交通灯的运行时间 可能整个系统对交通的指挥调度会大大偏离理 论计算 不能有效地防止和消除交通堵塞现象 3 当出现紧急情况 在特种车 如消防车 救护车 正要通过时 这种编程 方式就不能完成 但是 可以看到以上方案的一般性 只要将程序里的数据排列或规律稍加 修改就可应用到任何一个路口的某一个方向上的交通灯上了 可移植性很强 精品文档 14欢迎下载 七 参考资料 微型计算机原理及运用 谭浩强 清华大学出版社 微机原理及接口技术 微机接口技术应用 汇编语言程序设计 八 芯片资料 1 8255 8255 的内部结构 8255A 是一个 40 引脚的双列直插式集成电路芯片 按功能可把 8255A 分为三个逻辑电路部分 即 口电路 总线接口电路和控制 精品文档 15欢迎下载 逻辑电路 1 口电路 8255A 共有三个 8 位口 其中 A 口和 B 口是单纯的数据口 供数据 I O 使 用 而 C 口则既可以作数据口 又可以作控制口使用 用于实现 A 口和 B 口的 控制功能 数据传送中 A 口所需的控制信号由 C 口高位部分 PC7 PC4 提供 因此把 A 口和 C 口高位部分合在一起称之为 A 组 同样理由把 B 口和 C 口低位部分 PC3 PC0 合在一起称之为 B 组 2 总线接口电路 总线接口电路用于实现 8255A 和单片微机的信号连接 其中包括 a 数据总线缓冲器 数据总线缓冲器为 8 位双向三态缓冲器 可直接和 80C51 的数据线相连 与 I O 操作有关的数据 控制字和状态信息都是通过该缓冲器进行传送 b 读 写控制逻辑 与读写有关的控制信号有 CS 片选信号 低电平有效 RD 读信号 低电平有效 WR 写信号 低电平有效 A0 A1 端口选择信号 8255A 共有四个可寻址的端口 即 A 口 B 口 C 口和 控制寄存器 用二位地址编码即可实现选择 参见下表 精品文档 16欢迎下载 RESET 复位信号 高电平有效 复位之后 控制寄存器清除 各端口被 置为输入方式 读写控制逻辑用于实现 8255A 的硬件管理 芯片的选择 口的寻址以及规 定各端口和单片微机之间的数据传送方向 c 控制逻辑电路 控制逻辑电路包括 A 组控制和 B 组控制 合在一起构成 8 位控制寄存 器 用于存放各口的工作方式控制字 8255A 工作方式及数据 I O 操作 1 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 精品文档 17欢迎下载 或 B 只有一个口按方式 1 使用 则剩下的另外 13 位口线仍然可按方式 0 使 用 如果两个口都按方式 1 使用 则还剩下 2 位口线 这两位口线仍然可 以进行位状态的输入输出 方式 1 适用于查询或中断方式的数据输入 输出 c 方式 2 双向数据传送方式 只有 A 口才能选择这种工作方式 这时 A 口既能输入数据又能输出数 据 在这种方式下需使用 C 口的五位线作控制线 信号定义如表 7 2 所示 方式 2 适用于查询或中断方式的双向数据传送 如果把 A 口置于方式 2 下 则 B 口只能工作于方式 0 2 数据输入操作 用于输入操作的联络信号有 STB StroBe 选通脉冲 输入 低电平有效 当外设送来 STB 信号时 输入数据装入 8255A 的锁存器 IBF Input Buffer Full 输入缓冲器满信号 输出 高电平有效 IBF 信号有效 表明数据已装入锁存器 因此它是一个状态信号 INTR INTerrupt Request 中断请求信号 高电平有效 当 IBF 数据输入 过程 当外设准备好数据输入后 发出信号 输入的数据送入缓冲器 然 后 IBF 信号有效 如使用查询方式 则 IBF 即作为状态信号供查询使用 如使用中断方式 当信号由低变高时 产生 INTR 信号 向单片微机发出中 断 单片微机在响应中断后执行中断服务程序时读入数据 并使 INTR 信号 变低 同时也使 IBF 信号同时变低 以通知外设准备下一次数据输入 3 数据输出操作 用于数据输出操作的联络信号有 ACK ACKnowledge 外设响应信号输入 低电平有效 当外设取走输出数据 并处理完毕后向单片微机发回的响应信号为高 信 号由低变高 后沿 时 中断请求信号有效 向单片微机发出中断请求 OBF Output Buffer Full 输出缓冲器满信号 输出 低电平有 效 当单片微机把输出数据写入 8255A 锁存器后 该信号有效 并送去启 动外设以接收数据 精品文档 18欢迎下载 INTR 中断请求信号 输出 高电平有效 数据输出过程 外设接收并处理完一组数据后 发回 ACK 信号 该信号 使 OBF 变高 表明输出缓冲器已空 如使用查询方式 则 OBF 可作为状态 信号供查询使用 如使用中断方式 则当 ACK 信号结束时 INTR 有效 向 单片微机发出中断请求 在中断服务过程中 把下一个输出数据写入 8255A 的输出缓冲器 写入后 OBF 有效 表明输出数据已到 并以此信号启动外 设工作 取走并处理 8255A 中的输出数据 表 7 2 8255A C 口联络信号定义 精品文档 19欢迎下载 2 8253 定时计数器 8253 内部可分为 6 个模块 每个模块的功能如下 1 数据总线缓冲器及数据总线 D0 D7 精品文档 20欢迎下载 2 读 写控制逻辑及控制引脚 CS CS A1A1 A0A0 I OI O 地址地址读操作读操作 RD RD 写操作写操作 WR WR 0 0 0 0 0 1 0 1 0 0 1 1 40H 41H 42H 43H 读计数器 0 读计数器 1 读计数器 2 无操作 写计数器 0 写计数器 1 写计数器 2 写控制字 3 控制字寄存器 在初始化编程时 CPU 写入方式控制字到控制字寄存器中 用以选择计数通道 及其相应的工作方式 8253 的控制字 8253 的工作方式也是有控制字来决定 其控制字意义如下 4 计数通道 0 计数通道 1 计数通道 2 3 个计数通道内部结构完全相同 每个计数通道都由一个 16 位计数初值寄存器 精品文档 21欢迎下载 一个 16 位减法计数器和一个 16 位计数值锁存器组成 计数初值存于预置寄存器 在计数过程中 减法计数器的值不断递减 而预置 寄存器中的预置不变 输出锁存器用于写入锁存命令时 锁定当前计数值 计数器的 3 个引脚说明 1 1 CLK 时钟输入信号 在计数过程中 此引脚上每输入一个时钟信号 下降沿 计数器的计数值减 1 2 2 GATE 门控输入信号 控制计数器工作 可分成电平控制和上升沿控制两种类型 3 3 OUT 计数器输出信号 当一次计数过程结束 计数值减为 0 OUT 引脚上将产生一个输出信号 8253 有 6 种工作方式 由方式控制字确定 区分这 6 种工作方式的主要标志由 3 点 一是输出波形不同 二是启动计数器 的触发方式不同 三是计数过程中门控信号 GATE 对计数器操作的控制不同 1 方式 0 低电平输出 GATE 信号上升沿继续计数 2 方式 1 低电平输出 GATE 信号上升沿重新计数 3 方式 2 周期性脉冲输出 4 方式 3 周期性方波输出 OUT 输出低电平 装入计数值 n 后 OUT 立即跳变为高电平 如果当前 GATE 为 高电平 则立即开始减 1 计数 OUT 保持为高电平 若 n 为偶数 则当计数 值减到 n 2 时 OUT 跳变为低电平 一直保持到计数值为 0 系统才重新置 入计数值 n 实现循环计数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年全国心理咨询师资格认证考试模拟题集及解析
- 2025年中国烟草总公司招聘笔试信息技术难点解析与应对策略
- 2025年互联网产品经理招聘面试模拟题及备考攻略
- 美业模式课件
- 退休消防知识培训课件
- 退休教师国学知识培训课件
- 二年级英语写作能力培养计划
- 消防施工配合管理安全措施
- 2025年出境旅游服务项目立项申请报告
- 2025年汽车空气过滤器项目申请报告模板
- 腹腔镜风险评估及应急预案
- 【追星文化对大学生消费行为及观念的影响问卷调研报告(含问卷)(论文)11000字】
- 2025届高三数学一轮复习备考经验交流
- 中核集团中辐院招聘笔试真题2022
- 泡沫箱子合同范本
- 智能制造装备与集成 课件 02 智能制造架构与装备
- 2024-2029全球及中国土豆泥行业市场发展分析及前景趋势与投资发展研究报告
- 我和我的祖国歌词
- 新人教版初二上册(八上)数学全册课件
- 补贴协议书范本
- 《开开心心上学去》公开课课件
评论
0/150
提交评论