A应用举例必看.ppt

上传人:b****1 文档编号:1384599 上传时间:2022-10-21 格式:PPT 页数:17 大小:1.12MB
下载 相关 举报
A应用举例必看.ppt_第1页
第1页 / 共17页
A应用举例必看.ppt_第2页
第2页 / 共17页
A应用举例必看.ppt_第3页
第3页 / 共17页
A应用举例必看.ppt_第4页
第4页 / 共17页
A应用举例必看.ppt_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

A应用举例必看.ppt

《A应用举例必看.ppt》由会员分享,可在线阅读,更多相关《A应用举例必看.ppt(17页珍藏版)》请在冰豆网上搜索。

A应用举例必看.ppt

例1:

CPU通过8255A控制8个开关和发光二极管,要求发光二极管的亮灭和开关状态一致,设计电路并编写程序。

解析:

可以认为,处于方式0输出工作状态的PA、PB、PC端口实际上等同一个锁存器,而处于方式0输入工作状态的PA、PB、PC端口实际上等同一个缓冲器。

电路如图所示。

图18255控制开关、发光二极管电路,首先根据电路确定8255A4个端口的地址。

确定端口地址用下述方法进行,为了能够访问8255A,必须使8255A的片选信号CS=0,A9A4的信号必须如下:

A9A8A7A6A5A4A3A210011000PA端口01PB端口10PC端口11控制端口,而A3、A2的组合和各个端口地址的关系也如上所示,由于A1、A0没有参与译码,其值对访问端口没有影响。

综合以上讨论可以得出,PA、PB、PC和控制端口的地址分别是260H、264H、268H和26CH。

在确定工作方式控制字时必须知道,PA端口为方式0输出,PB端口为方式0输入,而PC端口没有参与电路工作,其输入输出方式随意,由此可确定控制字为82H。

10000010,控制电路工作并使其保证开关状态和发光二极管亮灭一致的程序如下:

MOVDX,26CHMOVAL,82HOUTDX,ALMOVDX,264HINAL,DXNOTALMOVDX,260HOUTDX,AL,例2:

用一片8255A连接8个7段数码显示管,规定8255A的端口地址范围为340H34FH,用74LS138译码器实现8255A的片选电路,并根据电路编写在8个7段数码管上显示数字07的程序。

解:

在设计电路前,首先要了解7段数码管,掌握数码管显示数字的原理。

图2-给出了共阴极7段数码管逻辑结构图。

从图2-1可以看出。

当com端接低电平,ag端接高电平,对应的发光二极管就发亮。

如果想在7段数码管上显示数字0,需要在com端接低电平,a、b、c、d、e、f端接高电平,g端接低电平。

七段数码管的字形代码表如下:

显示字形gfedcba段码001111113fh1011000030h210110115bh310011114fh4110011066h511011016dh611111017dh7000011107h,一片8255A只需个端口地址,而题中给出的地址范围由16个地址,这意味着低位地址中有些地址可以不参加地址译码。

设计电路的第一部还需要设计出片选电路。

必须用指定地址范围内状态不变的地址信号作为片选电路的输入信号。

A9A8A7A6A5A4A3A2A1A01101000000340H110100111134FH,从上述分析中可以看出,指定地址范围内状态不变的地址信号是A9A8A7A6A5A4它们的状态分别是110100,这意味着A9A4上出现的信号状态为110100,8255A的CS必须为低电平。

下面讨论如何用74LS138译码器实现这一功能。

设计片选电路的基本原则是:

用A9A4作为74LS138的输入,用74LS138其中一个输出Yi去连接8255的CS,当且仅当A9A4=110100时,Yi才能变为低电平。

图2-2中,用A6、A5、A4分别连接74LS138的G、G2A、G2B,只有当A6A5A4=100时74LS138才能进行译码操作,用A9、A8、A7分别连接74LS138的C、B、A,而用Y6输出连接8255的CS,这样,只有当A9A8A7=110时,Y6输出为低电平。

图-用74LS138译码器实现8255的片选电路,用一片8255A连接8个7段数码管。

且使8个7段数码管显示8个不同的数字。

开始,似乎感到有点困难。

实际上,任何时刻只显示一个7段数码管,其余7个7段数码管都没有显示状态,CPU通过8255A逐个显示7段数码管,并在不同的7段数码管上显示不同的数字。

在逐个显示完8个数码管后,又开始新一轮的逐个显示过程,当这个循环周期间隔足够短时,由于人的眼睛有滞后效应,使得人们发现每一个数码管都出于显示状态,且显示不同的数字。

从电路中可以得出,8255A4个端口的地址分别是:

340H(PA端口)、344H(PB端口)348H(PC端口)、34CH(控制口)程序的设计思路是先通过PB端口选中某个数码管(使其公共端为低电平),然后再从PA端口输出选中的数码管所对应的显示码,在完成当前数码管显示后,显示下一个数码管,在完成一轮显示后,开始下一轮的显示。

datasegmentorg100hbuff1db3fh,30h,5bh,4fh,66h,6dh,7dh,07h;定义07的显示码buff2db0feh,0fdh,0fbh,0f7h,0efh,0dfh,0bfh,7fh;定义位码dataendscodesegmentassumecs:

code,ds:

datastart:

movdx,34Ch;设置8255控制端口地址moval,80h;使8255的A口、B口、C口为方式0输出outdx,alyyy1:

movsi,offsetbuff1;设置显示码指针movdi,offsetbuff2;设置控制码指针movcx,8;每一轮循环中显示的数码管的数目,yyy2:

movdx,340h;先使所有数码管变黑moval,0outdx,almovdx,344h;选中一个数码管moval,dioutdx,almovdx,340h;输出该数码管对应的显示码moval,sioutdx,alincsi;选择下一个数码管所对应的显示码incdi;选择下一个数码管loopyyy2;显示下一个数码管jmpyyy1;开始新的一轮的显示,movah,4chint21hcodeendsendstart,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1