logo资料库

模拟交通灯实验报告.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
实验二 模拟交通灯实验 一、实验目的 1. 学习在PC机系统中扩展简单I/O 接口的方法。 2. 进一步学习编制数据输出程序的设计方法。 3. 学习模拟交通灯控制的方法。 二、实验内容 用 8255 做输出口,控制十二个发光管(4 组红绿黄灯)的亮灭,模拟十字路口交通灯 管理。 三、实验区域电路连接图 PC0→L3;PC1→L7;PC2→L11;PC3→L15;红灯 PC4→L2;PC5→L6;PC6→L10;PC7→L14;绿灯 PB4→L1;PB5→L5;PB6→L9;PB7→L13。 黄灯 8255 数据、控制线内部已线连好。 6
四、编程指南 1. 通过 8255A 控制发光二极管,PB4-PB7 对应黄灯,PC0-PC3 对应红灯,PC4-PC7 对 应绿灯,以模拟交通路灯的管理。 2. 要完成本实验,必须先了解交通路灯的亮灭规律,设有一个十字路口 l、3 为南北 方向,2、4 为东西方向,初始状态为四个路口的红灯全亮,之后,1、3 路口的绿灯亮,2、 4 路口的红灯亮,1、3 路口方向通车。延时一段时间后,l、3 路口的绿灯熄灭,而 l、3 路口的黄灯开始闪烁,闪烁若干次以后, 3 路口红灯亮,l、而同时 2、 路口的绿灯亮,42、 4 路口方向通车,延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次 以后,再切换到 l、3 路口方向,之后,重复上述过程。 3. 程序中设定好 8255A 的工作模式及三个端口均工作在方式 0,并处于输出状态。 4. 各发光二极管共阳极,使其点亮应使 8255A 相应端口的位清 0。 五、程序框图 开始 设置 8255 各口 为输出模式 四个路口红灯全亮 延时一段时 点亮 1、3 路口绿灯 延 时 1、3 路口黄灯闪烁 8 次 四个红灯全亮 点亮 2、 路口绿灯 4 延 时 熄灭 2、 路口绿灯 4 2、4 路口黄灯闪烁 8 次 熄灭 1、 路口绿灯 3 四个红灯全亮 7
六、实验步骤 1. 按连线图连接好,检查无误后打开实验箱电源。 2. 在 PC 端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。 3. 运行程序后,观察模拟交通管理灯是否按照设计的规律变化。 4. 如果运行不正常就要检查连线,程序。排查错误,修改程序,直到运行程序正常。 七、实验程序清单及注释 根据要求编写程序,最后记录调试成功的程序,写好注释便于自己或他人阅读。 八、实验报告 应包括画电路图、实验程序框图、编程(要有注释)、调试过程及心得体会等。 问答题: 1. 8255A 的哪个端口能实现位操作控制(按位置位/复位)?执行控制字写入 操作的端口是哪个? 2. 写出下图中 Intel8255A 占用的 4 个端口地址。 8
九.实验程序 CODE SEGMENT ASSUME CS:CODE ORG 1200H START: MOV DX 0FF2BH ;控制端口地址 MOV AL,80H ;输入控制命令字 10000000, OUT DX,AL MOV AL,0F0H ;点亮四个红灯,四个绿灯不亮 MOV DX,0FF2AH OUT DX,AL MOV AL,0FFH ;黄灯不亮 MOV DX,0FF29H OUT DX,AL NOP NOP NOP NOP NOP ;延时 COME: MOV AL,5FH ;熄灭红灯,点亮 1、3 路口绿灯 ;延时 MOV DX,0FF2AH OUT DX,AL NOP NOP NOP NOP NOP MOV AL,0FFH ;熄灭 1、3 路口绿灯 OUT DX,AL MOV BL,08H ;输入计数初值 8,用于循环八次 LOOP1: MOV AL,0A0H ;电亮 1、3 路口黄灯 ;计数值减一 MOV DX,0FF29H OUT DX,AL MOV AL,0F0H ;熄灭黄灯 OUT DX,AL DEC BL JNZ LOOP1 ;循环上面步骤,直到黄灯闪烁八次 MOV AL,0F0H ;点亮四个红灯 MOV DX,0FF2AH OUT DX,AL MOV AL,5FH ;熄灭红灯,点亮 2、4 路口绿灯 OUT DX,AL NOP NOP ;延时
NOP NOP NOP MOV AL,0FFH ;熄灭 2、4 路口绿灯 OUT DX,AL MOV BL,08H ;输入计数初值 8 LOOP2: MOV AL,50H ;点亮 2、4 路口黄灯 ;计数减一 MOV DX,0FF29H OUT DX,AL MOV AL,0F0H ;熄灭 2、4 路口黄灯 OUT DX,AL DEC BL JNZ LOOP2 ;循环,直到黄灯闪烁 8 次 MOV AL,0F0H ;点亮四个红灯 MOV DX,0FF2AH OUT DX,AL NOP NOP NOP NOP NOP JMP COME ;跳转回到 1、3 路口点亮 ;延时 CODE ENDS END START 十.调试过程及心得体会 编号程序后,我们将程序装入实验箱,观察 LED 灯.开始时发现 LED 灯不会按照要求显 示,发现了一个死循环,修改后我们就用单步调试的办法一步一步的调试,找出了几个问题,修 改后程序就能够达到要求了,但是最后的显示时间上我们还是使用了单步调试的 NOP ,造成 在最后的显示时间不够长,人眼看不太清,但是总体还是做好了. 十一.问题 1. 8255A 的 RESET 能实现位操作控制,执行控制字写入操作的端口是 WR 2.图中占用的 4 个端口地址为:0FFF0H--0FFF2H--0FFF4H--0FFF6H
分享到:
收藏