硬件课程设计-交通灯指挥系统..doc_第1页
硬件课程设计-交通灯指挥系统..doc_第2页
硬件课程设计-交通灯指挥系统..doc_第3页
硬件课程设计-交通灯指挥系统..doc_第4页
硬件课程设计-交通灯指挥系统..doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

硬件课程设计实验报告 计 10 1 班 阎蕾 1 硬件课程设计实践报告硬件课程设计实践报告 题题 目 目 交通灯指挥系统交通灯指挥系统 班班 级 级 学学 号 号 姓姓 名 名 指导教师 指导教师 许新征老师许新征老师 中国矿业大学计算机学院中国矿业大学计算机学院 硬件课程设计实验报告 计 10 1 班 阎蕾 2 摘要 摘要 红绿交通灯是我们日常生活经常见到也是必不可少的 随着城市 社会经济的发展 城市道路交通供给和需求的矛盾日益突出 并引发很多 交通问题 当今 红绿灯安装在各个交通路口上 已经成为疏导交通 车辆最常见和最有效的手段 绿灯是通行信号 面对绿灯的车辆可以直行 左转弯和右转弯 面对黄灯的车辆不能越过停车线 但车辆已十分接近停车线而不能安 全停车时可以进入交叉路口 我们设计的交通灯就是依据上述思路控 制十字路口南北东西四个方向车辆通行的 经过上学期的基础以及前一阶段的学习 利用彩灯我们做出了 一个简单的交通灯指挥系统 通过控制彩灯的亮灭来达到红绿灯的 效果 从而控制交通 之前我们学习了微机原理与接口技术这门课程 课上我们学到 了一些计算机硬件工作的基本原理 以及一些简单的汇编语言程序 设计方法并了解了一些芯片的功能 根据题目以及老师上课的要求 我用微机原理与接口实验仪来进行交通灯指挥系统的设计 实验中用到芯片 8253 芯片 8255 芯片 8279 LED 灯 数码管 等 利用这些器件的工作原理以及通过组合可以模仿各种彩灯的正 常工作亮灭 特殊情况下的手动键盘开关以及恢复等一系列过程 在实现运行的过程中 通过汇编语言 利用上述几种芯片 进行编 程设计 最终顺利完成了实验 并进行了书本上的理论与实践完美 结合 获益匪浅 硬件课程设计实验报告 计 10 1 班 阎蕾 3 交通灯指挥系统交通灯指挥系统 1 1 需求分析与总体设计方案 需求分析与总体设计方案 5 1 1 需求分析需求分析 5 1 2 总体设计方案总体设计方案 5 2 硬件说明 硬件说明 5 2 1 硬件使用说明硬件使用说明 6 2 2 芯片简介芯片简介 6 2 2 1 8253 芯片简介芯片简介 6 2 2 1 1 8253 功能介绍功能介绍 6 2 2 1 2 8253 工作原理工作原理 8 2 2 1 3 8253 内部结构内部结构 8 2 2 1 4 8253 的通道的工作方式的通道的工作方式 12 2 2 1 5 读取计数器的当前值读取计数器的当前值 13 2 2 1 6 8253 的级联和地址分配的级联和地址分配 13 2 2 2 8255 芯片简介芯片简介 14 2 2 2 1 8255 基本工作原理基本工作原理 14 2 2 2 2 8255 基本结构基本结构 16 2 2 2 3 8255 引脚功能说明引脚功能说明 16 2 2 2 4 8255 的读写控制的读写控制 17 2 2 3 8279 芯片简介芯片简介 17 2 2 3 1 8279 功能介绍功能介绍 19 2 2 3 2 8279 内部结构内部结构 19 2 2 3 3 8279 管脚简介管脚简介 19 2 2 3 4 8279 工作方式工作方式 20 2 2 3 5 8279 命令功能表命令功能表 21 3 硬件连接说明与程序流程 硬件连接说明与程序流程 23 3 1 硬件连接说明硬件连接说明 23 硬件课程设计实验报告 计 10 1 班 阎蕾 4 3 2 硬件连接图硬件连接图 23 4 程序代码 程序代码 24 4 1 程序流程图程序流程图 24 4 2 程序代码及说明程序代码及说明 25 5 问题分析与解决方案 问题分析与解决方案 37 6 程序测试与分析 程序测试与分析 37 6 1 实验连线图实验连线图 38 6 2 程序测试结果程序测试结果 38 6 3 结果分析结果分析 38 7 心得体会 心得体会 39 8 参考文献 参考文献 41 硬件课程设计实验报告 计 10 1 班 阎蕾 5 1 1 需求分析与总体设计方案 需求分析与总体设计方案 1 11 1 需求分析需求分析 交通灯是我们日常生活经常见到也是必不可少的 随着城市社 会经济的发展 城市道路交通供给和需求的矛盾日益突出 并引发很多 交通问题 现今 交通指挥灯已成为疏导交通车辆最常见和最有效 的手段 交通灯使得人们出行更加的方便 安全 有序 因此 对 交通指挥灯的研究已变成一个十分重要的课题 1 21 2 总体设计方案总体设计方案 十字路口的交通灯包括东西南北四个方向 而通常情况下东西路 口的交通灯的亮灭情况是相同的 南北方向交通灯的亮灭情况是相同 的 所以将十字路口的交通灯简化为 东西方向的交通灯为同一组 南北方向的交通灯为同一组 交通指挥灯的设计不仅需要满足平常情 况下指挥交通的作用 还需满足紧急情况的手动闸 正常情况下 状态一 南北红灯 东西绿灯 状态二 南北红灯 东西黄灯 状态三 南北绿灯 东西红灯 状态四 南北黄灯 东西红灯 状态五 重复以上四种状态 紧急情况下 键盘控制 数字 0 恢复 数字 1 南北红灯 东西绿灯 硬件课程设计实验报告 计 10 1 班 阎蕾 6 数字 2 南北绿灯 东西红灯 数字 4 东西南北全红 数字 5 东西南北全绿 数字 6 东西南北全黄 2 2 硬件说明 硬件说明 2 1 2 1 硬件使用说明硬件使用说明 用实验箱中提供的二极管作为南北路口和东西路口的模拟交通灯 用可编程并行接口芯片 8255 控制模拟交通灯的亮与灭 用可编程定时器 计数器芯片 8253 实现模拟交通灯亮与灭的时间延 迟的控制 用可编程逻辑器件 8279 实现交通灯倒计时的显示 2 2 2 2 芯片简介芯片简介 2 2 12 2 1 82538253 芯片简介芯片简介 2 2 1 12 2 1 1 82538253 功能介绍功能介绍 intel8253 是 NMOS 工艺制成的可编程计数器 定时器 有几种芯片 型号 外形引脚及功能都是兼容的 只是工作的最高计数速率有所差 异 例如 8253 2 6MHz 8253 5 5MHz 硬件课程设计实验报告 计 10 1 班 阎蕾 7 图 2 1 8253 引脚图 8253 内部有三个计数器 分别称为计数器 0 计数器 1 和计数器 2 他们的机构完全相同 每个计数器的输入和输出都决定于设置在控 制寄存器中的控制字 互相之间工作完全独立 每个计数器通过三个 引脚和外部联系 一个为时钟输入端 CLK 一个为门控信号输入端 GATE 另一个为输出端 OUT 每个计数器内部有一个 8 位的控制寄存器 还有一个 16 位的计数初值寄存器 CR 一个计数执行部件 CE 和一个输 出锁存器 OL 执行部件实际上是一个 16 位的减法计数器 它的起始值就是初值 寄存器的值 而初始值寄存器的值是通过程序设置的 输出锁存器的 值是通过程序设置的 输出锁存器 OL 用来锁存计数执行部件 CE 的内 容 从而使 CPU 可以对此进行读操作 顺便提一下 CR CE 和 OL 都是 硬件课程设计实验报告 计 10 1 班 阎蕾 8 16 位寄存器 但是也可以作 8 位寄存器来用 2 2 1 22 2 1 2 82538253 工作原理工作原理 8253 具有 3 个独立的计数通道 采用减 1 计数方式 在门控信号 有效时 每输入 1 个计数脉冲 通道作 1 次计数操作 当计数脉冲是 已知周期的时钟信号时 计数就成为定时 2 2 1 32 2 1 3 82538253 内部结构内部结构 8253 芯片有 24 条引脚 封装在双列直插式陶瓷管壳内 图 2 2 8253 内部结构框图 1 数据总线缓冲器 数据总线缓冲器与系统总线连接 8 位双向 与 CPU 交换信息的通 道 这是 8253 与 CPU 之间的数据接口 它由 8 位双向三态缓冲存储器 构成 是 CPU 与 8253 之间交换信息的必经之路 硬件课程设计实验报告 计 10 1 班 阎蕾 9 2 读 写控制 表 2 1 8253 端口选择 读 写控制分别连接系统的 IOR 和 IOW 由 CPU 控制着访问 8253 的内部通道 接收 CPU 送入的读 写控制信号 并完成对芯片内部各 功能部件的控制功能 因此 它实际上是 8253 芯片内部的控制器 A1A0 端口选择信号 由 CPU 输入 8253 内部有 3 个独立的通道 加 上控制字寄存器 构成 8253 芯片的 4 个端口 CPU 可对 3 个通道进行 读 写操作 3 对控制字寄存器进行写操作 这 4 个端口地址由最低 2 位地址码 A1 和 A0 来选择 如表所示 3 通道选择 CS 片选信号 由 CPU 输入 低电平有效 通常由端口地址的高 硬件课程设计实验报告 计 10 1 班 阎蕾 10 位地址译码形成 RD WR 读 写控制命令 由 CPU 输入 低电平有效 RD 效时 CPU 读取由 A1 A0 所选定的通道内计数器的内容 WR 有效时 CPU 将 计数值写入各个通道的计数器中 或者是将方式控制字写入控制字寄 存器中 CPU 对 8253 的读 写操作 4 计数通道 0 2 每个计数通道内含 1 个 16 位的初值寄存器 减 1 计数器和 1 个 16 位的 输出 锁存器 8253 内部包含 3 个功能完全相同的通道 每个 通道内部设有一个 16 位计数器 可进行二进制或十进制 BCD 码 计 数 采用二进制计数时 写入的初值范围为 0000H 0FFFFH 最大计数 值是 0000H 代表 65536 采用 BCD 码计数时 写入的初值范围为 0000 9999 最大计数值是 0000 代表 10000 与此计数器相对应 每 个通道内设有一个 16 位计数值锁存器 必要时可用来锁存计数值 特别说明 8253 计数器的值先减 1 再判断是否为 0 为 0 就中断了 所以最大初始值为 0 这样减 1 以后 不为 0 所以为最大的 取决于 CF 标志位 当某通道用作计数器时 应将要求计数的次数预置到该通道的计 数器中 被计数的事件应以脉冲方式从 CLK 端输入 每输入一个计数 脉冲 计数器内容减 1 待计数值计到 0 OUT 端将有输出 表 示计数次数到 当某个通道用作定时器时 由 CLK 输入一定频率的时 钟脉冲 根据要求定时的时间长短确定所需的计数值 并预置到计数 器中 每输入一个时钟脉冲 计数器内容减 1 待计数值计到 0 硬件课程设计实验报告 计 10 1 班 阎蕾 11 OUT 将有输出 表示定时时间到 允许从 CLK 输入的时钟频在 1 2MHz 范围内 因此 任一通道作计数器用或作定时器用 其内部操作完全 相同 区别仅在于前者是由计数脉冲进行减 1 计数 而后者是内 时钟脉冲进行减 1 计数 作计数器时 要求计数的次数可直接作 为计数器的初值预置到减 1 计数器中 作定时器时 计数器的初 值即定时系数应根据要求定时的时间进行如下运算才能得到 定时系数定时系数 需要定时的时间需要定时的时间 时钟脉冲周期时钟脉冲周期 设置通道 向方式控制字寄存器端口写入方式选择控制字 用 于确定要设置的通道及工作方式 计数 定时 向通道写入计数值 启动计数操作 读取当前的计数值 向指定通道读取当前计数器值时 8253 将 计数器值存入锁存器 从锁存器向外提供当前的计数器值 计数器则 继续作计数操作 计数到 当计数器减 1 为 0 时 通过引脚 OUT 向外输出 到 的脉冲信号 计数初值输入存放在初值寄存器中 计数开始或重装入时被复制 到计数器中 锁存器在非锁存状态 其值随计数器的变化而变化 一旦锁存了 计数器的当前值 直到锁存器值被读取后才能解除锁存状态 5 方式选择控制字 硬件课程设计实验报告 计 10 1 班 阎蕾 12 图 2 3 8253 方式控制字 8253 的初始化编程就是对其工作方式的确定 具体实现就是在 8253 上电后 由 CPU 向 8253 的控制寄存器写入一个控制字 就可以规 定 8253 的工作方式 计数值的长度以及计数所用的数制等 另外根据 要求将计数值写入 8253 的相应通道 8253 的一个方式控制字只决定一个技术通道的工作模式 2 2 1 42 2 1 4 82538253 的通道工作方式的通道工作方式 8253 中各通道可有 6 种可供选择的工作方式 以完成定时 计数 或脉冲发生器等多种功能 在这次设计中我们只用到了方式 2 和方式 3 8253 的这两种工作方式如下 1 方式 2 速率波发生器 工作方式 2 被称作速率波发生器 进入这种工作方式 OUT 输出 高电平 装入计数值 n 后如果 GATE 为高电平 则立即开始计数 OUT 保持为高电平不变 待计数值减到 1 和 0 之间 OUT 将输出宽 度为一个 CLK 周期的负脉冲 计数值为 0 时 自动重新装入计数初 值 n 实现循环计数 OUT 将输出一定频率的负脉冲序列 其脉冲宽 度固定为一个 CLK 周期 重复周期为 CLK 周期的 n 倍 硬件课程设计实验报告 计 10 1 班 阎蕾 13 如果在减 1 计数过程中 GATE 变为无效 输入 0 电平 则暂 停减 1 计数 待 GATE 恢复有效后 从初值 n 开始重新计数 这样 会改变输出脉冲的速率 如果在操作过程中要求改变输出脉冲的速率 CPU 可在任何时候 重新写人新的计数值 它不会影响正在进行的减 1 计数过程 而 是从下一个计数操作用期开始按新的计数值改变输出脉冲的速率 2 方式 3 方波发生器 工作方式 3 被称作方波发生器 任一通道工作在方式 3 只在计 数值 n 为偶数 则可输出重复周期为 n 占空比为 1 1 的方波 进入工作方式 3 OUT 输出低电平 装入计数值后 OUT 立即跳变 为高电平 如果当 GATE 为高电平 则立即开始减 1 计数 OUT 保 持为高电平 若 n 为偶数 则当计数值减到 n 2 时 OUT 跳变为低电平 一直保持到计数值为 0 系统才自动重新置入计数值 n 实现循环计 数 这时 OUT 端输出的周期为 n CLK 周期 占空比为 1 1 的方波序列 若 n 为奇数 则 OUT 端输出周期为 n CLK 周期 占空比为 n 1 2 n 1 2 的近似方波序列 如果在操作过程中 GATE 变为无效 则暂停减 1 计数过程 直到 GATE 再次有效 重新从初值 n 开始减 l 计数 如果要求改变输出方波的速率 则 CPU 可在任何时候重新装入新 的计数初值 n 并从下一个计数操作周期开始改变输出方波的速率 2 2 2 1 52 1 5 读取计数器的当前值读取计数器的当前值 直接读计数器 输出锁存器在非锁存状态会跟随计数器计数的 硬件课程设计实验报告 计 10 1 班 阎蕾 14 变化而变化 直接读计数器是从锁存器得到计数器的当前值 但由于 计数器处于工作状态 读出值不一定能稳定 先锁存再读取 通过方式选择控制字对指定通道 SC1 SC0 的计数值锁入锁存 器 RL1RL0 00 锁存器一旦锁存了当前计数值 就不再随计数器变 化直到被读取 读计数器通道 有锁存器 2 2 2 1 6 1 6 82538253 的级联和地址分配的级联和地址分配 8353 采用级联方式 此实验中使用 8253 的 0 通道和 1 通道以实现 级联 通道 0 的工作在实验中起到的作用是在 OUT0 端输出一个比较合适 的时钟频率 然后用通道 1 进行时间的控制 通道 1 在控制灯闪烁的 时候采用的工作方式是方式 3 这样可以让 8255 的 A 端口检测到输出 端的方波信号 2 2 2 2 2 2 82558255 芯片简介芯片简介 2 2 2 12 2 2 1 82558255 的基本工作原理的基本工作原理 8255 是 Intel 公司生产的可编程输入输出接口芯片 它是具有 3 个 8 位的并行 I O 端口 具有三种工作方式 被广泛地使用于单片机 的并行 I O 端口 工作方式 0 基本输入输出方式 工作方式 1 选通输入输出方式 工作方式 2 双向传送方式 硬件课程设计实验报告 计 10 1 班 阎蕾 15 123456 A B C D 654321 D C B A Title NumberRevisionSize B Date 16 Oct 2002Sheet of File E ddbDrawn By 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PA3 PA2 PA1 PA0 RD CS GND A0 A1 PA7 PA6 PA5 PA4 PA0 PA1 PA2 PA3 PB0 PB1 PB2 PA5 PA6 PA7 PA0 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc PA7 PA6 PB5 PB4 PB3 8255 图 2 4 8255 引脚图 图 2 5 8255 工作方式控制字 D7D6D5D4D3D2D1D0 1 C口 低4位 B口 方式选择 0 1 0 1 0 1 输出 输入 输出 输入 方式0 方式1 B组控制 输入 1 方式选择方式1 方式0 0 0 C口 低4位 输入 输出 输出 A组控制 A口 1 0 0 方式2 1 0 1 X D7D6D5D4D3D2D1D0 1 C口 低4位 B口 方式选择 0 1 0 1 0 1 输出 输入 输出 输入 方式0 方式1 B组控制 输入 1 方式选择方式1 方式0 0 0 C口 低4位 输入 输出 输出 A组控制 A口 1 0 0 方式2 1 0 1 X 硬件课程设计实验报告 计 10 1 班 阎蕾 16 图 2 6 8255 C 口按位置位控制字 2 2 2 2 82558255 的内部结构的内部结构 图 2 7 8255 内部结构 硬件课程设计实验报告 计 10 1 班 阎蕾 17 2 2 2 32 2 2 3 82558255 引脚功能说明引脚功能说明 RESET 复位输入线 当该输入端外于高电平时 所有内部寄存器 包括控制寄存器 均被清除 所有 I O 口均被置成输入方式 PA0 PA7 端口 A 输入输出线 一个 8 位的数据输出锁存器 缓冲 器 一个 8 位的数据输入锁存器 PB0 PB7 端口 B 输入输出线 一个 8 位的 I O 锁存器 一个 8 位的输入输出缓冲器 PC0 PC7 端口 C 输入输出线 一个 8 位的数据输出锁存器 缓冲 器 一个 8 位的数据输入缓冲器 端口 C 可以通过工作方式设定而分 成 2 个 4 位的端口 每个 4 位的端口包含一个 4 位的锁存器 分别与 端口 A 和端口 B 配合使用 可作为控制信号输出或状态信号输入端口 CS 片选信号线 当这个输入引脚为低电平时 表示芯片被选中 允许 8255 与 CPU 进行通讯 RD 读信号线 当这个输入引脚为低电平时 允许 8255 通过数据 总线向 CPU 发送数据或状态信息 即 CPU 从 8255 读取信息或数据 WR 写入信号 当这个输入引脚为低电平时 允许 CPU 将数据或控 制字写 8255 D0 D7 三态双向数据总线 8255 与 CPU 数据传送的通道 当 CPU 执行输入输出指令时 通过它实现 8 位数据的读 写操作 控制字和状 态信息也通过数据总线传送 硬件课程设计实验报告 计 10 1 班 阎蕾 18 2 2 2 42 2 2 4 82558255 的读写控制的读写控制 8255 的读 写控制逻辑电路接受 CPU 发来的控制口号 RD WR RESET 和地址信号 A1 A0 然后根据命令端口 控制信号的要 求 将端口的数据读出选信 CPU 或者将 CPU 送来的数据写入端口 各 端口的工作状态 如表所示 通过用输出指令对 8255A 的控制字寄存器编程 写入设定工作方 式的控制字 可以让 3 个数据口以不同的方式工作 端口 A 可工作于 3 种方式的任一种 端口 B 只能工作于方式 0 和方式 1 端口 C 除了用 于输入输出端口外 还能配合 A 口和 B 口工作 为这两个端口的输入 输出操作提供联系信号 2 2 32 2 3 82798279 芯片简介芯片简介 2 2 2 2 3 13 1 82798279 功能介绍功能介绍 8279 是可编程的键盘 显示接口芯片 它既具有按键处理功能 又具有自动显示功能 在单片机系统中应用很广泛 8279 内部有键 盘 FIFO 先进先出堆栈 传感器 双重功能的 8 8 64B RAM 键盘控制部分可控制 8 8 64 个按键或 8 8 阵列方式的传感器 该 芯片能自动消抖并具有双键锁定保护功能 显示 RAM 容量为 16 8 最大配置可达 16 位 LED 数码显示 硬件课程设计实验报告 计 10 1 班 阎蕾 19 图 2 8 8279 芯片管脚图 2 2 2 2 3 23 2 82798279 内部结构内部结构 硬件课程设计实验报告 计 10 1 班 阎蕾 20 图 2 9 8279 内部结构图 2 2 2 2 3 33 3 82798279 管脚简介管脚简介 1 数据线 DB0 DB7 是双向三态数据总线 在接口电路中与系统数据总线 相连 用以传送 CPU 和 8279 之间的数据和命令 2 地址线 CS 0 选中 8279 当 A0 1 时 为命令字及状态字地址 当 A0 0 时 为片内数据地址 故 8279 芯片占用 2 个端口地址 3 控制线 CLK 8279 的时钟输入线 IRQ 中断请求输出线 高电平有效 RD WR 读 写输入控制线 SL0 SL3 扫描输出线 用来作为扫描键盘和显示的代码输出 或直接输出线 RL0 RL7 回复输入线 它们是键盘或传感器矩阵的信号输入 线 SHIFT 来自外部键盘或传感器矩阵的输入信号 它是 8279 键 盘数据的次高位即 D6 位的状态 该位状态控制键盘上 下档功能 在传感器方式和选通方式中 该引脚无用 CNTL S 控制 选通输入线 高电平有效 键盘方式时 键盘数 硬件课程设计实验报告 计 10 1 班 阎蕾 21 据最高位 D7 的信号输入到该引脚 以扩充键功能 选通方式时 当该引脚信号上升沿到时 把 RL0 RL7 的数据存入 FIFO RAM 中 OUTA0 OUTA3 通常作为显示信号的高 4 位输出线 OUTB0 OUTB3 通常作为显示信号的低 4 位输出线 BD 显示熄灭输出线 低电平有效 当 BD 0 时将显示全熄灭 2 2 2 2 3 43 4 82798279 的工作方式的工作方式 8279 有三种工作方式 键盘方式 显示方式和传感器方式 1 键盘工作方式 8279 在键盘工作方式时 可设置为双键互锁方式和 N 键循回 方式 双键互锁方式 若有两个或多个键同时按下时 不管按键先后 顺序如何 只能识别最后一个被释放的键 并把该键值送入 FIFO RAM 中 N 键循回方式 一次按下任意个键均可被识别 按键值按扫 描次序被送入 FIFO RAM 中 2 显示方式 8279 的显示方式又可分为左端入口和右端入口方式 显示数 据只要写入显示 RAM 则可由显示器显示出来 因此显示数据写入 显示 RAM 的顺序 决定了显示的次序 硬件课程设计实验报告 计 10 1 班 阎蕾 22 左端入口方式即显示位置从显示器最左端 1 位 最高位 开始 以后显示的字符逐个向右顺序排列 右端入口方式即显示位置从显 示器最右端 1 位 最低位 开始 已显示的字符逐个向左移位 但 无论左右入口 后输入的总是显示在最右边 3 传感器方式 传感器方式是把传感器的开关状态送入传感器 RAM 中 当 CPU 对传感器阵列扫描时 一旦发现传感器状态发生变化就发出中断请 求 IRQ 置 1 中断响应后转入中断处理程序 2 2 2 2 3 53 5 82798279 命令功能表命令功能表 表 2 2 8279 命令功能表 硬件课程设计实验报告 计 10 1 班 阎蕾 23 3 3 硬件连接说明与程序流程 硬件连接说明与程序流程 硬件课程设计实验报告 计 10 1 班 阎蕾 24 3 13 1 硬件连接说明硬件连接说明 8253 通道 0 的地址端口为 208H 通道 1 的地址端口为 209H 通道 2 的地址端口为 20AH 8253 的控制端口的地址为 20BH 通道 0 和通道 1 级联 用来得到实验所需的频率 OUT1 与 8255 的 PA0 口连接 8255 A 口地址为 200H B 口地址为 201H 控制口地址为 203H 8255 的 PA0 口接入 8253 的脉冲 B 口用于输出 连接彩灯 8279 芯片的地址为 210H 用于显示彩灯的倒计时 3 23 2 硬件连接图硬件连接图 图 3 1 硬件连接图 4 4 程序代码 程序代码 硬件课程设计实验报告 计 10 1 班 阎蕾 25 4 14 1 程序流程图程序流程图 4 24 2 程序代码与说明程序代码与说明 硬件课程设计实验报告 计 10 1 班 阎蕾 26 Z8279 EQU 212H D8279 EQU 210H CODE SEGMENT ASSUME CS CODE DS DATA DATA SEGMENT A DB 1 DUP B DB 1 DUP C DB 1 DUP COUNT1 DB 0 COUNT2 DB 0 DATA ENDS START MOV DX 20BH MOV AL 00110111B OUT DX AL MOV DX 208H MOV AL 00H OUT DX AL MOV AL 50H OUT DX AL 硬件课程设计实验报告 计 10 1 班 阎蕾 27 MOV DX 20BH MOV AL 01110111B OUT DX AL MOV DX 209H MOV AL 00H OUT DX AL MOV AL 02H OUT DX AL 8253 初始化 MOV DX 203H MOV AL 10010000B OUT DX AL 8255 初始化 L0 MOV A 19H MOV B 14H MOV C 05H L1 MOV DX 201H MOV AL 01111011B 南北红 东西绿 硬件课程设计实验报告 计 10 1 班 阎蕾 28 OUT DX AL MOV CL A CALL SHOW CALL yanshi CALL shoudong DEC A CMP A 05H JNZ L1 PP MOV DX 201H MOV AL 01110111B 南北红 东西黄 OUT DX AL MOV CL A CALL SHOW CALL yanshi CALL shoudong 硬件课程设计实验报告 计 10 1 班 阎蕾 29 DEC A CMP A 00H JNZ PP L4 MOV DX 201H MOV AL 11001111B 南北绿 东西红 OUT DX AL MOV CL B CALL SHOW CALL yanshi CALL shoudong DEC B CMP B 00H JNZ L4 L5 MOV DX 201H MOV AL 10101111B 南北黄 东西红 OUT DX AL 硬件课程设计实验报告 计 10 1 班 阎蕾 30 MOV CL C CALL SHOW CALL yanshi CALL shoudong DEC C CMP C 00H JNZ L5 JMP L0 yanshi PROC MOV COUNT1 0FFH MOV COUNT2 0FFH SECD DEC COUNT2 JNZ SECD DEC COUNT1 JNZ SECD RET yanshi ENDP 硬件课程设计实验报告 计 10 1 班 阎蕾 31 SHOW PROC NEAR MOV DX Z8279 MOV AL 00H OUT DX AL MOV AL 38H OUT DX AL 初始化 8279 MOV DX D8279 MOV AL 00H OUT DX AL OUT DX AL OUT DX AL OUT DX AL OUT DX AL OUT DX AL OUT DX AL OUT DX AL 熄灭 8279 MOV AL CL MOV AH 0 MOV DL 10 DIV DL AL DL AL BH 硬件课程设计实验报告 计 10 1 班 阎蕾 32 MOV BL AH 将余数 即秒的个位 放在 BL 中 MOV BH AL 将商 即秒的十位 放在 BH 中 CALL TRANS 调用 8279 显示秒的个位 MOV BL BH CALL TRANS 调用 8279 显示秒的十位 RET SHOW ENDP TRANS PROC NEAR 数码管显示程序 ONE CMP BL 1 JNZ TWO MOV AL 00000110B TWO CMP BL 2 JNZ TRI MOV AL 01011011B TRI CMP BL 3 JNZ FOR MOV AL 01001111B 硬件课程设计实验报告 计 10 1 班 阎蕾 33 FOR CMP BL 4 JNZ FIV MOV AL 01100110B FIV CMP BL 5 JNZ SIX MOV AL 01101101B SIX CMP BL 6 JNZ SEV MOV AL 01111101B SEV CMP BL 7 JNZ EIT MOV AL 00000111B EIT CMP BL 8 JNZ NIN MOV AL 01111111B NIN CMP BL 9 硬件课程设计实验报告 计 10 1 班 阎蕾 34 JNZ ZRO MOV AL 01101111B ZRO CMP BL 0 JNZ SHW MOV AL 00111111B SHW MOV DX D8279 OUT DX AL RET TRANS ENDP shoudong PROC NEAR 手动开关 MOV DX Z8279 IN AL DX AND AL 0FH CMP AL 00H JE JIESHU MOV AL 40H OUT DX AL MOV DX D8279 IN AL DX 硬件课程设计实验报告 计 10 1 班 阎蕾 35 NHDL CMP AL 02D JNZ NLDH MOV DX 201H 8255B MOV AL 01111011B 南北红东西绿 OUT DX AL CALL HUIFU NLDH CMP AL 10D JNZ HH MOV DX 201H 8255B MOV AL 11001111B 南北绿东西红 OUT DX AL CALL HUIFU HH CMP AL 01D JNZ LL MOV DX 201H 8255B MOV AL 01101111B 红红 硬件课程设计实验报告 计 10 1 班 阎蕾 36 OUT DX AL CALL HUIFU LL CMP AL 09D JNZ YY MOV DX 201H 8255B MOV AL 11011011B 绿绿 OUT DX AL CALL HUIFU YY CMP AL 33D JNZ JIESHU MOV DX 201H 8255B MOV AL 10110111B 黄黄 OUT DX AL CALL HUIFU JIESHU RET shoudong ENDP 硬件课程设计实验报告 计 10 1 班 阎蕾 37 HUIFU PROC NEAR WAITS MOV DX Z8279 IN AL DX AND AL 0FH CMP AL 00H JE WAITS MOV AL 40H OUT DX AL MOV DX D8279 IN AL DX CMP AL 03D JNZ WAITS RET HUIFU ENDP CODE ENDS END START 5 5 问题分析与解决方案 问题分析与解决方案 硬件课程设计实验报告 计 10 1 班 阎蕾 38 在实验过程中遇到过一些问题 也通过查资料或者问老师 同学 得到了解决 在此列举 1 在数码管显示数字时 数字跳转的周期太短 不到一秒 解决办法 重新设计了延时小程序 MOV COUNT1 0FFH MOV COUNT2 0FFH SECD DEC COUNT2 JNZ SECD DEC COUNT1 JNZ SECD RET 2 在设置红黄绿灯的时间时 遇到了麻烦 由于原程序设置的时间太 短 所以需要延长各个灯的时间 解决办法 先通过查阅书籍等 仔细地看了整个程序 并画了程序流 程图 认真地了解了整个代码 然后根据对程序的了解将彩灯的时间 改成了自己满意的时长 6 6 程序测试与分析程序测试与分析 硬件课程设计实验报告 计 10 1 班 阎蕾 39 6 16 1 实验连线图实验连线图 图 6 1 实验连线图 6 26 2 程序测试结果程序测试结果 拿到实验箱 我首先对所要用的芯片做简单的检查 将试验箱连 接电脑 发现没有问题 便继续做实验 然后将试验箱按照上述的硬件连接要求将其连接 并调试程序 设计按照题目的要求顺利地完成了以下各种功能 1 运行程序 小灯泡按照之前设定的规则依次亮灭 并且数码 管显示亮灯的倒计时 2 特殊情况下的键盘控制 也按照之前设定的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论