计算机接口技术ppt电子教案课件8237a的地址扩展

上传人:aa****6 文档编号:54724523 上传时间:2018-09-18 格式:PPT 页数:38 大小:891KB
返回 下载 相关 举报
计算机接口技术ppt电子教案课件8237a的地址扩展_第1页
第1页 / 共38页
计算机接口技术ppt电子教案课件8237a的地址扩展_第2页
第2页 / 共38页
计算机接口技术ppt电子教案课件8237a的地址扩展_第3页
第3页 / 共38页
计算机接口技术ppt电子教案课件8237a的地址扩展_第4页
第4页 / 共38页
计算机接口技术ppt电子教案课件8237a的地址扩展_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《计算机接口技术ppt电子教案课件8237a的地址扩展》由会员分享,可在线阅读,更多相关《计算机接口技术ppt电子教案课件8237a的地址扩展(38页珍藏版)》请在金锄头文库上搜索。

1、1,8237A的地址扩展,8237A16条地址线 808620条 8028624条 38632条 扩展方法增加页地址寄存器 DMA传送时的高位地址由“页面寄存器”提供,页面寄存器由CPU的输出指令实现写入 DMAC1的通道0通道3:8237A提供系统A0A15低16位地址,页面寄存器输出系统A16A23高8位地址 DMAC2的通道5通道7:8237A提供系统A1A16的16位地址,而系统A0被强迫为逻辑0,页面寄存器仅输出高7位地址A17A23,2,例,试初始化DMA通道2为写传送,用于将软盘一个扇区的数据(512Byte)传送到内存中 入口条件:ES:BX=缓冲区首地址 INITDMA2 P

2、ROCMOV AL,04H ;命令字OUT 08H,AL ;08H 命令寄存器端口MOV AL,46H ;方式字OUT 0BH,AL ;0BH 方式寄存器端口 此时DL为页地址,BX为基地址,3,OUT 0CH,AL ;0CH 先/后触发器;软件命令,AL为任意值MOV AL,BL ;写基地址低8位OUT 04H,AL ;04H 写CH2的基地址和当前MOV AL,BH ;地址寄存器OUT 04H,ALMOV AL,DL ;写页地址寄存器OUT 81H,ALMOV AL,0FFH ;写字节数OUT 05H,AL ;05H 写CH2的基字节数和当MOV AL,01H ;前字节数寄存器,4,OUT

3、 05H,ALMOV AL,02H ;单通道屏蔽字OUT 0AH,AL ;去除CH2的屏蔽MOV AL,10HOUT 08H,AL ;重写命令字,开DMARET INITDMA2 ENDP,5,命令字,命令字:0000 0100B=04H,6,方式字,方式字:0100 0110B=46H,7,8237A各寄存器对应的端口地址,第五章 定时器/计数器接口,intel8253,9,5.1 概述,计数器记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数,进而获知外设的某种状态定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔,10,5.1 概述,实现定

4、时/计数的三种方法 1、软件方法 CPU执行每条指令所需时间是固定的,通过编制一个延时程序段让微处理器执行, 可得到定时的时间。这种方法通用性和灵活性好,但占用CPU时间。 2、不可编程的硬件方法 采用分频器、单稳电路或简易定时电路控制定时时间,例如555定时电路,这种方法不占用CPU时间,但通用性、灵活性差。 3、可编程计数器/定时器方法 软件硬件相结合,用可编程定时器芯片构成定时电路,可由软件设定定时与计数功能,设定后与CPU并行工作,不占用CPU时间,使用灵活。,11,5.2 8253可编程定时/计数器,一、8253的特性 8253采用+5V单一电源,24引脚DIP封装 (1)片内具有3

5、个独立的16位计数通道 (2)计数频率(CLK时钟频率)为02.6MHz (3)每个通道独立定时或计数,可以按二进制或BCD计数 (4)每个通道可编程设定6种不同的工作方式 (5)可由软件或硬件控制开始计数或停止计数 (6)所有输入/输出引脚与TTL兼容,12,8253,13,二、8253的内部结构,14,二、8253的内部结构,数据总线缓冲器 8位双向三态的缓冲器,可直接挂在数据总线上。 1.可以向控制寄存器写入控制字,向计数器写入计数初值 2.可由CPU通过该缓冲器读取计数器的当前计数值,15,二、8253的内部结构,读/写控制逻辑 功能: 1.接收来自CPU的控制信号,包括读信号、写信号

6、、片选信号和芯片内部寄存器的寻址信号A1、A0, 2.8253各计数器的读/写操作,16,二、8253的内部结构,控制字寄存器接收来自CPU的控制字,并由控制字D7、D6位的编码决定该控制字写入哪一个计数器的控制寄存器中,17,8253的控制字,在8254中是锁存命令特征位,此时D3-D0无效,低8位自动填0,最小0001H 最大0000H,最小1 最大104 若初值为20D,直接写20H就可以了,18,每个计数器通道的结构,计数初值存于预置寄存器;,输出锁存器用于写入锁存命令时, 锁定当前计数值,在计数过程中, 减计数器的值不断递减, 而预置寄存器中的预置不变。,19,三、8253的引脚,C

7、LK0,1,2,时钟脉冲输入端。 用于输入定时脉冲或计数脉冲信号。 CLK可以是系统时钟脉冲,也可以由其他脉冲源提供,20,三、8253的引脚,OUT0,1,2,,计数输出端。 在不同方式的计数过程中,OUT引脚上输出相应的信号,21,三、8253的引脚,GATE0,1,2,门控输入端。 用于外部控制计数器的启动和停止计数的操作。 两个或两个以上计数器连用时,可用此信号来同步,22,四、8253的工作方式,Intel8253的每个计数通道都有6种工作方式。这6种工作方式主要有五点不同: 1)启动方式不同; 2)输出波形不同; 3)门控信号GATE对计数过程的影响不同; 4)在计数过程中重新写入

8、计数初值对计数过程的影响不同; 5)计数结束后,计数器是否恢复计数初值并自动重复计数不同。,23,1、方式 0 (计数结束输出高电平),写入控制字,OUT端立即变为低电平 计数初值装入该计数器后,计数开始。软件启动 在整个计数过程中,OUT保持低电平,当计数器减为0时,OUT输出高电平。 计数器只计一遍不重复计数 计数过程中,GATE端应保持高电平 计数过程中可以随时修改初值:装入计数值为8位时,立即开始计数;装入16位计数值时,在写入第一个字节后停止计数,等第二个字节写入后开始新的计数。,24,2、方式1(可编程单拍脉冲),写入控制字,OUT端为高电平 装入初值后,在GATE信号的上升沿后的

9、下一个CLK脉冲的下降沿开始计数,OUT变为低电平 在整个计数过程中,OUT保持低电平 当计数器减为0时,OUT变为高电平,输出一个单脉冲 若GATE信号再由低变高,可再产生一个单脉冲。可多次触发计数 GATE上升沿触发,计数值可重复使用。硬件启动,可重复计数,25,3、方式2(分频器),写入控制字,输出变高 装入初值,开始计数软件启动 由GATE信号控制,若GATE信号为0时,暂停计数,当变为高电平的下一个CLK脉冲又开始重新计数硬件启动 计数过程中,CPU可随时改变计数值,但下次计数才按新的计数值计数 8253相当于一个分频脉冲产生器,若计数值为N,则每输入N个CLK脉冲,输出一个脉冲,脉

10、冲宽度等于CLK周期。,26,4、方式3(方波发生器),CPU写入控制字后OUT变高 写入计数值后,若GATE=1则自动开始计数软件启动 GATE可以控制计数,若GATE=0暂停计数,GATE=1允许计数硬件启动 计数过程中,新装入值不影响原计数过程。 前 N/2或(N+1)/2 个CLK,OUT为高,后N/2或(N-1)/2 个CLK, OUT为低。 输出周期性方波,若计数值为N,则输出的方波周期是NCLK周期。 重复计数,27,方式3的应用,计数器0:方式3,计数值:65536,输出频率为1.19318MHz6553618.206Hz的方波,门控为常启状态,这个方波信号不断产生。OUT0端

11、接8259A的IRQ0,用作中断请求信号 每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能,28,计数工作方式3 计数值0=65536,计数工作方式2 计数值18,29,5、方式4(软件触发选通),写入控制字,OUT端为高电平 写入计数初值后立即开始计数软件启动 计数器计到0时,OUT变为低电平,经过一个CLK脉冲周期,OUT又变高,计数器停止计数 只有写入新计数值才能开始新的计数不自动重复计数 要求GATE一直为高电平,若为低则暂停,30,6、方式5(硬件触发选通),写入控制字,

12、OUT变高 写入计数初值 由GATE信号的上升沿触发开始计数。计到0后,OUT变为低电平。经一个CLK周期后,OUT又变为高电平,并停止计数 等下次GATE触发才能再计数不自动重复计数 计数初值可多次使用,31,6种工作方式对比,32,8253-工作方式与门控信号的关系,33,5.3 8253应用实例,先初始化,步骤如下: 1.写入方式控制字,以选择计数通道,确定其工作方式。 2.写入计数初值到对应的计数通道中,确定计数定时时间。 几点说明: 先写控制字,后写计数初始值 每个计数通道的控制字都要写入同一控制口,计数初始值则写入指定计数通道对应的端口 对3个计数通道的初始化编程没有先后顺序,但对

13、某一通道若需写初值的高位,则必须按照先写低位后些高位的顺序,34,计数初值的计算,8253用于定时:定时时间时钟脉冲周期Tc计数初值N8253用于计数/分频时钟脉冲频率Tc=输出脉冲频率计数初值N 例如:某微机中8253的计数脉冲频率是1MHz,则时钟脉冲周期Tc1/1MHz1us,若需定时1ms,则设置的计数器初值N1000,35,例1 初始化,某8253各计数通道地址分别为0F8H、0FAH、0FCH,控制字端口0FEH,计数通道0工作于方式1,按照二进制计数,计数 初始值为500,试对其初始化编程,MOV AL, 32H OUT 0FEH,AL MOV AX, 500 OUT 0F8H,

14、AL MOV AL, AH OUT 0F8H,AL,36,例2 组合成32位计数器,37,例3 分频器设计,某微机系统中8253的端口地址为250H253H,如何用该定时器将1MHz的脉冲变为1Hz的脉冲?,38,例3 分频器设计,MOV AL, 27H ;计数器0控制字,写MB,方式3,BCD MOV DX, 253H OUT DX, AL MOV AL, 67H ;计数器 1控制字,写MB,方式3,BCD OUT DX, AL MOV DX, 0250H MOV AL, 02H ;计数器 0时间常数(BCD数高8位) OUT DX, AL MOV AL, 50H ;计数器 1时间常数(BC

15、D数高8位) MOV DX, 0251H OUT DX, AL,00 10 011 1,01 10 011 1,0 2 0 0=200,5 0 0 0=5000,39,例4 定时中断控制,某微机应用系统中,系统提供一个频率为10kHz的时钟信号,要求每隔10ms完成一次扫描键盘的工作。为了提高CPU的工作效率,采用定时中断的方式进行键盘的扫描。 分析:在该系统中,采用8253定时器的通道0来实现规定的要求。将8253芯片的CLK0接到系统的10kHz时钟上,OUT0输出接到CPU的中断请求线上,8253的端口地址为10H13H。,40,例4 定时中断控制,(1)工作方式的选择 由于该系统每隔1

16、0ms完成一次动作,则扫描键盘的动作频率为100Hz,可选用方式2来实现。 当8253定时器工作在方式2时,在写入控制字与计数初值后,定时器就启动工作,每到10ms时间,即计数器减到1时,输出端0UT0输出一个CLK周期的低电平,向CPU申请中断,完成键盘扫描,同时按原设定值重新开始计数,从而实现计数值的自动重装。,41,例4 定时中断控制,(2)确定计数初值 由给定可知,fCLK0=10KHz,则TCLK0=0.1ms,所以计数初值为: N= TOUT0/ TCLK0=10ms/0.1ms=100,即64H。 (3)初始化编程 根据以上要求,可确定8253通道0的方式控制字为00010100B,即14H。 初始化程序段如下: MOV AL,14H OUT l3H,AL MOV AL,64H OUT 10H,AL,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号