模拟交通灯控制系统设计_第1页
模拟交通灯控制系统设计_第2页
模拟交通灯控制系统设计_第3页
模拟交通灯控制系统设计_第4页
模拟交通灯控制系统设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

贵州师范学院 电子课程设计报告书 班级 11 级 1 班 学生姓名 王旭东 学号 专业 电子信息科学与技术 院系 物电学院 2014 年 6 月 20 日 I 摘摘 要要 随着城市人口的快速增长和机动车数量的大量增加 城市交通灯作为缓解 交通压力 提高道路通行效率的重要手段 其作用越来越重要 因此 如何改 进交通灯的设计 使其更好的适应城市交通的发展也成为一个重要课题 红绿 灯控制系统是利用 8253A 定时 计数器芯片的定时功能 向 8259A 中断控制器芯 片发出定时中断请求 驱动 8255A 可编程并行接口芯片改变路口的 LED 灯的亮 灭 系统采用 DVCC 598JH 微机原理与接口技术实验箱作为测试与运行的平台 8086 汇编语言作为编程语言 并用 MASM5 0 作为汇编语言开发环境 关键词 红绿灯控制系统 8253A 定时器 8259A 中断控制器 8255A 可编程并行 接口 DVCC 598JH 目 录 摘 要 201 1 十字路口基本情况分析 201 2 交通灯状态转换分析 4 3 紧急通行情况分析 5 4 硬件功能分析 6 4 1 8253A 定时 计数器芯片 6 4 2 8259A 中断控制器芯片 7 4 3 8255A 可编程并行接口芯片 9 5 系统设计 10 5 1 硬件设计 10 北京理工大学珠海学院计算机学院课程设计 II 5 1 1 电路分析 10 5 1 2 电路连接设计 10 5 2 软件设计 12 5 2 1 程序总体设计 12 5 2 2 程序流程设计 13 5 2 3 重要代码分析 15 6 系统实现 19 6 1 软件开发与运行环境 10 6 2 系统硬件环境 20 6 3 系统运行步骤 20 6 4 系统测试结果 20 参考文献 21 心得体会 22 1 1 十字路口基本情况分析十字路口基本情况分析 设有一个十字路口 1 3 为东西方向 2 4 为南北方向 1 3 路口的绿 灯亮 2 4 路口的红灯亮 1 3 路口方向通车 延时一段时间后 1 3 路口 的绿灯熄灭 而 1 3 路口的黄灯开始闪烁 闪烁若干次以后 1 3 路口红灯 亮 而同时 2 4 路口的绿灯亮 2 4 路口方向通车 延时一段时间后 2 4 路口的绿灯熄灭 而黄灯开始闪烁 闪烁若干次以后 再切换到 1 3 路口方向 之后重复上述过程 北京理工大学珠海学院计算机学院课程设计 III 2 2 交通灯状态转换分析交通灯状态转换分析 合理的设置每个路口 每个方向的交通灯的通行时间 对车辆能否及时疏 散 有着决定性的作用 状态 1 的时候 1 3 路口的绿灯熄灭 1 3 路口的黄灯开始亮 当通行 时间剩下 5 秒结束时 LED 会闪烁 而同时 2 4 路口的红灯亮 状态 2 的时候 1 3 路口红灯亮 而同时 2 4 路口的绿灯亮 2 4 路 口方向通车 状态 3 的时候 1 3 路口红灯亮 而同时 2 4 路口的黄灯亮 状态 4 的时候 1 3 路口的绿灯亮 2 4 路口的红灯亮 1 3 路口方向 通车 整个状态转换的过程见表 2 1 表 2 1 路口四个状态和相互转换过程 每个路口灯的点亮情况 状态 路口 1路口 2路口 3路口 4 通行时 间 状态 1 ZT1 黄 红 黄 红 5s 状态 2 ZT2 红 绿 红 绿 15s 状态 3 ZT3 红 黄 红 黄 5s 状态 4 ZT4 绿红绿红 15s 完成四个状态的一次循环需要 40 秒 红灯亮 20 秒 绿灯亮 15 秒 黄 灯亮 5 秒 完成了在适当的时间限度内 有效的疏散较大的通行量的目的 3 3 紧急通行情况分析紧急通行情况分析 手动拨动单脉冲一次 则产生一个优先级高一级的中断 程序转而执行此中 断处理程序 处理完后返回继续执行低级中断 整个执行过程见图 3 1 循环值入栈 红灯全亮 北京理工大学珠海学院计算机学院课程设计 IV 图 3 1 紧急中断程序 4 4 硬件功能分析硬件功能分析 4 14 1 8253A8253A 定时定时 计数器芯片计数器芯片 8253A 定时 计数器具有定时 计数双功能 它具有三个相同且相互独立的 16 位减法计数器 分别称为计数器 0 计数器 1 和计数器 2 每个计数器计数 频率为 0 2MHZ 其内部数据总线缓冲器为双向三态 故可直接连在系统数据总线上 通过 CPU 写入计数初值 也可由 CPU 读出计数当前值 读写控制逻辑 当选中该芯 片时 根据读写命令和送来的地址信息控制整个芯片工作 其工作方式通过控 制字确定 控制字寄存器用于接收数据总线缓冲器的信息 当写入控制字时 控制计数器的工作方式 当写入数据时则装入计数初值 控制寄存器为 8 位 只能写入不能读出 8253A 内部结构见图 4 1 当 8253A 执行计数功能时 计数器装入初值后 当 GATE 为高电平时 可用 外部事件作为 CLK 脉冲对计数值进行减 1 计数 每来一个脉冲减 1 当计数值 减为 0 时 由 OUT 端输出一个标志信号 当 8253A 执行定时功能时 计数器装入初值后 当 GATE 为高电平时 由 CLK 脉冲触发开始自动计数 当计数到零时 发计数结束定时信号 8253A可以工作在方式0到方式5 常用的有方式2频率发生器方式和方式3方 波发生器方式 在方式2时 当初值装入后 OUT变为高 计数结束 OUT变为低 该方式下如果计数未结束 但GATE为低时 立即停止计数 将OUT变为高 当 GATE再变高时 便启动一次新的计数周期 在方式3时 当装入初值后 在GATE 上升沿启动计数 OUT输出高电平 当计数完成一半时 OUT输出低电平 在本系统中 8253A工作于方式3方波发生器方式 主程序 是否中断 继续执行主程序 结束中断服务程序 循环值出栈 继续处理未完成的 低级中断 北京理工大学珠海学院计算机学院课程设计 V 计数器 0 CLK0 GATE0 OUT0 计数器 1 CLK1 GATE1 OUT1 计数器 2 CLK2 GATE2 OUT2 数据总线 缓冲器 读 写 逻辑 控制字 寄存器 D0 D7 RD WR A0 A1 CS 图 4 1 8253A内部结构图 4 24 2 8259A8259A 中断控制器芯片中断控制器芯片 8259A 是专为控制优先级中断而设计的芯片 它将中断源按优先级排队 辨认中断源和提供中断向量的电路集成于一体 只要用软件对它进行编程 就 可以管理 8 级中断 8259A的内部结构见图4 2 它由中断请求寄存器 IRR 优先级分析器 中断 服务寄存器 ISR 中断屏蔽寄存器 IMR 数据总线缓冲器 读写控制电路 级联缓冲器和比较器组成 控制逻辑 服务 寄存 器 优 先 级 分 析 器 中断 请求 寄存 器 中断屏蔽寄存器 IMR 内部总线 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 数据总 线控制 器 读写 电路 级联缓 冲器 比 较器 CAS0 CAS1 CAS2 D0 D7 RD WR A0 CS SP EN INT INTA 图 4 2 8259A的内部结构 北京理工大学珠海学院计算机学院课程设计 VI 对 8259A 编程和初始化的时候 首先要写初始化命令字 ICW1 ICW4 写 ICW1 以确定中断请求信号类型 清除中断屏蔽寄存器 进行中断优先级 排队和确定系统是用单片还是多片 写 ICW2 用来定义中断向量的高五位类型码 ICW3 可以定义主片 8259A 中断请求线上 IR0 IR7 有无级联的 8259A 从片 写 ICW4 用来定义 8259A 工作时用 8085 模式还是 8088 模式 以及中断服务 寄存器复位方式等 初始化命令字写完以后 要写 8259A 的控制命令字 它包括 OCW1 OCW3 写 OCW1 可以设置或清除对中断源的屏蔽 写 OCW2 设置优先级是否进行循环 循环的方式和中断结束的方式 8259A 复位时自动设置 IR0 优先权最高 IR7 优先权最低 写 OCW3 用来设置查询方式和特殊屏蔽方式 并可以读取 8259A 中断寄存器 的当前状态 在本系统中 使用 8259A 的循环等待中断工作方式 4 34 3 8255A8255A 可编程并行接口芯片可编程并行接口芯片 8255A是一种可编程的芯片 它采用双列直插封装 用 5V电源供电 内部有3 个8位的I 0端口 A口 B口和C口 这三个端口也可以分为各有12位的两组 A 组和B组 A组包含A口8位和C口的高四位 B组包含B口8位和C口的低四位 A组 控制和B组控制用于实现方式选择操作 读写控制逻辑用于控制芯片内部寄存器 的数据和控制字经数据总线缓冲器送入各组接口寄存器中 由于8255A数据总线 缓冲器是双向三态8位驱动器 因此可以直接和8088系统数据总线相连 8255A 的内部逻辑结构见图4 3 北京理工大学珠海学院计算机学院课程设计 VII A 组端口 A 组端口 C 高 4 位 A 组端口 C 低 4 位 B 组端口 A 组控制 B 组控制 数据总 线缓冲 器 读写 控制 逻辑 双向 数据 总线 D0 D7 I 0 PA7 PA0 I 0 PC7 PC0 I 0 PC0 PC20 I 0 PB7 PB0 CS CPU 接口 内部 逻辑 外设接口 RD WR A1 A0 RES ET 图 4 3 8255A 的内部结构 8255A 有三种工作方式 方式 0 方式 1 和方式 2 它通过对控制寄存器写 入不同的方式选择控制字来决定其三种不同的工作方式 方式 0 是基本输入输出方式 该方式下的 A 口 8 位和 B 口 8 位可以由输入 的控制字决定为输入或输出 C 口分成高 4 位 PC4 PC7 和低 4 位 PC0 PC3 两组 也有控制字决定其输入或输出 需要注意的是 该方式下 只能将 C 口其中一组的四位全部置为输入或输出 方式 1 选通输入输出方式 又叫单向输入输出方式 它分为 A B 两组 A 组由数据口 A 和控制口 C 的高 4 位组成 B 组由数据口 B 和控制口 C 的低 4 位 组成 数据口的输入输出都是锁存的 与方式 0 不同 由控制字来决定它是作 为输入还是输出 C 口的相应位用于寄存数据传送中所需的状态信号和控制信 息 方式 2 为双向输入输出方式 本方式只有 A 组可以使用 此时 A 口为输入 输出双向口 C 口中的 5 位 PC3 PC7 作为 A 口的控制位 在本系统中 8255A的三个端口均工作于方式0 全部为输出口 北京理工大学珠海学院计算机学院课程设计 VIII 5 5 系统设计系统设计 5 15 1 硬件设计硬件设计 5 1 15 1 1 电路分析电路分析 本系统要实现的功能是模拟十字路口红绿灯的工作状况 按照预先设定并 优化的交通灯规则 控制 LED 指示灯的亮灭 同时在实验箱的数码管显示屏上 显示剩余的时间 当时间递减到 0 的时候 改变 LED 灯的状态 并刷新显示屏 显示的时间 为了实现以上功能需求 本系统需要 12 个 LED 指示灯 来分别代表 1 3 方向 东西 2 4 方向 南北 两个双位的数码管显示屏 用来显示 1 3 路口和 2 4 路口剩余的时间 为了实时地更新数码管显示屏上的数字 需要使用 8255A 可编程芯片来即 时地改变显示屏每个笔划的电平高低 从而准确地将需要显示的数字显示在数 码管显示屏上 由于交通灯需要按秒进行计数 所以需要一个均匀地时钟发生器 8253A 芯片是个功能丰富 使用简单的定时 计数器 它可以根据需要设置不同的显示 初值 从而产生所需频率的时钟脉冲 为系统提供计时和驱动其他事件的发生 8259A 中断控制器芯片可以在收到 8253A 发出的时钟脉冲时 产生定时的中断 在中断服务程序中 更新显示缓冲区 并调用 8255A 芯片来执行相关程序 从 而更新 LED 灯和数码管显示屏 本系统使用集成的电路和实验环境 以方便进行电路的连接和测试 同时 减少由于电路的复杂性而产生的错误 5 1 25 1 2 电路连接设计电路连接设计 本系统所使用到的硬件包括 8253A 芯片 8259A 芯片 8255A 芯片 LED 指 示灯和数码管显示屏 在电路连接的时候 将 8255A 芯片的 PC 口的 PC5 PC4 接红灯灯 PC3 PC2 接绿灯 PC1 PC0 接黄灯 通过改变 8255A 的 PC 口的值来实时地控 制每个 LED 灯的亮灭 从而改变十字路口的交通状态 将 8253A 的 CLK0 插孔连接至 1MHZ 的分频输出插孔 T4 分频输出插孔所输 出的频率是将系统的主频分解为一定的频率 以供其他硬件或者软件使用 北京理工大学珠海学院计算机学院课程设计 IX 8253A 从分频插孔得到 1MHZ 的固定频率 再根据芯片内部设定的计数初值 从 而产生需要频率的时钟脉冲 由 OUT0 口输出 供其他芯片使用 在这里 OUT0 接 CLK2 将 8253A 的 OUT2 插孔连接至 8259A 的 IRQ3 插孔上 8259A 的 IRQ3 中断口 每隔固定的时间便会收到 8253A 发送过来的时钟脉冲 作为中断源来执行中断 服务程序 在中断服务程序中 完成更新数码管显示值和改变交通灯状态的功 能 硬件的连接见图5 1和图5 2 D0 T0OUT D1 GATE0 D2 T0CLK D3 GATE2 D4 T2OUT D5 T2CLK D6 D7 8253A OUT1 CS RD WR GATE2 A0 CLK1 A1 D0 D1 D2 D3 D4 D5 D6 D7 VCC TCLK1 T0OUT VCC T0CLK CK VCC UB31 8253 TOUT1 CS3 IOR IOW ADD0 ADD1 1MHZ IR0 D0 IR1 D1 IR2 D2 IR3 D3 IR4 D4 IR5 8259A D5 IR6 D6 IR7 D7 A0 SP EN WR RD CS INT INTA ADD0 IOW IOR INTR INTA CS VCC 图 5 1 系统电路图 8253A和8259A的连接图 RD PB0 PB1 WR PB2 A0 PB3 A1 PB4 RESET PB5 CS PB6 PB7 8255A PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 VCC Y7 L3 控制绿灯 L6 L9 L12 L1 控制红灯 L4 L7 L10 L2 控制黄灯 L5 L8 L11 CS 8255 图 5 2 系统电路图 8255A和LED灯的连接图 北京理工大学珠海学院计算机学院课程设计 X 5 25 2 软件设计软件设计 5 2 15 2 1 程序总体设计程序总体设计 本系统采用 自上而下总体规划 自下而上应用开发 的策略进行总体设 计和开发 先根据其功能需要 设定需要的功能模块 确定需要编写的子程序 从而使程序结构清晰 便于阅读和调试 加快了系统完成的速度 结构化的程 序设计方法很适合用来开发汇编语言程序 因为汇编语言的特性决定了其无法 使用面向对象的程序开发方法 使用瀑布程序开发模型 从开始的时候把系统 的需求分析透彻 对系统的功能和各个模块进行清晰的规划 从而缩短系统开 发所用的时间 为了完成系统的功能 系统的程序部分应包含以下几个模块 见图 5 3 初始化模块用来初始化各个芯片 分为以下几个步骤 1 初始化数据 T 1 为 1 3 方向 东西 时间显示 如 5 秒 T 2 为 2 4 方向 南北 的时间显示 初值可同设为 5 秒 2 初始化8255A的工作方式 使A B C三个端口均工作于方式0 且为 输出口 DVCC实验台8255口地址 FF28H FF2BH 3 初始化8253A芯片 选用方波发生器方式 并设定其使用通道0和2进 行工作 DVCC实验台8253口地址 0040 0043H 4 初始化8259A 设定其工作方式为单片 边沿触发 要写ICW4 循环 等待中断方式 DVCC实验台8259口地址 0060 0061H 设置中断向量表 写2号 3号中断向量 INTREEUP2 INTREEUP3 中断处理模块 1 INTREEUP3 是主要的中断服务程序 8253A 每发来一次时钟脉冲便产 生一次中断 两个路口所亮的灯对应的显示数值减一 并输出完成显示数 值的更新使时间缓冲区中的时间减 1 所以数码管显示屏上的数字才能够 不断的减少 然后判断其数值是否减到 0 若 0 则进行 LED 灯状态的切 换 2 其中INTREEUP2是增加行人手动按钮 实现可手动干预的 交通事故 步行可及时通行的 交通灯自动控制系统 有手动干预 按钮按下 时 交通灯立即处于该状态 两个方向均红灯亮 以便让行人及时通过 10秒后 交通恢复到人工干预前状态 继续按 正常状态循环切换 北京理工大学珠海学院计算机学院课程设计 XI 显示模块 DISP 使用8255A将显示缓冲区的字符逐位显示在数码管显示屏上 在中断请求没有到来的时候 根据交通灯所处的状态 点亮相应的LED灯 有中 断请求时 调用相应的中断服务程序 初始化模 块 显示模块 DISP 中断处理程序 INTREEUP3 交通灯控制 系统 应急中断处理程序 INTREEUP2 图 5 3 系统模块图 5 2 25 2 2 程序流程设计程序流程设计 程序运行的流程图见图 5 4 中断应急流程图见 5 5 开始运行的时候 初始化程序 给初始显示区和电平错误显示区赋初值 显示相应的字符 定义数值对应的显示字符 便于转换程序取到时间数值对应 的字符 接着对 8253A 8255A 和 8259A 进行初始化 定义 8253A 使用通道 0 和 2 工作于方式 3 其计数初值为 3C50 每隔 20ms 向 8259A 发出一个时钟脉冲 8255A 的 A B C 三个端口均工作于输出方式 8259A 工作于循环等待中断方式 进入显示程序 DISP 使用 8255A 将显示缓冲区的字符逐位显示在数码管 显示屏上 在中断请求没有到来的时候 根据交通灯所处的状态 点亮相应的 LED 灯 当有中断的时候 则转到相应的中断服务程序 本系统主要为 INTREEUP3 程序 8253A 每发来一次时钟脉冲便产生一次中断 INTREEUP3 程序首先关闭中 断 两个路口所亮的灯对应的显示数值减一 并输出以完成显示数值的更新使 北京理工大学珠海学院计算机学院课程设计 XII 时间缓冲区中的时间减 1 所以数码管显示屏上的数字才能够不断的减少 然 后判断其数值是否减到 0 若 0 则进行 LED 灯状态的切换 最后打开中断 并 中断返回 图 5 4 主程序框图 图 5 5 中断程序框图 5 2 35 2 3 重要代码分析重要代码分析 1 中断服务程序 INTREEUP3 是本系统的程序最核心的子程序 它用来计 算收到 8353A 发来的中断 8253A 每发来一次时钟脉冲便产生一次中断 两个 路口所亮的灯对应的显示数值减一 并输出完成显示数值的更新使时间缓冲区 中的时间减 1 所以数码管显示屏上的数字才能够不断的减少 然后判断其数 值是否减到 0 若 0 则进行 LED 灯状态的切换 以下是该程序的代码分析 并注有详细的功能说明 中断服务程序 INTREEUP3 CLI 处理中断时先关中断 push ax 保存堆栈 中断入口 保护现场 四个方向的红灯亮 30 秒 输出中断结束命令 中断返回 恢复现场 开始 初始化 设置中断控制 器工作方式 中断允许 状态循环切换 显示数字 北京理工大学珠海学院计算机学院课程设计 XIII push bx push dx STI 保存现场后开中断以可以实现中断嵌套 1 3 方向 东西 DEC T 1 对当前数值减一 MOV AL T 1 CMP AL 00H 判断当前数值是否减到 0 JE CHANGE1 若 当前数值为 0 则跳到 CHANGE1 切换状态 JMP RIGHT 若 当前数值不为 0 则跳到 2 4 方向 南北 CHANGE1 MOV AL C 读入并口状态 TEST AL 02H 测试当前并口状态 JNZ RED1 TEST AL 08H JNZ YELLOW1 TEST AL 20H JNZ GREEN1 RED1 MOV DX IOC 1 3 方向 东西 亮红灯 OR AL 20H AND AL 35H OUT DX AL MOV C AL 保存 c 口状态 MOV T 1 14H 对新状态赋显示初值 JMP RIGHT YELLOW1 MOV DX IOC 1 3 方向 东西 亮黄灯 OR AL 02H AND AL 17H OUT DX AL MOV C AL 保存 c 口状态 MOV T 1 05H 对新状态赋显示初值 JMP RIGHT GREEN1 MOV DX IOC 1 3 方向 东西 绿灯 OR AL 08H AND AL 1DH OUT DX AL MOV C AL 保存 c 口状态 MOV T 1 0fH 对新状态赋显示初值 北京理工大学珠海学院计算机学院课程设计 XIV 右边 RIGHT DEC T 2 MOV AL T 2 CMP AL 00H JE CHANGE2 JMP OUTPUT CHANGE2 MOV AL C 读入 c 口状态 TEST AL 01H JNZ RED2 TEST AL 04H JNZ YELLOW2 CMP AL 18H 应急状态返回时 2 4 方向从新跳到红灯 JZ RED2 同时 1 3 方向为绿灯 TEST AL 10H JNZ GREEN2 RED2 MOV DX IOC OR AL 10H AND AL 3AH OUT DX AL MOV C AL 保存 c 口状态 MOV T 2 14H JMP OUTPUT YELLOW2 MOV DX IOC OR AL 01H AND AL 2BH OUT DX AL MOV C AL 保存 c 口状态 MOV T 2 05H JMP OUTPUT GREEN2 MOV DX IOC OR AL 04H AND AL 2EH OUT DX AL MOV C AL 保存 c 口状态 MOV T 2 0fH 北京理工大学珠海学院计算机学院课程设计 XV 输出数字 OUTPUT MOV AL T 1 MOV AH T 1 AND AL 01H MOV CL 4 SHR AH CL MOV AL T 2 MOV AH T 2 AND AL 01H MOV CL 4 SHR AH CL 计数器从新赋初值 MOV AL 36H OUT 43H AL MOV AL 50H OUT 40H AL MOV AL B OUT 40H AL MOV AL B 计数器 2 OUT 43H AL MOV AL 02H OUT 42H AL MOV AL 00H OUT 42H AL MOV AL T 1 CMP AL 03H JA RIGHTTEST JMP YLEDSTA RIGHTTEST MOV AL T 2 CMP AL 03H JA RETBCAK 北京理工大学珠海学院计算机学院课程设计 XVI YLEDSTA MOV AL C AND AL 03H JNZ YLEDFLASH JMP RETBCAK 时间小于等于 3 时 LED 灯 闪烁 YLEDFLASH PUSH CX PUSH DX MOV CX 0AH 闪烁 3 次 MOV AL C 读入 c 口状态 AND AL B 灯灭 MOV DX IOC OUT DX AL CALL DELAY 短延时 MOV AL C 灯亮 OUT DX AL CALL DELAY 短延时 LOOP YLEDFLASH 循环 POP DX POP CX JMP RETBCAK 短延时 DELAY CALL DELAY2 RET DELAY2 PUSH CX MOV CX 6A45H DELA1 LOOP DELA1 POP CX RET RETBCAK 北京理工大学珠海学院计算机学院课程设计 XVII MOV AL 20H 写 ocw2 然后返回 MOV DX 0060h OUT DX AL CLI pop dx pop bx pop ax STI IRET 中断返回 6 6 系统实现系统实现 6 16 1 软件开发与运行环境软件开发与运行环境 本系统的代码使用 8086 汇编语言编写 所以代码编写环境可以使用任何文 本编辑器 如系统自带的记事本 DOS 下的编辑工具 EDIT 和文本编辑工具 UltraEdit 等 本系统使用了 DVCC 598JH 实验箱附带的 DV88 联机软件 它可以读取其 他编辑软件生成的 MASM 格式的汇编语言文件 ASM 也可以作为汇编代码的 编辑 测试 运行环境 在显示代码的时候 可以把常用的汇编指令显示为蓝 色 数值显示为红色 注释显示为绿色 从而使论文清晰易读 并容易发现代 码中的错误 DV88 联机软件同样可以作为系统的运行环境 系统运行的时候需要将 ASM 源程序编译产生的 OBJ 文件传送到实验箱 由实验箱上的处理器和各个芯片负 责执行 6 26 2 系统硬件环境系统硬件环境 交通灯控制系统采用的 DVCC 598JH 通用微机原理及接口实验系统 集成 了 8253A 计数 定时器芯片 8255A 可编程并行接口芯片和 8259A 中断控制器芯 片 并把大部分的引脚进行了封装 方便直接进行使用 并设有 12 个 LED 显示 灯 系统分频器可以产生特定频率的时钟脉冲 固定的导线接口 方便使用导 线把各芯片进行连接 并设有键盘 可以随时控制程序的运行 方便进行调试 北京理工大学珠海学院计算机学院课程设计 XVIII 实验箱使用串行口连接线与 PC 机的串口相连 然后使用 DV88 联机软件与 实验箱进行连接并传送运行的程序 6 36 3 系统运行步骤系统运行步骤 系统的代码编写完毕的时候 便可以进行程序的联机调试了 将实验箱的电源线连接好 使用串口通信线将实验箱上的串口与 PC 机上的 串口相连 将各个芯片和 LED 灯按照硬件连接设计图上的图示进行连接 打开实验箱的电源 数码管显示屏上显示 P 提示实验箱初始化成功 在 PC 机上打开 DV88 联机软件 调用编辑好的程序代码 首先进行编译 系统会自动调用 MASM 程序对代码进行编译 若没有提示错误 便可以点击连接 按钮 调用 LINK 程序把编译生成的 OBJ 文件进行连接 生成 EXE 文件 再点进 调试按钮 把生成的可执行文件传送到实验箱 进行调试状态 此时屏幕会显 示实验箱各个寄存器的值 最后点击连续运行按钮 实验箱上的数码显示管和 LED 灯便会按照设计的要求进行工作 在运行的过程中可以随时按实验箱上的 RESET 键 中断程序的执行 以便 进行代码的修改或者结束系统的运行 6 46 4 系统测试结果系统测试结果 按照表 2 1 中交通灯四个状态所对应的秒数 在程序中为各个状态子程序 设定相应的时间初值 测试运行的结果如下 开始运行时 系统在状态一下工作 两个显示屏显示剩余时间为 5 秒 并 不

温馨提示

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

评论

0/150

提交评论