第9章微机原理_第1页
第9章微机原理_第2页
第9章微机原理_第3页
第9章微机原理_第4页
第9章微机原理_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章可编程外围接口芯片8255A及其应用

•并行通信/并行接口8255A的工作原理8255A的工作方式8255A的应用•串行通信/串行接口8251A的工作原理8251A的工作方式8251A的应用1、并行通信

—就是把一个字符的各数位用几条连线同时进行传输的过程。优点:传输速度快、信息率高;缺点:随着传输距离的增加,电缆的开销会成为突出的问题;应用场合:要求传输率高,传输距离较短的场合。并行通信/并行接口

2、并行接口—能实现并行通信的接口。并行的类型:

单独的输入接口

如:读卡机接口单独的输出接口

如:打印机接口输入/输出接口

如:磁盘接口3、并行接口的组成并行输入/输出接口分类硬接线型可编程型△可编程型__工作方式和功能是可以软件编程加以改变。8位三态单向缓冲器(LS244)8位三态双向缓冲器(LS245)8位三态数据锁存器(LS273)常用芯片电路包括:具有缓冲的输入/输出寄存器可供CPU访问的控制和状态寄存器与外设进行交换数据的控制与联络信号线等△硬接线型__工作方式和功能是由硬线连接固定的,不能用软件编程加以改变。8255A的工作原理

一、8255的结构和功能

8255的内部结构3个8位数据端口:A口、B口、C口RESET复位后控制寄存器内容都被清零所有端口均被置成输入方式(读端口A)(读端口B)(读端口C)(写端口A)(写端口B)(写端口C)(写控制字)方式选择控制字置位/复位控制字

8255的控制字

▲方式选择控制字___用来定义各端口的工作方式▲置位/复位控制字___用于对端口C的位(任意)进行置位或复位工作方式方式0__基本输入/输出方式方式1__选通输入/输出方式方式2__双向总线I/O方式二、8255的控制字C口低四位I/OD7D6D5D4D3D2D1D0D7=1标志位A口方式00:方式001:方式11X:方式2A口I/O1:输入0:输出C口高四位I/O1:输入0:输出B口方式0:方式01:方式1B口I/O1:输入0:输出1:输入0:输出(1)、方式选择控制字8255工作方式控制字的应用例如若要求8255A各端口为下列工作状态:A口:方式0输出口B口:方式1输入口上C口:方式0输入口下C口输出:此时为B口的联络线则相应的控制字为:10001110B(8EH)例一:设8255A的4个寻址地址号为60H~63H,试编写出下列各种情况的初始化程序。①将A组和B组设置成方式0,A口、B口为输入,C口为输出口。②将A组工作方式设置成方式2,B组为方式1,B口作为输出口。解:①MOVAL,10010010BOUT63H,AL②MOVAL,11000100BOUT63H,AL

D7D6D5D4D3D2D1D0

D7=0标志位任意值位选择000选中PC0001选中PC1111选中PC71置位0复位(2)、端口C置位/复位控制字注:

C端口置位/复位控制字尽管是对C端口进行操作,但该控制字必须写入控制口地址,而不是写入C端口D7D6D5D4D3D2D1D0

D7=0标志位任意值1置位0复位位选择000选中PC0001选中PC1111选中PC7例如:——端口C的PC7位要求置1,PC3位置0,控制口地址为00EEH,根据要求控制字应设为

00001

111PC7置1

00000

110PC3置0程序:MOVAL,OFH;调入控制字内容MOVDX,00EEH;调入控制口地址OUTDX,ALMOVAL,06HOUTDX,AL例二:设有2片8255A芯片,在系统中的连接如图所示。当8255AD0—D7数据线与数据总线低8位相连时,其4个端口的地址号为何值?若与数据总线高8位相连时,又为何值?1#:28H,2AH,2CH,2EH2#:30H,32H,34H,36H如接高8位1#:29H,2BH,2DH,2FH2#:31H,33H,35H,37H(一)、8255的工作方式方式0__基本输入/输出方式方式1__选通输入/输出方式方式2__双向总线I/O方式三、8255的工作方式和C口状态字(1)、方式0__基本输入/输出方式___适用于不需用联络信号(应答)或不使用中断联系的简单输入输出电路(CPU可直接用输入/输出指令操作,不需要联络信号)

①任何一个端口均可作为输入或输出端口,各端口之间没有规定必然的联系②各个端口的输入或输出,可以有16种不同的组合③输出有锁存功能

A端口B端口C高四位C第四位使用场合:无条件传输(同步传送)

特点:利用8255A检测开关的开与关,图如下,要求A口开关闭合相应B口数码管发光,编制初始化程序段和检测程序。例三、

解:端口地址:0F0H,0F2H,0F4H,0F6HMOVAL,10010000B;初始化OUT0F6H,ALA1:INAL,0F0H

;检测程序NOTALOUT0F2H,ALJMPA1

例四、8255A作为连接打印机的接口,工作于方式0,设端口A、B、C、控制口地址分别是00D0H、00D2H、00D4H、00D6H,电路接线如下图,编制初始化程序段并将[DI]的一个字符发送给打印机。(C口的PC2与打印机的BUSY相连,为1代表打印机忙,PC6通过一个反相器与打印机的STB相连,上升沿是STB的选通信号,选通打印机进行相应操作)CPU80868255A打印机STBBUSYPC6PC2PA7--PA0D7-D0D7-D0解:端口地址:00D0H、00D2H、00D4H、00D6HMOVAL,10000001B;8255初始化MOVDX,00D6HOUTDX,AL……A1:MOVDX,0D4H;检测PC2是否为0INAL,DXTESTAL,04HJNZA1MOVDX,0D0H;送字符到A口MOVAL,[DI]OUTDX,ALINCDIMOVDX,0D6H;PC6产生上升沿MOVAL,00001101BOUTDX,ALDECALOUTDX,ALJMPA1(2)、方式1__选通输入/输出方式特点:▲端口A、端口B均可工作在方式1下,且均能对数据锁存,但必须在联络信号控制下完成数据的输入/输出。▲如果端口A或端口B工作在方式1下,则各需用C的3位配合工作,产生相应的控制联络信号。▲端口C中未配合方式1工作的各位可设定方式0工作特征使用场合:方式1选通输入方式选通输出方式分类:__须使用联络信号建立工作关系的电路。&PC4INTEAPA7--PA0RDPC5PC3PC6,7STBA(选通)IBFA(输入缓冲器满)INTRA(中断请求)端口A方式1输入&INTEBPB7--PB0RDPC2PC1PC0STBBIBFBINTRB端口B方式1输入△

方式1选通输入方式控制信号I/OPC6,7I/O中断允许方式1选通输入时序INTRIBFSTB输入数据RDBAPC0PC2PC1PC3PC5PC4PC7PC6图I/OI/O&INTEAPA7--PA0WRPC4,5端口A方式1输出PC7PC6PC3OBFAACKAINTRAI/O&INTEBPB7--PB0WR端口B方式1输出PC1PC2PC0OBFBACKBINTRB△

方式1选通输出方式控制信号BAPC2PC1PC0PC6PC7PC3PC5PC4WROBFINTRACK输出数据方式1选通输出时序图I/OI/O△

方式1选通输入/输出方式组合控制信号PA7--PA0PB7--PB0WRRDPC4STBAPC5IBFAPC3INTRAPC6,7I/OPC1PC2PC0OBFBACKBINTRBPA7--PA0PB7--PB0WRPC2PC1PC0STBBIBFBINTRBPC7PC6OBFAACKAPC3INTRAI/OPC4,5RDA口输入B口输出A口输出B口输入(3)、方式2__双向总线I/O方式(A口)方式2的方式控制字和控制信号>=1PC3PC7PC6PC4PC5INTE2INTE1PA7--PA0&&PC2---PC0INTRA(输入输出联络信号)OBFAACKASTBAIBFAI/OWRRD输出联络信号输入联络信号(二)、C口状态字说名:

▲当8255工作在方式0时,C口各位用于输入或输出。▲当8255工作在方式1时,C口各位用于产生联络信号。

▲当8255工作在方式2时,C口各位用于产生联络信号。方式1状态字:输入状态字:I/OI/OINTRAINTEAIBFAINTEBIBFBINTRBA组状态字B组状态字方式1状态字:输出状态字:A组状态字B组状态字OBFAINTRAI/OI/OINTEBOBFBINTRBINTEA方式2状态字:A组状态字B组状态字OBFAINTRAIBFAXX

XINTE1INTE2方式1时,作B口状态字用方式0时,作输入输出用9.28255的应用例五:编写8253初始化程序段。要求;计数器0工作在方式0,二进制计数,计数初值为8位;计数器1工作在方式3,BCD计数,计数初值为4位十进制计数;计数器2工作作在方式2,二进制计数,计数初值为16位二进制数。(8253的4个寻址地址号为40H一43H)解:MOVAL,00010000BOUT43H,ALMOVAL,01110111BOUT43H,ALMOVAL,10110100BOUT43H,AL8253控制字格式:SC1SC0RL1RL0M2M0M1BCD00选择通道001选择通道110选择通道211无效00计数器锁存,供CPU读01只读/写计数器低字节,高自动置010只读/写计数器高字节,低自动置011先读/写计数器低字节,后读/写高字节000方式0001方式1X10方式2X11方式3100方式4101方式51BCD码计数02进制计数例六、图为开关状态检测电路和继电器控制电路。当开关K闭合时,将驱动对应的继电器(即动作);若开关处于断开状态,则无电流流过继电器线圈,继电器不动作。若每隔10ms检测一次开关状态和对继电器作相应控制,定时控制由8253完成,试编写对8255A的初始化程序(初始态时应保证继电器不动作)和完成上述功能的检测、控制程序。解:定时采用查询方式CPU主频为5MHZ,PCLK=2.5MHZ(T=400ns)①8253的初始化(端口40H-43H)N0=10ms/800ns=12500=30D4HMOVAL,00110010B;0#计方式1OUT43H,ALMOVAL,0D4H;30D4H送0#计OUT40H,ALMOVAL,30HOUT40H,AL②8255的初始化(端口60H-63H)MOVAL,10000011B;A口方式0输出,PC0输入OUT63H,AL;B口方式0,输入PC7输出,MOVAL,00001110B;PC7置0OUT63H,ALMOVAL,0FFH;初试A口,继电器不动作OUT60H,AL③检测控制程序L1:MOVAL,00001111B;PC7置1OUT63H,ALDECALOUT63H,ALL2:INAL,62H;读PC0是否为高TESTAL,01H;延时10msJZL2INAL,61H;读B口NOTALOUT60H,ALJMPL1例七、8255A的端口A经过反相驱动器连接一共阴极的七段发光二极管显示器;端口B是中断方式的输入口。设8255A的中断类型码是30H。试画出电路,(中断接8259)编写8255A和中断初始化程序,并编写中断服务程序,用来实现,当CPU从端口B输入的8位码是偶数个1时,LED上显示E,否则显示0。(8255口地址为60H~63H,8259A为一片,端口地址为20H、21H)。十进制数与十六进制数对应表①8255A、8259A和中断向量表的初始化……CLI;CPU关中断MOVAL,10000110B;A口方式0输出,B口方式1输入OUT63H,ALMOVAX,0;设中断向量MOVDS,AXMOVAX,offsetINTERMOV[00C0H],AXMOVAX,segINTERMOV[00C2H],AXMOVAL,00000101B;PC2置1,允许8255A中断OUT63H,ALMOVAL,00011011B;8259A初始化OUT20H,ALMOVAL,30H;中断类型码OUT21H,ALMOVAL,00000001B;非缓冲OUT21H,ALSTI;CPU开中断②中断服务子程序INTERprocfarpushaxstiinal,61H;读B口addal,0jpL1moval,01000000B;奇数O送A口jmpL2L1:moval,00000110B;偶数E送A口L2:out60H,ALmoval,20hout20h,al;中断EOI结束popaxiretINTERendpICW1--芯片控制初始化命令字(必须写入偶地址端口)格式:0XX1LTIM0SNGLIC4X

8086/8088系统中不使用1:电平触发(高电平)0:边沿触发(上升沿)1:单级使用0:级联使用1:需要设置ICW40:不需要设置ICW4ICW4方式控制初始化8259初始化命令字ICWICW2--设置中断类型号初始化命令字(必须写入奇地址端口)对应IR0-IR7中响应哪级中断(000-111)1T6T5T4T3000T7用户自己设定格式:

ICW4--方式控制初始化命令字(必须写入奇地址端口)

说明:ICW1的IC4=1时,要求预置ICW4,8086/8088系统必须预置

100

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论