贵州大学微机原理PPT及复习PPT 微机第07章(2)8253.ppt_第1页
贵州大学微机原理PPT及复习PPT 微机第07章(2)8253.ppt_第2页
贵州大学微机原理PPT及复习PPT 微机第07章(2)8253.ppt_第3页
贵州大学微机原理PPT及复习PPT 微机第07章(2)8253.ppt_第4页
贵州大学微机原理PPT及复习PPT 微机第07章(2)8253.ppt_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、第7章 典型可编程接口芯片及应用,7.1 可编程中断控制器芯片8259,7.2 可编程定时/计数器芯片8254,7.4 串行通信和串行接口芯片8251,7.3 可编程并行接口芯片8255,8253主要功能: 以均匀分布的时间间隔中断操作系统,以便切换程序; 向I/O设备输出精确的定时信号,信号的周期可由程序控制; 用来作为可编程波特率发生器; 检测外部事件发生的频率或周期; 统计外部事件发生的次数,计数结果送至计算机; 在定时或计数达到编程规定的值以后,向CPU申请中断。,7.2 可编程定时/计数器,7.2.1概述,微机应用系统的重要应用之一是如何用好定时/计数器。 即常常需要实时钟或延时或对

2、外部事件计数。 实现定时或延时控制的常用方法: (1)软件延时:用一个不完成任何功能的程序段实现; (2)常用数字电路定时:555 (3)可编程硬件定时:8253,其定时值和定时范围可以通过 软件来确定和改变。,7.2.2 可编程定时器计数器8253,一.内部结构与功能,Intel 8253_ 三个通道 16位 再装入定时计数器, 可由软件设定6种工作方式。,内部结构见右图。 说明: 8253内部由三个独立通道组成,结构与工作原理完全相同。,控制字寄存器只能写不能读,写入的控制字将控制通道的工作方式。 数据总线缓冲器用于与CPU间的信息通道。,二、8253的引脚功能(24PIN),1. D7D

3、0:数据总线,双向,三态, 直接与计算机数据总线相连。 2. CLK0CLK2:计数时钟输入端, 下降沿使通道减1。 3. GATE0GATE2:门控制,输入, 高电平有效或上升沿有效, 有效时允许计数器对输入时钟计数。 4. OUT0OUT2:通道输出信号, 计数器到“0”时由此输出一信号, 输出波形形式取决于工作方式。 5. A1、A0:寻址3个通道的计数器 和控制寄存器(3个通道的控制寄 存器共用一个端口地址). 6. RD、WR和CS:8253的读、写 和片选信号,均为低电平有效。,8253与8086系统计算机连接,说明: 1. 8253的数据线D7D0接8086的数据总线的低8位。

4、2. 8253的A1和A0分别接系统的A2和A1,使用偶地址传递信息。 3.由74LS138,74LS30和74LS04译码选中8253。,4. 8253的三个通道输入时钟由系统PCLK分频得到,频率为: 2.38636/2=1.1931816MHz. 5. 在IBM-PC/XT微机系统中,通道0定时OUT0接8259的IR0,通道1刷新动态存储器,通道2控制扬声器发声.,三、8253的控制字及芯片工作方式,1方式字,M2M1M0:计数器工作方式选择 0 0 0 方式0 0 0 1 方式1 x 1 0 方式2 x 1 1 方式3 1 0 0 方式4 1 0 1 方式5 BCD:计数器进制选择

5、0 16位二进制计数器 1 BCD码计数器,SC1 SC0:计数器通道选择 0 0 通道0 0 1 通道1 1 0 通道2 1 1 非法 RW1 RW0:计数器读写选择 0 0 计数器锁存 0 1 只读写低8位 1 0 只读写高8位 1 1 先读写低8位,再读写高8位,控制字写入控制端口,各位含义如下:,2. 8253工作方式,(1) 方式0计数结束产生中断,(2)方式1可重复触发单稳触发器 写入CW后OUT变为高电平, GATE上升沿触发后,OUT变为低并开始计数,归零时OUT变为高电平。 GATE再来一次上升沿使OUT为低,计数器以初值重新计数。 计数过程中,再次给通道写入时间常数,不影响

6、现行操作过程,GATE再次触发后才按新的时间常数操作。,例:若8253的地址为04H07H,要使计数器工作在方式0,仅用8位二进制数,计数初值为128,初始化程序为: MOVAL ,50H OUT07H,AL MOVAL ,80H OUT05H,AL,计数过程中,GATE触发沿提前到来,在下一个CLK的下降沿,计数器开始重新计数,这将使输出单稳脉冲比原先设定的计数值加宽。,可重复触发 当计数归零后,不用再次送计数值,只要给它触发脉冲,即可产生一个同样宽度的单稳脉冲输出。,软件同步:计数器写入控制字和计数初值后,如GATE一直处于高电平, 那么,在下一个脉冲开始计数器计数。 通过写入计数初值使计

7、数器同步,称为。,硬件同步:由前述知,门控信号可实现计数器的同步,称为。,(4)方式3方波发生器(连续) 写入CW后OUT变为高电平,输入时间常数后,下一个时钟开始计数,计到一半时输出变为低电平,计到终值时重新变为高电平,并开始下一次计数过程。 若N为偶数,高低电平持续时间相等;若为奇数,则高电平持续时间为(N+1)/2,低电平持续时间为(N-1)/2。, GATE=1计数进行。在计数过程中若GATE=0,计数停止且OUT为高,计数器重新赋初值,GATE回到高时计数重新开始。 计数期间送入新值,本周期继续进行,下一个周期按新值计数。,(5)方式4软件触发选通 写入CW后OUT为高电平,输入时间

8、常数后,下一个CLK开始计数,计数器为0时,输出一个周期负脉冲,并停止操作。 GATE=1允许计数,GATE=0禁止计数。 计数期间送入新的时间常数,则下一个时钟按新值重新计数。,(6)方式5硬件触发选通 写入CW后OUT为高电平,输入时间常数后由GATE上升沿启动计数。计数为0时输出一个时钟的负脉冲,并停止操作。 计数过程中,若GATE又来一个上升沿,则下一个时钟计数器重新赋值计数。 计数过程中写入时间常数,当前周期不受影响,在下一个 GATE上升沿启动新值计数。,8253有6种不同的工作方式。其中: 方式0 写入CW后,输出即变低,计数结束输出为高,常用该输出信号作为中断源。其余5种方式写

9、入CW后,输出均变高。 方式0可用来实现定时或对外部事件进行计数。 方式1用来产生单脉冲。 方式2用来产生序列负脉冲,每个负脉冲的宽度与CLK的周期相同。 方式3用于产生连续的方波。方式2和方式3都实现对CLK的n分频。 方式4和方式5的波形相同,都是计数器归0后的1个负脉冲,宽度为1个CLK。 方式2、4、5的输出波形是相同的,都是宽度为一个CLK周期的负脉冲。但方式2是连续的,方式4是由软件(设置初值)触发启动,而方式5由硬件(门控脉冲)触发启动。 方式1、5 触发计数方式相同,但输出波形不同。方式1为输出n个CLK脉冲周期的负脉冲(计数过程中输出为低),而方式5输出的是宽度为1个CLK脉

10、冲周期的负脉冲(计数过程输出为高)。,3. 8253工作方式小结,四、8253应用举例,(一)ROMBIOS对8253初始化 1. 对计数器0的初始化 MOV AL,36H OUT 46H,AL MOV AL,00H OUT 40H,AL OUT 40H,AL 说明: (1)计数器0工作于方波发生器方式,对CLK(1.1931816MHz)进行65536(216)分频。 (2)计数器0的输出端OUT0接8259的IR0,每次归0产生一次中断请求,中断号由BIOS设置为8。 (3)中断时间间隔为54.925ms,每秒钟来18.2次中断。 (4)通道0的时间间隔是计算机系统时标基础。,2. 对计数

11、器1的初始化 MOV AL,54H OUT 46H,AL MOV AL,18(18分频) OUT 42H,AL (1)通道1给DMA控制器提供时钟。 (2)输出频率为66.288KHz. 3. 对计数器2的初始化和接通喇叭 MOV AL,0B6H OUT 46H,AL MOV AX,533H OUT 44H,AL MOV AL,AH OUT 44H,AL IN AL,62H;读入8255的PB口 MOV AH,AL;保护原值 OR AL,03H;置1 PB1和PB0 OUT 62H,AL;输出。,说明: (1)定时器2工作在方波发生器方式,驱动扬声器发声。 (2)发声频率为896Hz (3)扬

12、声器发声还受8255的PB0和PB1控制。 (二)8253的定时功能及其应用 例:将8253的计数器1作为5ms定时器,设输入时钟频率为200kHz,试编写8253的初始化程序。 (1)计数初值N计算 已知输入时钟CLK频率为200kHz,则时钟周期为T=1/200kHZ=5us, 于是计数初值N为: N=5ms/T=5ms/5s=1000。 (2)确定控制字 按题意选计数器1,按BCD码计数,工,作于方式0,由于计数初值N=1000,控制字D5D4应为11,8253的控制字为: 01110001B=71H。 (3)选择8253各端口地址 设计数器1的端口地址为3F82H,控制口地址为3F86

13、H。 (4)初始化程序如下 MOV AL,71H ;控制字 MOV DX,3F86H ;控制口地址 OUT DX,AL ;控制字送8253 控制寄存器 MOV DX,3F82H ;计数器1地址 MOV AL,00 ;计数初值 N=1000的低8位写入计数器1 OUT DX,AL MOV AL,10H ;将N的高8位写 入计数器1 OUT DX,AL,(三)8253的计数功能及其应用 例:8086系统中有一片8253芯片, 利用计数通道2对外部事件计数,计 满360次经8259的IR1向CPU发出中 断信号,硬件电路如图所示。计数器2 口地址为05DH,控制口地址为05FH。 试编写8253的初

14、始化程序。,(1)外部事件作为计数脉冲从通道2的CLK2进入,采用方式0工作,计数常数为360D。当计满360次时从OUT2端输出一个正跳变信号作为中断申请信号送入8259A的IR1输入端,由8259向CPU发出中断申请。 (2)初始化编程 计数通道2工作于方式0,计数初值为360D=168H,采用二进制计数,则控制字为:10110000B=B0H。 (3)计数通道2初始化程序 MOV AL ,0B0H ;通道2的控制字 OUT 5FH,AL ;写入控制器 MOV AL ,68H ;计数初值的低8位 OUT 5DH,AL ;写入计数通道2 MOV AL ,01H ;计数初值的高8位 OUT 5

15、DH,AL ;写入计数通道2,(四)8253应用 P278 例:航空发动机数字控制系统中采用8253测速的实例。硬件电路如下图。对传感器输出的转速信号经过衰减、滤波和光电耦合处理,再经过整形电路送到8253计数器,进行测量。,被测转子转速n为011156转/分,发动机每转对应传感器输出300个脉冲。 基本测量原理是:测量D个(D值根据当时实际转速范围选择)传感器输出脉冲CLK1所占有的时间为多少个(设为X个,待测)标准时钟周期PCLK(设为Tr,单位us),从而算出实际转速:,设8253端口地址为280H、282H、284H和286H,主要程序片段:,;主程序中对8253初始化 INIT_C:

16、 MOV DX,286H ;控制端口地址为286H MOV AL,01010010B ;计数器1:方式1;读/写低字节. OUT DX,AL ;送方式控制字到控制寄存器 MOV AL,10110000B ;计数器2:方式0;读/写双字节. OUT DX,AL MOV AL,00010000B ;计数器0:方式0;读/写低字节. OUT DX,AL INIT_D: MOV DX,282H ;计数器1地址 MOV AL,20 OUT DX,AL ;写入计数初值D=20到计数器1 INC DX INC DX ;计数器2地址 MOV AL,0 OUT DX,AL ;写入低8位计数值到计数器2 OUT DX,AL ;写入高8位计数值到计数器2 MOV DX,280H ;计数器0地址 MOV AL,01H OUT DX,AL ;写入1到计数器0、启动测量过程,;中断服务程序中,读取计数

温馨提示

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

评论

0/150

提交评论