1、 本科生课程实习本科生课程实习 交通灯控制器设计交通灯控制器设计 课程名称 微型计算机原理及接口技术 学生姓名 学生学号 所在专业 计算机科学与技术 所在班级 日期 2011/12/23 指导教师 职称 成绩 1 目录 交通灯控制器设计交通灯控制器设计 2 1 1 需求分析需求分析 . 3 1.1 需求说明. 3 1.2 设计内容. 3 1.3 设计平台. 3 2 总体设计总体设计 . 3 2.1 芯片选择. 3 2.2 设计思想. 3 2.3 线路图设计 . 4 2.4 流程图设计 . 4 3 详细设计详细设计 . 5 3.1 设计源程序 . 5 4 调试与运行调试与运行 . 7 5 设计结
2、果设计结果 . 7 6 设计分析总结与体会设计分析总结与体会 7 7 参考文献参考文献 . 8 8 附件附件. 8 2 交通灯控制器设计交通灯控制器设计 摘要:摘要: 交通灯用于给互相冲突的交通流分配有效的通行权,以提高道路 交通安全和道路容量。它具有固定的“红灯绿灯”转换间隔,并自 动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯 和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制显示中, 如东西、南北两方向各 30 秒,最后还有 3 到 5 秒的闪烁缓冲时间。 关键字:关键字:计算机接口 汇编语言 交通灯控制 8259 8253 8255 3 1 1 需求分析需求分析 1.
3、1 需求说明 十字路口的交通灯管理系统,通行时间(或禁止时间)30 秒,准备时间 3 秒,在准备时间里黄灯闪烁 3 次,闪烁频率为 0.5 秒,周而复始。用 LED 数码 管倒计时显示时间。 本次课程设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间 分别计时,可随意进行更改双向的通行时间。 1.2 设计内容 十字路口 1、正常情况下,两路口轮流放行,且以 2 位 8 段数码管显示剩余时间; 2、夜间,两路口均为黄灯闪烁,均可放行。 1.3 设计平台 TDN86/51 或 TDN86/88 教学实验设备,导线若干。 2 2 总体设计总体设计 2.1 芯片选择 1用实验系统 8255A
4、实现对信号灯的控制;2 位数码显 示用 8255A 实现控 制。 2. 用实验系统 8235 的计数器 2 定时向实验系统主片 8259A 的 IRQ7 请求中 断, 以实现要求的 30 秒、 3 秒钟定时。 实验系统 8235 的计数器 2 的 CLK2 接 OPCLK,频率为 1.19318MHZ;GATE2 已接 +5V; 定时采用软硬件相结 合的方式实现。 3. 用实验系统的发光二极管模拟红绿灯。 注:8259A 的端口地址为:20H、21H 8255A 的端口地址为:端口 A-60H、端口 B-61H、端口 C-62H、控制端口-63H 8253 的端口地址为:计数器 0-40H、计
5、数器 1-41H、计数器 2-42H、控制寄存 0-43H。 2.2 设计思想 设计数器 2 的计数初值为 59520, 由于 CLK2 接脉冲信号, 频率为 1.193MHZ, 所以每 50ms 中断一次。利用 CX 对不同的状态时间计数,用来实现计数器 2 对 1 秒,3 秒钟定时。中断子程序分为数码显示刷新部分和红绿黄灯,各种状态切换 部分。 每 20 次中断即刷新 LED 显示。 交通灯由 8255 的 C 端口输出的数字量控制。 4 2.3 线路图设计 2.4 流程图设计 CX=20 开中断 调用数码管显示 显示东西绿灯 最后3秒? 绿灯 (黄灯)绿灯闪烁 CX=0? 修改时间 时间
6、=0? 显示南北绿灯 最后3秒? CX=0? 绿灯 (黄灯)绿灯闪烁 修改时间 时间=0? 8259,8253,8255 初始化 开始 CX=20 开中断 调用数码管显示 5 3 3 详细设计详细设计 3.1 设计源程序 1数据段定义 T1 DB 00H T2 DB 03H LEDTAL DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH 用 T1 作为个位取数的指针 用 T2 作为十位取数的指针 2.芯片及其端口的初始化 IN AL,21H; AND AL,08H OUT 21H,AL MOV AL,80H;初始化 8255 ,A,B,C 三口均工作在方式 0 OUT 63H,AL MOV AL,0B6H;初始化 8253,计数器#2 工作在方式 3,产生方波信号 OUT 43H,AL MOV AX,59500; OUT 42H,AL;C 口传出数据,先传低 4 位,然后传高 4 位 MOV AL,AH OUT 42H,AL 3.写