《微机原理实验2-基于8255的交通.ppt》由会员分享,可在线阅读,更多相关《微机原理实验2-基于8255的交通.ppt(18页珍藏版)》请在三一办公上搜索。
1、微机原理实验,实验二 8255并行接口原理及编程,实验目的 1.熟悉8255内部结构和外部引脚定义 2.熟悉8255并行接口的原理和接口方法 3.掌握8255的简单应用编程。,8255内部接口简介,8255有A、B和C三个输入/输出通道,用来和外部设备连接。每个通道都是8位的,都可以选择为输入或输出通道。A、B和C通道也称为A端口、B端口和C端口,简称A口、B口、C口。A口有3种工作方式,B口有2种工作方式,C口可单独使用,也可和A口、B口配合使用。,实验电路图,D7,D0,D7=0 灯亮,=1 灯灭,D0=0 灯亮,=1 灯灭,8255,实验原理 8255工作原理 8255有8条数据引脚D0
2、D7,它们全部是双向、三态,用来与数据总线相连接;另外,还有6条输入控制引脚,分别是:RESET:复位输入信号,高电平有效。当RESET有效时,将内部寄存器,包括控制寄存器清零,而且把A、B、C三个都设为输入方式,对应的PA7PA0、PB7PB0、PC7PC0引脚均为高阻态。CS(chip select):芯片选中信号,输入低电平有效。只有当它为低电平时,8255才被CPU选中。,8255工作原理(续),A0和A1:芯片内部寄存器的选中信号。当CS有效时,8255被选中,再由A0、A1的编码决定选中通道A、B、C,还是控制寄存器。,8255内部寄存器选择,8255工作原理(续),RD:读信号。
3、输入低电平有效。当它为低电平时,由CPU读出8255的数据或者状态信息。WR:写信号。输入低电平有效当它为低电平时,由CPU将数据或命令写到8255。CS、A0、A1、WR、RD五根引脚的电平与8255操作的关系,详见下表,8255通道选择和基本操作表,计算机,8255控制字 8255方式选择控制字,方式0基本输入/输出方式1选通输入/输出方式2双向数据传送,(1 0 0 0,0 0 10)2=(82)16,本实验用到的端口地址:XXH:输出口,8255的控制端口XXH:输出口,8255端口A的地址XXH:输入口,8255端口B的地址XXH:输入/输出口,8255端口C的地址,实验任务 1编写
4、出8255的初始化程序 2编写出交通灯控制模拟程序 3编写读取B口开关状态并送到A口LED显示的程序(开关开,则对应LED亮;开关关,则对应LED灭),编程与调试(一)交通灯实验1程序说明 通过对8255的A口读/写命令,来循环点亮与A口相连接的红、黄、绿三个发光二级管(其它5个都不亮)。在点亮的过程中,同时在LED上显示时间,从4秒开始倒计时,4秒到0秒红灯亮,然后黄灯亮2秒。然后再从4秒开始倒计时,4秒到0秒绿灯亮,黄灯亮2秒。依次循环。,2编程思路,3编程步骤 EPP端口初始化(同实验一 LED显示实验)。初始化8255。在本实验中设计为方式0、A口输出、B口输入,故向控制寄存器写入的数
5、据为0 x82。控制寄存器的地址为0 xX3。MOV AL,X3H MOV AL,82H MOV DX,37BH MOV DX,37CH OUT DX,AL OUT DX,AL 向8255的A口写数据。由指示灯的硬件电路可知,与其相连的端口输出为低电平,指示灯亮;输出为高电平,指示灯灭。,在本实验中我们要依次点亮红灯、黄灯、绿灯、黄灯。0 xfe-A口/*点亮红色指示灯*/delay(2)/*延时*/0 xfd-A口);/*点亮黄色指示灯*/delay(2);0 xfb-A口);/*点亮绿色指示灯*/delay(2);0 xfd-A口/*点亮黄色指示灯*/delay(2);点亮实验板上的LED
6、。在点亮指示灯的同时,要在LED上显示点亮时间,这个数字显示程序可参考实验1介绍过的LED数字显示程序。,(二)A、B并行口实验1程序说明 该程序为通过操作与8255的B口相连的开关键,来控制与8255的A口相连的发光二极管的亮和灭。2编程思路,3编程步骤 EPP端口初始化(同上)。初始化8255(同上)。读取8255的B端口的数据 与8255的B端口相连接的是8个开关控制器,通过操作这些开关可以使与其相连的B端口呈现高电平“1”或者低电平“0”。MOV AL,X1H MOV DX,37CH MOV DX,37BH IN AL,DX OUT DX,AL 向A端口写数据,思考和练习 1能否从8255中读出控制积存器的值;2.交通灯实验中如何同时点亮多个指示灯。,