第8章可编程接口芯片_第1页
第8章可编程接口芯片_第2页
第8章可编程接口芯片_第3页
第8章可编程接口芯片_第4页
第8章可编程接口芯片_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

第8章可编程接口芯片8.2可编程并行接口芯片8255A8.3可编程计数器/定时器82548.2可编程并行接口芯片8255A9.1.18255A的内部结构

8.2.28255A的引脚分配

一、与外设联系的引脚

A口有PA0~PA78个引脚,同样B口和C口均有PB0~PB7,PC0~PC78个引脚。

二、与CPU联系的引脚数据和命令通道线D0~D7,读/写控制引脚RD、WR、CS、A0,A1,RESET。三、端口地址控制引脚

CSA1A0

端口

000A口地址

001B口地址

010C口地址

011控制端口地址8.2.38255A的工作方式

1、方式0(基本输入/输出方式)

2、方式1(选通输入/输出方式)

3、方式2(双向传送方式)各端口可工作的方式:

A口:方式0、方式1、方式2B口:方式0、方式1C口:方式08.2.48255A的控制字

1、方式控制字

D7D6D5D4D3D2D1D0B组C口低半字节:1-输入,0-输出B口:1-输入,0-输出

方式选择:0-方式0,1-方式1A组C口高半字节:1-输入,0-输出A口:1-输入,0-输出

方式选择:

方式控制字标志:1-有效00-方式001-方式11X-方式22、C口置“1”/清“0”控制字

D7D6D5D4D3D2D1D0位控:1-置1,0-清0状态选中位000001010011100101110111PC0PC1PC2PC3PC4PC5PC6PC7位控字标志:0-有效无效8.2.58255A的应用8255A工作在方式0的特点:

8255A工作在方式0时,各个端口(包括2个8位端口A、B及2个4位端口C)的输入、输出可以有16种不同的组合。在这种方式下,任一个端口都由CPU用简单的输入/输出指令进行读/写。不用提供“联络”信号,适用于各种同步传送情况。另外,方式0也可用于程序查询方式来进行数据传送。此时,通常以A口和B口作为数据口,而用C口的某些位作为输入输出“联络”信号。注意,输入“联络”信号和输出“联络”信号不在同一4位C口中。方式0应用举例1(同步情况):例18255A的A口和B口工作在方式0,A口为输入端口,接有4个开关;B口为输出端口,接有1个7段发光二极管,其硬件连接电路如图所示。试编一程序要求7段发光二极管显示开关所拨通的数字。分析:

1、端口地址

A口:8020HC口:8024HB口:8022H控制口:8026H2、字符代码对照表显示字符7段代码显示字符7段代码

03FH87FH106H96FH25BHA77H34FHb7CH466Hc39H56DHd5EH67DHE79H707HF31H程序:

.MODELSMALL.DATATAB1DB3FH,06H,5BH,4FH,

.CODE.STARTUPAPORTEQU8020HBPORTEQU8022HCONTREQU8026HMOVAL,90H;定义8255A工作方式MOVDX,CONTROUTDX,ALADDR1:MOVDX,APORT;取开关值INAL,DXANDAL,0FH;屏蔽高4位

MOVBX,OFFSETTAB1;取代码表首址

XLAT;找到字符代码

MOVDX,BPORT;输出显示

OUTDX,ALMOVCX,0400H;显示延ADDR2:DECCXJNZADDR2JMPADDR1.EXITEND方式0应用举例2(异步查询情况):例2如图所示,假设8255A端口A,B,C及控制口的地址分别为80H,81H,82H和83H;打印机的选通信号为STB,读入机的驱动信号为DRV,编写接口程序。程序片段:

MOVAL,83H;8255A初始化

OUT83H,AL;读入机驱动程序

MOVAL,09HOUT83H,AL

;启动读入机PRT:INAL,82HTESTAL,01HJZPRT;未准备好,循环

INAL,81H;准备好,读入数据

MOVBL,AL

MOVAL,08HOUT83H,AL;断开读入机

;打印机驱动程序PST:INAL,82HTESTAL,04HJNZPSTMOVAL,BL;若打印数据在BL中

OUT80H,AL

MOVAL,0DHOUT83H,AL;选通打印机

DECALOUT83H,AL

;断开打印机8.3可编程计数器/定时器82548.3.18254的结构内部结构及引脚

端口地址分配:

CSA1A0

端口地址

0000#计数器地址

0011#计数器地址

0102#计数器地址

011控制字寄存器地址计数器的内部结构8.3.28254的功能计数器定时器8.3.38254的控制字

通过写控制字来控制8254计数器的工作方式计数方式等。控制字格式

1例1

若要使计数器1工作在方式0,仅用8位二进制计数,计数值为128,试对其进行初始化编程。

MOVAL,50HOUT73H,ALMOVAL,80HOUT71H,AL

设置控制字(写入控制寄存器地址)

初始化赋计数初值(写入相应计数器地址)包括读计数器内容(从相应计数器地址读出)8.3.48254的编程例2

若要使计数器0工作在方式1,按BCD码计数,计数值为3000,试对其进行初始化编程。

MOVAL,23HOUT73H,ALMOVAL,30HOUT70H,AL

例3若要使计数器2工作在方式2,按二进制计数,计数值为1110H,试对其进行初始化编程。

MOVAL,0B4HOUT73H,ALMOVAL,10HOUT72H,ALMOVAL,11HOUT72H,AL

例48254工作方式同上题。要在计数过程中读取该计数器的计数值。试对其进行初始化编程。

MOVAL,0B4HOUT73H,ALMOVAL,10HOUT72H,ALMOVAL,11HOUT72H,ALMOVBH,20HW:DECBHJNZW

MOVAL,80HOUT73H,AL

INAL,72HMOVCL,AL

INAL,72HMOVAH,ALMOVAL,CL

8.3.58254的工作方式一、方式0主要特点:*方式0的OUT输出是一次性负方波。*若想再次OUT输出,必须重写控制字、计数值或只写计数值。二、方式1主要特点:*方式1的OUT输出是一次性负方波。*若想再次OUT输出,只须重新启动GATE脉冲。三、方式2主要特点:*方式2的OUT输出是周期性的负脉冲。

例5-1已知计数脉冲CLK频率为2MHZ,要求每1ms产生一次中断,选用2#计数器。8254地址70H~73H。请初始化8254。分析:1、工作方式的选择

2、计数初值的确定

MOVAL,0A5HOUT73H,ALMOVAL,20HOUT72H,AL

例5-2已知计数脉冲CLK频率为2MHZ,要求每10ms产生一次中断,选用2#计数器。8254地址70H~73H。请初始化8254。分析:1、工作方式的选择

2、计数初值的确定

MOVAL,0B4HOUT73H,ALMOVAL,20HOUT72H,ALMOVAL,4EHOUT72H,AL四、方式3主要特点:*方式3的OUT输出是周期性的方波。(若计数值n是偶数,则输出OUT是对称方波;若计数值n是奇数,则输出OUT在(n+1)/2计数期间保持为高电平,而在(n-1)/2计数期间保持为低电平。)五、方式4主要特点:*方式4的OUT输出是一次性负脉冲。*若想再次OUT输出,须再次写入计数值。故又称软件触发选通方式。六、方式5主要特点:*方式5的OUT输出是一次性负脉冲。*若想再次OUT输出,只须再次启动GATE脉冲。故又称硬件触发选通方式。例1系统中有一片8254芯片,利用其计数器1完成对外部事件计数,计满250次向CPU发出中断申请;利用计数器2输出频率为1kHz的方波,试编写8254的初始化程序,硬件电路如图所示。

MOVAL,71H;计数器1控制字

OUT1EH,AL

MOVAL,0A7H;计数器2控制字

OUT1EH,AL

MOVAL,50H;计数器1计数值低8位

OUT1AH,AL

MOVAL,02H;计数器1计数值高

温馨提示

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

评论

0/150

提交评论