欢迎来到天天文库
浏览记录
ID:38314627
大小:258.55 KB
页数:18页
时间:2019-06-09
《微机原理实验2-基于8255的交通》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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口配合使用。▼实验电路图D7D0D7=0灯亮,=1灯灭D0=0灯亮,=1灯
2、灭8255实验原理▼8255工作原理8255有8条数据引脚D0~D7,它们全部是双向、三态,用来与数据总线相连接;另外,还有6条输入控制引脚,分别是:①RESET:复位输入信号,高电平有效。当RESET有效时,将内部寄存器,包括控制寄存器清零,而且把A、B、C三个都设为输入方式,对应的PA7~PA0、PB7~PB0、PC7~PC0引脚均为高阻态。②CS(chipselect):芯片选中信号,输入低电平有效。只有当它为低电平时,8255才被CPU选中。▼8255工作原理(续)③A0和A1:芯片内部
3、寄存器的选中信号。当CS有效时,8255被选中,再由A0、A1的编码决定选中通道A、B、C,还是控制寄存器。A1A0地址内部寄存器00X0H8255端口A的地址01X1H8255B端口B的地址10X2H8255B端口C的地址11X3H8255的控制端口8255内部寄存器选择▼8255工作原理(续)④RD:读信号。输入低电平有效。当它为低电平时,由CPU读出8255的数据或者状态信息。⑤WR:写信号。输入低电平有效当它为低电平时,由CPU将数据或命令写到8255。CS、A0、A1、WR、RD五根引
4、脚的电平与8255操作的关系,详见下表▼8255通道选择和基本操作表计算机1D6D5D4D3D2D1D0方式选择控制字的标志位A组方式选择00-方式001-方式11X-方式2通道A1-输入0-输出PC3~PC0:1-输入0-输出通道B1-输入0-输出B组方式选择:0-方式01-方式1PC7~PC4:1-输入0-输出▼8255控制字①8255方式选择控制字方式0―基本输入/输出方式1―选通输入/输出方式2―双向数据传送(1000,0010)2=(82)16▼本实验用到的端口地址:XXH:输出口,8
5、255的控制端口XXH:输出口,8255端口A的地址XXH:输入口,8255端口B的地址XXH:输入/输出口,8255端口C的地址实验任务1.编写出8255的初始化程序2.编写出交通灯控制模拟程序3.编写读取B口开关状态并送到A口LED显示的程序(开关开,则对应LED亮;开关关,则对应LED灭)编程与调试(一)交通灯实验1.程序说明通过对8255的A口读/写命令,来循环点亮与A口相连接的红、黄、绿三个发光二级管(其它5个都不亮)。在点亮的过程中,同时在LED上显示时间,从4秒开始倒计时,4秒到0
6、秒红灯亮,然后黄灯亮2秒。然后再从4秒开始倒计时,4秒到0秒绿灯亮,黄灯亮2秒。依次循环。2.编程思路初始化8255EPP初始化开始结束YN点亮红色指示灯(延时2秒秒)点亮绿色指示灯(延时2秒)点亮黄色指示灯(延时2秒)点亮黄色指示灯(延时2秒秒)循环是否结束?3.编程步骤①EPP端口初始化(同实验一LED显示实验)。②初始化8255。在本实验中设计为方式0、A口输出、B口输入,故向控制寄存器写入的数据为0x82。控制寄存器的地址为0xX3。MOVAL,X3HMOVAL,82HMOVDX,37B
7、HMOVDX,37CHOUTDX,ALOUTDX,AL③向8255的A口写数据。由指示灯的硬件电路可知,与其相连的端口输出为低电平,指示灯亮;输出为高电平,指示灯灭。在本实验中我们要依次点亮红灯、黄灯、绿灯、黄灯。0xfe--A口/*点亮红色指示灯*/delay(2)/*延时*/0xfd--A口);/*点亮黄色指示灯*/delay(2);0xfb--A口);/*点亮绿色指示灯*/delay(2);0xfd--A口/*点亮黄色指示灯*/delay(2);④点亮实验板上的LED。在点亮指示灯
8、的同时,要在LED上显示点亮时间,这个数字显示程序可参考实验1介绍过的LED数字显示程序。(二)A、B并行口实验1.程序说明该程序为通过操作与8255的B口相连的开关键,来控制与8255的A口相连的发光二极管的亮和灭。2.编程思路3.编程步骤①EPP端口初始化(同上)。②初始化8255(同上)。③读取8255的B端口的数据与8255的B端口相连接的是8个开关控制器,通过操作这些开关可以使与其相连的B端口呈现高电平“1”或者低电平“0”。MOVAL,X1HMOVDX,37CHMOVDX,37BHI
此文档下载收益归作者所有