版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、主 要 内 容一、可编程通用接口芯片的应用方法二、可编程并行接口芯片8255A三、可编程定时/计数接口芯片8253四、可编程中断控制器8259A 五、可编程串行接口芯片8250六、可编程DMA控制芯片可编程接口芯片的开发应用 了解芯片的基本性能(功能)和内部结构; 掌握芯片的外部连接特性,以进行硬件设计。一般将引脚分为面向CPU和面向外设的两部分。注意端口地址的确定方法(面向CPU一边); 掌握芯片各控制字的含义和设置方法,能根据系统设计要求确定各控制字值; CPU在初始化程序中按要求发送各控制字到相应端口(寄存器)以确定芯片的工作方式和状态; CPU在工作过程中可以通过读状态端口检查接口芯片
2、的工作状态,并可重新设置和发送某些控制字值,以改变芯片的工作方式; D0D1D2D3D4D5D6D7目目的的D0D1D2D3D4D5D6D7源源01010110可编程:不改变硬件的连接,而通过程序设置数据的传输方向,接口线的连接和传输控制方向等可编程并行接口Intel8255l 初始化时用户只需确定端口地址及控制字,并通过送出控制字确定8255A各端口的工作方式;l 数据传送过程中,用户通过读/写端口A、B、C实现数据收/发。注意C口的位操作方式是通过写控制字来实现的。可编程并行接口Intel8255无条件和查询式、中断控制式数据传送,其具体的工作方式由用户程序确定。 8255的内部结构及基本
3、功能 8255的外接特性及端口地址 8255的三种工作方式及控制字 8255的程控技术8255的内部结构及基本功能读读/写写逻辑逻辑控制控制A组组控控制制B组组控控制制A8bitPA7PA0C上上半部半部4bitC下下半部半部4bitPC7PC4PC3PC0B8bitPB7PB0CPU接口接口内部逻辑内部逻辑外设接口外设接口三个独立的8位数据端口;C口的其它用法:l 用作两个独立的4位数据端口;l 用作状态或控制口,按位置位或复位;l 为A、B口提供所需的各种联络信号;具有三种工作方式;数据数据总线总线缓冲缓冲器器D7D0RESETRDWRCSA0A18位机系统中,8255的A1、A0分别接系
4、统地址总线A1、A0;8086等16位机中,可将8255与8086CPU的低8位数据线相连,8255的A1、A0分别接系统地址总线A2、A1, A0=0。8255的外部特性及端口地址的确定PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7 D0D1D2D3D4D5D6D734 433 332 231 130 4 029 3 92 8 3 827 3 7 18199 208 216 225 2 336 2 435 2514151617132 6 1 27 11108255A面面向向CPU面面向向外外设设
5、操操 作作CSA0A100011011读读/写端口写端口A读读/写端口写端口B读读/写端口写端口C写控制寄存器写控制寄存器数据总线三态数据总线三态1XX0000A0A1/CS/RD/WRRSTVCCGND1.外设数据端口 端口A:PA0 PA7 A组,支持工作方式0、1、2 端口B:PB0 PB7 B组,支持工作方式0、1 端口C:PC0 PC7 仅支持工作方式0 A组控制高4位PC4PC7 B组控制低4位PC0PC38255的外部特性及端口地址的确定8255的工作方式控制字1D7D6D5D4D3D2D1D00 输出输出1 输入输入PC3PC0B口口0 输出输出1 1 输入输入0 方式方式01
6、 方式方式1B口工作方式口工作方式PC7PC40 输出输出1 输入输入A口口0 输出输出1 输入输入特征位,特征位,D7=1表示是方式控制字表示是方式控制字A口工作方式口工作方式00 方式方式001 方式方式11x 方式方式2A口方式0输出,B口方式0输入,C上输出,C下输入,试写控制字0D7D6D5D4D3D2D1D00 复位复位1 置位置位设置内容设置内容特征位,特征位,D7=0表示是表示是C口按位口按位置位置位/复位控制字复位控制字无意义无意义选择操作位选择操作位8255的C口置/复位控制字D3 D2 D1C端口位端口位0 0 0PC00 0 1PC10 1 0PC20 1 1PC31
7、0 0PC41 0 1PC51 1 0PC61 1 1PC7设8255A端口地址为60h63h, PC5初始为低电平,试将从PC4输出一个正脉冲数据传输特点1.最多可提供三个8位端口或两个8位端口两个4位端口2.所有端口均为单向传输(即只能做输入或输出)3.可实现无条件或自定义联络信号(C口)的查询传送CPU8255打印机并行接口打印机并行接口(29)(1)(11)(16)PA07PC7PC2地地D07STBBUSY地地DB工作方式0基本输入输出工作方式1选通输入输出PA7PA0PC4PC5PC3INTEA与门与门IBFASTBAINTRARDD7D0A口方式口方式1输入时输入时相应的联络信号
8、相应的联络信号B口方式口方式1输入时输入时相应的联络信号相应的联络信号IBFBSTBBINTRBPB7PB0PC2PC1PC0INTEB与门与门RDD7D0一、输入接口信号的定义一、输入接口信号的定义PC4PC2 PB7PB0PA7PA0STBIBFINTRRD中断服务程序中CPU从A口或B口读取外设输入的数据工作方式1选通输入输出A口方式口方式1输出时相输出时相应的联络信号应的联络信号B口方式口方式1输出时相输出时相应的联络信号应的联络信号PA7PA0PC7PC6PC3INTEAINTEA与门与门ACKAOBFAINTRAWRD7D0PB7PB0PC1PC2PC0INTEBINTEB与门与门
9、ACKBOBFBINTRBWRD7D0二、输出接口信号的定义与时序工作方式1选通输入输出送往外设的数据写入相应端口送往外设的数据写入相应端口WROBFINTRACK当当INTE=1时时 PB7PB0PA7PA0中断服务程序中CPU向A口或B口写入输出给外设的数据工作方式1选通输入输出三、数据传输特点1.最多可提供两个8位端口2.所有端口均为单向传输(即只能做输入或输出)3.可实现固定联络信号(C口)的查询传送或中断传送,未定义的C口信号线可自行定义使用。CPU8255PA07PC7PC6D07STBDBPC3ACKOBFINTRPC0数据传输特点:1.A为双向端口,B为单向端口,C口组合方式2
10、.可实现固定联络信号(C口)的查询传送或中断传送,未定义的C口信号线可自行定义使用。工作方式2双向输入、输出PA7PA7PA0PA0PC6PC6PC7PC7ACKAACKAOBFAOBFAD7D7D0D0RDRDWRWRPC4PC4PC5PC5STBASTBAIBFAIBFAINTEA1INTEA1PC4PC4INTEA2INTEA2PC6PC6与与门门PC3PC3INTRAINTRA或门或门与与门门中断服务程序中CPU可通过查询IBF和OBF信号来确定此次中断是输入还是输出操作8255的编程 初始化编程:一个方式控制字 采用控制I/O地址:A1A011 工作过程:通过数据端口对外设数据进行读
11、写 数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10 IBM PC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H例:某8255A占用端口地址范围0F00F3H。1) 确定各端口地址。 2) 编程设置8255A : A口方式 0 输入,B口方式0 输出,PC7PC4输出,PC3PC0输入结论:结论:A A口地址口地址0F0H0F0H,B B口地址口地址0F1H0F1H,C C口地址口地址0F2H0F2H,控制口地址为,控制口地址为0F3H0F3H; 控制字控制字1001 0001B1001 0001B,即,即91H91H MOV AL,9
12、1HMOV AL,91H OUT 0F3H, AL OUT 0F3H, AL解:A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 1 0 1 1 1 1 0 0 1 1A1 A0CS地址地址0F0H 0F1H0F2H 0F3H0 0 0 1 1 01 18255举例D7D6D5D4D3D2D1D0控制控制字字1特征位特征位00A口口方式方式 01A口口输入输入0PC7PC4输出输出0B口口方式方式 00B口口输出输出1PC3PC0输入输入例:设8255的A口工作于方式1输入,B口工作于方式0输出,若允许A口产
13、生中断,试编程初始化该8255(其端口地址为60H 63H )。MOV AL, 0B0H ;1011x00XOUT 63H, AL ; 写方式控制字写方式控制字MOV AL, 09H ;0XXX1001OUT 63H, AL ; 写置写置/复位控制字,置复位控制字,置INTEA1b7 b6b5 b4 b3 b2 b1 b0 1 0 1 1x 0 0 x b7b6b5 b4b3b2b1b0 0 x x x 1 00 1C口置/复位控制字工作方式控制字8255举例例:利用8255的PC6产生方波,经滤波和功放后,送到扬声器以发出不同频率的声音。MOV DX,303H;8255控制口控制口MOV A
14、L,00001101B;置;置PC6=1OUT DX,ALCALL DELAY;高电平维持时间;高电平维持时间MOV AL,00001100H;置;置PC6=0OUT DX,ALCALL DELAY;低电平维持时间;低电平维持时间 其中其中DELAY为延时子程序,改变延时时间,即可改为延时子程序,改变延时时间,即可改变喇叭发声的频率。变喇叭发声的频率。8255举例例:编程实现8255控制的A/D/A接口。8255用作A/D、D/A接口电路,占用的端口地址分别为300H303H1.初始化初始化8255A方式方式1,B方式方式02.启动启动AD(PC7)3.查询查询IBF(PC5)4.收收AD数据
15、数据5.发数据到发数据到DAD/A8255举例通道选用 A端口方式1输入, 用于A/D变换的数据输入接口 B端口方式0输出, 用于D/A变换的数据输出接口 C端口中的位:1、为A端口服务;2、作控制信号I/O接口的控制方式 输入(A端口) 采用查询方式 输出(B端口) 采用无条件程控方式 C端口为位操作方式 PA7PA7PA0PA0PC4PC4PC5PC5PC3PC3INTEAINTEAPC4PC4与门与门IBFAIBFASTBASTBAINTRAINTRARDRDD7D7D0D0问:A口方式1输入的联络信号是什么?8255举例通道控制8255A对A/D芯片的控制 PC7=H,启动A/D变换;
16、PC7=L,停止A/D变换 PC4(/STBA)=L,A/D变换后的数据送A口锁存 PC5( IBFA)=H,A口已锁存A/D变换后的数据 注:查询状态信息PC5=H,下一步完成读A/D数据 8255A对D/A芯片的控制 B端口工作于方式 0 输出, 为直接数据输出8255举例控制字设置 A端口方式 1 输入D6D5D4 = 011 B端口方式 0 输出D2D1 = 00 C端口PC7 输出 D3 = 0写方式控制字编程 MOV AL,1011000XB MOV DX,303H OUT DX,AL 1 0 1 1 0 0 0 Xu方式控制字8255举例启动/停止A/D转换MOV DX,303H
17、MOV AL,0XXX1110BOUT DX,AL 0X X X11110X X X1110 MOV DX,303H MOV AL,0XXX1111B OUT DX,AL 停止停止A/D,即清,即清PC7 = Lu完成A/D变换过程编程 启动A/D,即置 PC7 = H8255举例A/D转换状态查询及读结果查询PC4,完成A/D变换数据读入A端口 MOV DX,302H ;C端口R/W地址为302H AG:IN AL,DX ;C端口数据读入 AL TEST AL,00100000B ;测PC5位是否为0 JZ AG ;为 0 循环查询,为 1 继续 MOV DX,300H ;A端口R/W地址为
18、300H IN AL,DX ; A/D变换数据读入 AL8255举例D/A转换完成完成B端口端口D/A变换数据输出编程变换数据输出编程 ;数据处理过程略;数据处理过程略 MOV DX,301H ;B端口端口R/W地址为地址为301H OUT DX,AL ; B端口数据送端口数据送D/A变换器变换器8255举例定时/计数芯片Intel8253 定时/计数器的作用 生产线上统计产品的数目-计数器 系统的动态存储器刷新-定时器 系统时钟计时-定时器 扬声器的频率源-定时器 如何定时 软件定时,优点是节省硬件;缺点是执行程序期间CPU一直被占用,降低了CPU效率 硬件定时,要用额外的硬件计数/定时器,
19、但可提高CPU的利用率l 初始化:8253没有复位端,开机后必须进行软件初始化。另外,在改变计数器工作方式时也需要对8253进行初始化设置。p 必须先写入控制字,再设置计数初值。p 在设置计数初值时,要根据控制字中内容确定是只写高8位,只写低8位,还是先低后高写入16位。l 读计数值:p CPU应先送计数器锁存命令,再用输入指令从输出锁存器中获取计数值。p 读取计数值时应根据控制字内容确定是只读高8位,只读低8位,还是先低后高读出16位。定时/计数芯片Intel8253 8253的内部结构及基本功能的内部结构及基本功能 8253的外接特性及端口地址的外接特性及端口地址 8253的控制字及工作方
20、式的控制字及工作方式 8253的程控技术的程控技术定时/计数功能的实现 定时功能和计数功能均可通过计数器来实现:若计数器输入为标准时钟脉冲,则通过计数可得到时间间隔,实现定时功能;若计数器的输入为需计数的信号,则计数值就是一定时间内信号(脉冲)出现的次数,即实现计数功能。定时定时/计数器计数器控制寄存器控制寄存器状态寄存器状态寄存器数据数据缓冲缓冲读读/写写控控制制逻逻辑辑计数初值寄存器计数初值寄存器当前计数值输出寄存器当前计数值输出寄存器计数器计数器计计数数控控制制数据数据总线总线RESETREADY中断申请中断申请CLKGATE OUT 面面向向外外设设面面向向CPURDWRCSA1A08
21、253内部结构数据总线缓冲器数据总线缓冲器8D0D7内部总内部总线线CLK0计数器计数器0GATE0OUT0计数器计数器1CLK1GATE1OUT1计数器计数器2CLK2GATE2OUT2读读/写逻辑写逻辑A0A1WRRDCS控制字寄存器控制字寄存器内部的各计数器的结构&CLKGATE16位当前计数值锁存器位当前计数值锁存器16位减一计数器位减一计数器16位计数初值寄存器位计数初值寄存器OUT(减(减1至至0时)时)MSBLSB装入初值装入初值LSBMSB锁存后读锁存后读出当前值出当前值8253基本功能 具有三个相互独立的16位计数器通道 每个通道都可设定以6种工作方式之一进行计数/定时 每个
22、计数器都可设为按二进制或BCD码计数 具有计数和定时功能,基于减1计数工作 定时器减为0后,可自动装入定时常数初值,并产生输出信号 在减1操作中,任何时刻计数器的值都可由CPU经计数输出寄存器读取8253引脚 数据线 控制线 电源线 D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 CS VCC GND 8 7 6 5 4 3 2 1 22 23 19 20 21 24 12 Intel 8253 9 11 10 15 14 13 18 16 17 CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 计数器 0 计数器 1 计数
23、器 2 8253引脚 8253与CPU的接口 8 位数据线:D0 D7 寻址控制线:A0、A0、/CS 读写控制线:/RD、/WR 8253与外设的接口 注: 三个独立的计数器/定时器 时钟输入:CLK 输入门控:GATE 波形输出:OUT 8253的外接特性及端口地址的确定87 96 115 1043 2 15 1 14 22 1323 19 20 1821 16 24 17128253D0D1D2D3D4D5D6D7/WR/RDA0A1/CSVCCGNDCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2面面向向CPU面面向向外外设设数据总线三态数据总线三态1XX
24、写控制寄存器写控制寄存器011读读/写计数器写计数器2001读读/写计数器写计数器1010读读/写计数器写计数器0000操操 作作A0A1CS8253寄存器选择表8253的控制字及工作方式D7 D6 D5 D4 D3 D2 D1 D0D0=0,采用二进制计数;,采用二进制计数;D0=1,采用二,采用二-十进制计数;十进制计数;D3D2D1=000,计数器工作在方式,计数器工作在方式0D3D2D1=001,计数器工作在方式,计数器工作在方式1 D3D2D1=*10,计数器工作在方式,计数器工作在方式2 D3D2D1=*11,计数器工作在方式,计数器工作在方式3 D3D2D1=100,计数器工作在
25、方式,计数器工作在方式4 D3D2D1=101,计数器工作在方式,计数器工作在方式5D5D4=00,将当前计数值锁存至输出寄存,将当前计数值锁存至输出寄存器中以供器中以供CPU读;读;D5D4=01,只读,只读/写计数器低写计数器低8位;位;D5D4=10,只读,只读/写计数器高写计数器高8位;位;D5D4=11,先读,先读/写计数器低写计数器低8位,再读位,再读/写写计数器高计数器高8位;位;D7D6=00,选择计数器,选择计数器0的控制寄存器;的控制寄存器;D7D6=01,选择计数器,选择计数器1的控制寄存器;的控制寄存器;D7D6=10,选择计数器,选择计数器2的控制寄存器;的控制寄存器
26、;D7D6=11,非法;,非法;例将计数器2初始化为工作方式3,计数初值为533H,为二进制计数方式,设寄存器地址为40H 43H 控制字MOV AL,0B6H;计数器2,先低后高字节OUT 43H,AL;写命令字MOV AX,533H;计数初值OUT 42H,AL;写计数值低位MOV AL,AHOUT 42H,AL;写计数值高位8253的控制字例8253工作为计数器 1,方式 3,初值为4020H,十进制计数,设寄存器地址为40H 43H 控制字8253的控制字工作方式与功能 方式0:计数结束产生中断输出(软件启动)方式1:可编程单脉冲(硬件启动)方式2:速率发生器(软、硬件启动)方式3:方
27、波发生器(软、硬件启动)方式4:软件触发选通方式5:硬件触发选通方式0计数结束产生中断 预置初值之后,OUT保持低电平。只有当计数器中计数值减为0时,OUT才会输出高电平并维持 计数初值寄存器CR在延迟一个CLK脉冲后传到CE中,因此N1个CLK脉冲后计数值才变为0 GATE=0,计数暂停;1,继续计数 计数过程中可重写或改变计数值 C W = 1 0 H L S B = 4 W R C L K G AT E O U T 4 3 2 1 0 F F F E C W = 1 0 H L S B = 3 W R C L K G A T E O U T 3 2 2 2 1 0 F F 8253工作在
28、方式0时的波形图CW 写入后使输出写入后使输出OUT变为低电平变为低电平LSB之后的第一个之后的第一个CLK下降沿才将计下降沿才将计数初值送入计数器数初值送入计数器计数减至计数减至0后后OUT 恢复为高电平恢复为高电平GATE信号可以使信号可以使计数暂停计数暂停 C W = 1 0 H L S B = 3 L S B = 2 W R C L K G A T E O U T 3 2 1 2 1 F F 0 计数过程中重新写计数过程中重新写入的初值将在之后入的初值将在之后的第一个的第一个CLK下降下降沿起作用沿起作用6种工作方式的对比种工作方式的对比方式0初始化设计数器0工作于方式0,8位二进制计
29、数,初值为9。端口地址为0E0H0E3H初始化程序MOVAL,10H;设计数器0,工作方式0OUT0E3H,AL;写入控制寄存器MOVAL,9 ;设计数初值OUT0E0H,AL;写初值入计数器0的CR 方式1可编程单脉冲 门控信号GATE正脉冲启动定时/计数 允许当前计数未完时的多次重触发,GATE再触发后,OUT输出会保持N个CLK脉宽的低电平 下个GATE正脉冲触发信号到来时,会将新初值装入CE中,使计数单元从新初值开始计数方式1初始化 设计数器1工作于方式1,BCD码计数,计数值为十进制4000。设端口地址为0E0H0E3H 16位计数初值,但由于计数值低8位为0,所以可以设定读/写操作
30、控制段只写高8位,CR低8位自动清0。控制字为01100011B,初始值40HMOVAL,63H;设控制字OUT0E3H,ALMOVAL,40H;设初值40H(高8位)OUT 0E1H,AL方式2速率发生器 计数器减到1时,OUT仅输出一个CLK脉宽的低电平,然后自动装入重新计数 GATE由低变高会重新装入初值 新初值在下次计数才起作用方式2初始化 设计数器工作于方式2,二进制计数,计数初值0304H。端口地址0E0H0E3HMOV AL,0B4H ;控制字OUT 0E3H,ALMOV AL,04H;计数器低字节OUT 0E2H,ALMOV AL,03H;计数器高字节OUT 0E2H,AL方式
31、3方波发生器 与方式2类似,但其输出方波或准方波 计数值完成一半时,使OUT变低,直到计数任务全部完成为止,OUT恢复为高 初值为偶数时,每次减2,直至0时OUT输出变为低电平,然后又从初值开始,每次减2,直至0时OUT输出变为高电平 初值为奇数时,先减1,后每次减2,直至为0。即有(N+1)/2个脉宽的高电平,(N-1)/2个脉宽的低电平 GATE由低变高时,重新开始计数方式3初始化 计数器0工作于方式3,二进制计数,初值为4。端口地址为0E0H0E3HMOV AL,16H;控制字OUT 0E3H,ALMOV AL,4;初值OUT 0E0H,AL方式4软件触发选通 计数减到0时输出一个脉宽的
32、低电平 GATE由低到高时,计数器恢复工作,而不重置初值 计数过程中,新初值立即起作用 方式4初始化 设计数器1工作于方式4,二进制计数,计数初值为3。端口地址为0E0H0E3HMOV AL,58H;控制字OUT 0E3H,ALMOV AL,3;初值OUT 0E1H,AL方式5硬件触发选通 如方式1,方式5也是硬件触发 计数器到0,输出一个脉宽的负脉冲 允许当前计数未完时的多次重触发 GATE触发,按新初值计数方式5初始化 设计数器2工作于方式5,二进制计数,计数初值为3,端口地址为0E0H0E3HMOV AL,9AH ;控制字OUT 0E3H,ALMOV AL,3;初始值OUT 0E2H,AL8253工作方式总结5.4 计数定时接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国社区养老服务行业开拓第二增长曲线战略制定与实施研究报告
- 2025-2030年中国美甲行业并购重组扩张战略制定与实施研究报告
- 脂肪酶活检测原理及方法
- 服装品牌意向调查问卷
- 建设廉洁政治读书心得体会-总结报告模板
- 2024年游记作文300字
- 商品知识培训课件下载
- 打造高绩效团队培训课件2
- 年产7000吨铜、铝电磁线项目可行性研究报告模板-立项拿地
- 二零二五年度安全生产标准化体系完善与维护服务合同3篇
- 2023年售前工程师年度总结及来年计划
- 中图版八年级地理下册6.2《中东》练习题(含答案)
- “基础教育精品课”PPT课件模板
- 公司8D异常报告
- 职业教育技能大赛存在的问题及建议
- 2022届高考英语二轮复习:阅读理解细节理解题 导学案
- 中文网络成瘾量表(台湾陈淑惠)
- 储运车间装卸车和储罐安全操作培训
- 洞庭湖观鸟旅游发展现状及对策
- 土壤与肥料学课件
- 供应商物料质量问题赔偿协议(中文)
评论
0/150
提交评论