汇编语言交通灯控制系统设计_第1页
汇编语言交通灯控制系统设计_第2页
汇编语言交通灯控制系统设计_第3页
汇编语言交通灯控制系统设计_第4页
汇编语言交通灯控制系统设计_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

页码 1 交通灯控制系交通灯控制系统统 一 一 设计设计要求要求 1 东西方向车辆放行 60 秒钟 即东西方向的绿灯和南北方向的红灯同时点亮 1 分钟 2 1 分钟后 东西方向的黄灯闪烁 5 秒钟 以警示车辆将切换红绿灯 此时南北 方向仍维持红灯点亮 在南北方向亮红灯期间 在 2 位数码管上显示计数值 每 秒减 1 从 60 减为 0 3 东西方向的黄灯闪烁 5 秒钟后 转为南北方向放行 20 秒钟 即东西方向的红 灯和南北方向的绿灯同时点亮 20 秒钟 4 南北方向放行 20 秒钟后 转为南北方向的黄灯闪烁 5 秒钟 以警示将切换红 绿灯 此时东西方向仍维持红灯点亮 5 南北方向的黄灯闪烁 5 秒钟后 再转为东西方向车辆放行 1 分钟 如此循环重 复 二 二 设计设计目的目的 了解交通灯管理的基本工作原理 熟悉 8259A 中断控制器的工作原理和应用编程 熟悉 8255A 并行接口的各种工作方式和应用 熟悉 8254 计数器 定时器的工作方式及应用编程 掌握利用软硬件相结合定 时的方法 掌握多位 LED 显示问题的解决 三 程序三 程序设计设计流程流程图图 页码 2 主程序流程图 如下图所示 装入计数初值装入计数初值 支路拐走支路拐走 页码 3 四 四 总总体体设计设计和和电电路路图图 芯片芯片选择选择及端口及端口选择选择 1 用实验系统 8255A 实现对信号灯的控制 所用端口自定 2 位数码显示用 8255A 实现控制 2 用实验系统 8254 的计数器 2 定时向实验系统主片 8259A 的 IRQ7 请求中 断 以实现要求的 1 分钟 5 秒钟和 20 秒的定时 实验系统 8254 的计数器 2 的 CLK2 接 OPCLK 频率为 1 19318MHZ GATE2 已接 5V 定时采用软硬件相结 合的方式实现 用实验系统的发光二极管模拟红绿灯 注 8259A 的端口地址为 218H 219H 8255A 的端口地址为 端口 A 200H 端口 B 201H 端口 C 202H 控制端 口 203H 8254 的端口地址为 计数器 0 208H 计数器 1 209H 计数器 2 20aH 控 制寄存器 0 20bH 设计电设计电路路图图 图 2 1 交通灯实时控制系统 8255 原理图 页码 4 图 2 2 中断服务原理图 图 2 3 中断服务电路接线图 页码 5 图 2 4 电路连线图 交通灯程序交通灯程序 本次设计中 选用 8254 的计数器 0 定时向实验系统主片 8259A 的 IRQ0 请 求中断 设置 8254 的计数器 0 每 10ms 请求一次中断 工作于模式 3 8255 的 A 端口控制交通灯 初始化程序初始化程序 DATA SEGMENT LED DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 存放七段代码表 DB 7FH 6FH 77H 7CH 39H 5EH 79H 71H D1 EQU 10H D2 EQU 200H 8255A 端口 A EA EQU 200H 8259 端口地址 EE EQU 203H CONTROL EQU 20bH 8254 端口地址 COUNT0 EQU 208H COUNT1 EQU 209H COUNT2 EQU 20aH 页码 6 Z8259 EQU 222H D8259 EQU 220H LEDMOD EQU 00 左边输入 八位显示外部译码八位显示 LEDFEQ EQU 38H 扫描频率 DATA ENDS CODE SEGMENT ASSUME CS CODE DS DATA CODE SEGMENT ASSUME CS CODE CONT DB 0 CONT1 DB 0 CONT2 DB 0 BKSD DB 0 BKAD DB 0 BKDA DB 0 TEMP DB 0 START MOV AX 0 MOV DS AX MOV AX OFFSET IRQ0 ADD AX 2000H MOV SI 0FH 4 MOV SI AX MOV AX 0 MOV SI 2 AX IN AL 218H AND AL 7FH OUT 219H AL CLI MOV AL 80H 初始化 8255 OUT EE AL MOV AL 00 OUT EA AL MOV AL 0f0H OUT EA AL MOV DX 218H 8259 初始化 MOV AL 00010010b OUT DX AL MOV AL 08H 页码 7 MOV DX 219H OUT DX AL MOV DX 203H 设置为全输出 MOV AL 80H OUT DX AL MOV DX 200H MOV AL 0ffh OUT DX AL 清 LED MOV DX 200H 全红 MOV AL 0F0H OUT DX AL MOV AL 00110110b 初始化 8254 OUT CONTROL AL MOV AX 2500 MOV DX COUNT0 OUT DX AL MOV AL AH OUT COUNT0 AL MOV AX DATA MOV DS AX 中断服务程序 A1 STI HLT JMP A1 IRQ0 写数码管程序 暂缺 JMP COMPARE COMPARE CMP DL 0 JZ STATE0 CMP DL 1 JZ STATE1 CMP DL 2 JZ STATE2 CMP DL 3 JZ STATE3 STATE0 状态 0 东西红南北绿 mov al 01011010b 页码 8 out D2 al DEC SI JNZ CHANGE1 DEC DH MOV SI 100 CHANGE1 DEC CX CMP CX 0 JNZ M0 MOV CX 500 STATE1 DEC DI 状态 1 东西方向黄灯闪烁 南北绿灯 CMP DI 0 JNZ SHINE1 MOV AL 00001010b 东西灭 南北绿 OUT D2 AL MOV DI 50 JMP CHANGE SHINE1 MOV AL 11111010B 东西黄 南北绿 OUT D2 AL CHANGE DEC SI JNZ CHANGE2 DEC DI MOV SI 100 CHANGE2 DEC CX CMP CX 0 JNZ M1 MOV CX 2000 MOV DH 25 STATE2 MOV AL 10100101b 状态 2 东西绿灯 南北红灯 OUT D2 AL DEC SI JNZ CHANGE3 DEC DH MOV SI 100 CHANGE3 DEC CX CMP CX 0 JNZ M2 MOV CX 500 STATE3 DEC DI 状态 3 东西绿灯 南北黄灯闪烁 CMP DI 0 页码 9 JNZ SHINE2 MOV AL 10100000B 东西绿灯 南北灭 OUT D2 AL MOV DI 50 JMP SOURCE SHINE2 MOV AL 10101111B 东西绿 南北黄 OUT D2 AL SOURCE DEC SI JNZ CHANGE4 DEC DH MOV SI 100 CHANGE4 DEC CX CMP CX 0 JNZ M3 MOV CX 6000 MOV DH 65 M0 MOV DL 0 下次进入状态 0 JMP EXIT M1 MOV DL 1 下次进入状态 1 JMP EXIT M2 MOV DL 2 下次进入状态 2 JMP EXIT M3 MOV DL 3 下次进入状态 3 EXIT MOV AL 20H OUT 218H AL IRET CODE ENDS END START 程序运行程序运行结结果果 1 即东西方向的绿灯和南北方向的红灯同时点亮 1 分钟 2 1 分钟后 东西方向的黄灯闪烁 5 秒钟 此时南北方向仍维持红灯点亮 3 东西方向的黄灯闪烁 5 秒钟后 转为东西方向的红灯和南北方向的绿灯同时 页码 10 点亮 20 秒钟 4 20 秒钟后 转为南北方向的黄灯闪烁 5 秒钟 此时东西方向仍维持红灯点亮 5 南北方向的黄灯闪烁 5 秒钟后 东西方向的绿灯和南北方向的红灯同时点亮 1 分钟 如此循环重复 五 五 结结果果测试测试分析分析 1 状态灯显示测试 当电路连接完毕后 将写好的测试程序刷写到芯片内 K1 和 K2 分别给端口送 高电平和低电平 通电即可检测 2 数码管的测试 将串口的和电路板上的接口连接 将写好的测试程序刷写到芯片内 开电源即可 测试 六 六 总结总结 1 软件延时与定时器计时 软件延时 设计简单 使用方便 但是无法进行精确计时 无法在实际应用中进 行使用 本次设计采用了 定时器 0 进行计时 每 10ms 产生一个脉冲信号 可以 准确的计时并方便 8 段数码管进行显示 2 中断使用的作用 使用中断比较麻烦 在试验中需要两次加载初始化程序和中断服务程序 并 且需要手工指定中断服务地址和中断向量号 但是使用中断可以进行多样化设计 页码 11 强化程序功能与执行效率 在本设计中程序每 10MS 请求一次中断 实现精确定时与数码管显示刷新 3 心得体会 本次课程设计的过程是艰辛的 不过收获却是很大的 在设计过程中 会出现了一些问题 但都是常见的小问题 如 代码中双引号 的使用并不是在英语书写状态下 输入字母出错等 在调试时出现异常 不过这 些都是经常性错误 经过调试修改都一一解决 程序顺利完成 并实现了其功能 综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识 对 已有知识有了更进一步的理解和认识 在此 由于自身能力有限 在课程设计中 碰到了很多的问题 我通过查阅相关书籍 资料以及和周围同学交流 由于使用的是单片机作为核心的控制元件 使得电路的可靠性比较高 功能 也比较强大 而且可以随时的更新系统 进行不同状态的组合 但是在我们设计 和调试的过程中 也发现了一些问题 譬如红灯和绿灯的切换还不够迅速 红绿

温馨提示

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

评论

0/150

提交评论