微型计算机技术课件07-3.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《微型计算机技术课件07-3.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机 技术 课件 07
- 资源描述:
-
1、定时计数控制接口定时计数控制接口定时计数控制接口定时计数控制接口n 8253的引脚和六种工作方式的引脚和六种工作方式n 8253的编程的编程 n 8253在在IBM PC系列机上的应用系列机上的应用教学重点1.定时与计数定时与计数 在微机系统或智能化仪器仪表的工作过程在微机系统或智能化仪器仪表的工作过程中,经常需要使系统处于定时工作状态,或中,经常需要使系统处于定时工作状态,或者对外部过程进行计数。者对外部过程进行计数。定时或计数的工作实质均体现为对脉冲信号定时或计数的工作实质均体现为对脉冲信号的计数,如果计数的对象是标准的内部时钟的计数,如果计数的对象是标准的内部时钟信号,由于其周期恒定,故
2、计数值就恒定地信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时,如对应于一定的时间,这一过程即为定时,如果计数的对象是与外部果计数的对象是与外部过程相对应的脉冲信过程相对应的脉冲信号(周期可以不相等),则此时即为计数。号(周期可以不相等),则此时即为计数。2.2.定时功能的实现方法定时功能的实现方法软件延时软件延时利用微处理器执行一个延时程序段实现利用微处理器执行一个延时程序段实现不用硬件,但占用不用硬件,但占用CPU时间、定时精度不高,随系时间、定时精度不高,随系统时钟频率改变统时钟频率改变不可编程的硬件定时不可编程的硬件定时采用分频器、单稳电路或简易定时电路控制定时
3、时间采用分频器、单稳电路或简易定时电路控制定时时间定时电路简单、定时时间可以在一定范围改变定时电路简单、定时时间可以在一定范围改变可编程的硬件定时可编程的硬件定时软件硬件相结合、用可编程定时器芯片构成一个方便软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路灵活的定时电路具有多种工作方式、能够输出多种控制信号具有多种工作方式、能够输出多种控制信号计数器计数器/定时器的基本原理定时器的基本原理可编程计数器可编程计数器/定时器的工作原理定时器的工作原理 基于计数器的减1工作计数器计数器/定时器的用途定时器的用途在多任务的分时系统中用来作为中断信号实现程在多任务的分时系统中用来作为中断信号
4、实现程序的切换。序的切换。可以往可以往I/O设备输出精确的定时信号。设备输出精确的定时信号。作为一个可编程的波特率发生器。作为一个可编程的波特率发生器。实现时间延迟实现时间延迟定时定时/计数器芯片计数器芯片Intel8253 Intel8253是是8086/8088微机系统常用的定时微机系统常用的定时/计数器芯片,它具有定时与计数两大功能,计数器芯片,它具有定时与计数两大功能,同类型的定时同类型的定时/计数器芯片还有计数器芯片还有Intel8254等。等。一、一、8253的一般性能概述的一般性能概述 每个每个8253芯片有芯片有3个独立的个独立的16位计数器通道位计数器通道每个计数器通道都可以
5、按照二进制或二每个计数器通道都可以按照二进制或二十十进制计数进制计数每个计数器的计数速率可以高达每个计数器的计数速率可以高达2MHz每个通道有每个通道有6种工作方式,可以由程序设定种工作方式,可以由程序设定和改变和改变所有的输入、输出电平都与所有的输入、输出电平都与TTL兼容兼容D7D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2二、二、8253内部结构内部结构 8253内部实现与内部实现与CPU数据总线连接的数据总线连接的8位双向三态缓冲器,用以传送位双向三态缓冲器
6、,用以传送CPU向向8253的控制信息、数据信息以及的控制信息、数据信息以及CPU从从8253读取的状态信息,读取的状态信息,包括包括某一方某一方面时刻的实时计数值。面时刻的实时计数值。1数据总线缓冲器数据总线缓冲器2读读/写控制逻辑写控制逻辑 控制控制8253的片选及对内部相关寄存的片选及对内部相关寄存器的读器的读/写操作,它接收写操作,它接收CPU发来的地发来的地址信号以实现片选、内部通道选择以址信号以实现片选、内部通道选择以及对读及对读/写操作进行控制。写操作进行控制。3控制字寄存器控制字寄存器在在8253的初始化编程时,由的初始化编程时,由CPU写入写入控制字,以决定通道的工作方式,此
7、控制字,以决定通道的工作方式,此寄存器只能写入,不能读出。寄存器只能写入,不能读出。这是三个独立的,结构相同的计数器这是三个独立的,结构相同的计数器/定时器定时器通道,每一个通道包含通道,每一个通道包含一个一个16位的计数寄存器位的计数寄存器,用以存放计数初始值,和用以存放计数初始值,和一个一个16位的减法计数器位的减法计数器和和一个一个16位的锁存器位的锁存器,锁存器在计数器工作的过,锁存器在计数器工作的过程中,跟随计数值的变化,在接收到程中,跟随计数值的变化,在接收到CPU发来的发来的读计数值命令时,用以锁存计数值,供读计数值命令时,用以锁存计数值,供CPU读取,读取,读取完毕之后,输出锁
8、存器又跟随减读取完毕之后,输出锁存器又跟随减1计数器变化。计数器变化。另外,计数器的值为另外,计数器的值为0的状态,还反映在状态的状态,还反映在状态锁存器中,可供读取。锁存器中,可供读取。4计数通道计数通道0#、1#、2#三三、8253外部引脚外部引脚 8253芯片是具有芯片是具有24个引脚的双列直个引脚的双列直插式集成电路芯片,其引脚分布如图。插式集成电路芯片,其引脚分布如图。8253芯片的芯片的24个引脚分为两组,一个引脚分为两组,一组面向组面向CPU,另一组面向外部设备,各,另一组面向外部设备,各引脚及其所传送信号的情况,如下:引脚及其所传送信号的情况,如下:82538253的引脚的引脚
9、 1.面向面向CPU的引脚的引脚D0 D7:双向、三态数据线引脚,用以与系统的双向、三态数据线引脚,用以与系统的数据线连接,传送控制、数据及状态信息。数据线连接,传送控制、数据及状态信息。A0 A1:地址信号输入引脚,一般接地址信号输入引脚,一般接CPU地址总地址总线的线的A1、A0位,用以选位,用以选择择8253芯片的通道及控制芯片的通道及控制字寄存器。字寄存器。CS*:芯片选择信号输入引脚,低电平有效芯片选择信号输入引脚,低电平有效 RD*:来自于来自于CPU的读控制信号输入引脚,低电的读控制信号输入引脚,低电平有效平有效 WR*:来自于来自于CPU的写控制信号输入引脚,低电的写控制信号输
10、入引脚,低电平有效。平有效。CS*A1 A0计数器通道计数器通道读操作读操作RD*写操作写操作WR*0 0 00 0 10 1 00 1 10#1#2#控制端口控制端口读计数器读计数器0读计数器读计数器1读计数器读计数器2无操作无操作写计数器写计数器0写计数器写计数器1写计数器写计数器2写控制字写控制字2.各计数器的各计数器的3个引脚个引脚CLK时钟输入信号时钟输入信号在计数过程中,此引脚上每输入一个时钟信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减(下降沿),计数器的计数值减1GATE门控输入信号门控输入信号控制计数器工作,可分成电平控制和上升沿控控制计数器工作,可
11、分成电平控制和上升沿控制两种类型制两种类型OUT计数器输出信号计数器输出信号当一次计数过程结束(计数值减为当一次计数过程结束(计数值减为0),),OUT引脚上将产生一个输出信号引脚上将产生一个输出信号1.1.计数器计数器预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器输出锁存器计数初值存于计数初值存于预置寄存器预置寄存器;在计数过程中,在计数过程中,减法计数器减法计数器的值不断递减,的值不断递减,而预置寄存器中的预置不变。而预置寄存器中的预置不变。输出锁存器输出锁存器用于写入锁存命令时,用于写入锁存命令时,锁定当前计数值锁定当前计数值四四、82538253的控制字的控制字
12、计数器计数器读写格式读写格式工作方式工作方式数制数制D7D6D5D4D3D2D1D000 计数器计数器001 计数器计数器110 计数器计数器211 非法非法00 计数器锁存命计数器锁存命令令 01 只读写低字节只读写低字节10 只读写高字节只读写高字节11 先读写低字节先读写低字节 后读写高字节后读写高字节000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式50 二进制二进制1 十进制十进制控制字写入控制字控制字写入控制字I/O地址(地址(A1A011)示例示例四四、82538253的控制字的控制字 要使用要使用82538253,必须首先
13、进行初始化编程,初,必须首先进行初始化编程,初始化编程包括设置始化编程包括设置通道控制字通道控制字和送和送通道计数初通道计数初值值两个方面,控制字写入两个方面,控制字写入82538253的控制字寄存器,的控制字寄存器,而初始值则写入相应通道的计数寄存器中。而初始值则写入相应通道的计数寄存器中。初始化编程包括如下步骤:初始化编程包括如下步骤:(1)(1)写入通道控制字,规定通道的工作方式;写入通道控制字,规定通道的工作方式;(2)(2)写入计数值,若规定只写低写入计数值,若规定只写低8 8位,则高位,则高8 8位自位自动置动置0 0,若规定只写高,若规定只写高8 8位,则低位,则低8 8位自动置
14、位自动置0 0。若为若为1616位计数值则分两次写入,先写低位计数值则分两次写入,先写低8 8位,后位,后写高写高8 8位。位。D D0 0:用于确定计数数制,:用于确定计数数制,0 0,二进制;,二进制;1 1,BCDBCD码码18253的初始化编程的初始化编程例例1:设:设8253的端口地址为:的端口地址为:04H07H,要使计数器,要使计数器1工作在方式工作在方式0,仅用,仅用8位二进制计数,计数值为位二进制计数,计数值为128,进行初始化编程。进行初始化编程。控制字为:控制字为:01010000B=50H初始化程序:初始化程序:MOV AL,50H MOV DX,07H OUT DX,
15、AL MOV AL,80H MOV DX,05H OUT DX,AL例例2:设:设8253的端口地址为:的端口地址为:F8HFBH,若用通道,若用通道0工作工作在方式在方式1,按二,按二十进制计数,计数值为十进制计数,计数值为5080H,进行,进行初始化编程。初始化编程。控制字为:控制字为:00110011B=33H初始化程序:初始化程序:MOV AL,33H MOV DX,0FBH OUT DX,AL MOV AL,80H MOV DX,0F8H OUT DX,AL MOV AL,50H OUT DX,AL例例3:设:设8253的端口地址为:的端口地址为:04H07H,若用通道,若用通道2工
16、作在方式工作在方式2,按二进制计数,计数值为,按二进制计数,计数值为02F0H,进行,进行初始化编程。初始化编程。控制字为:控制字为:10110100B=0B4H初始化程序:初始化程序:MOV AL,0B4H MOV DX,07H OUT DX,AL MOV AL,0F0H MOV DX,06H OUT DX,AL MOV AL,02H OUT DX,AL 8253可用控制命令来读取相应通道的计数值,由可用控制命令来读取相应通道的计数值,由于计数值是于计数值是16位的,而读取的瞬时值,要分两次位的,而读取的瞬时值,要分两次读取,所以在读取计数值之前,要用锁存命令,读取,所以在读取计数值之前,要
17、用锁存命令,将相应通道的计数值锁存在锁存器中,然后分两将相应通道的计数值锁存在锁存器中,然后分两次读入,先读低字节,后读高字节。次读入,先读低字节,后读高字节。当控制字中,当控制字中,D5、D4=00时,控制字的作用是将时,控制字的作用是将相应通道的计数值锁存的命令,锁存计数值在读相应通道的计数值锁存的命令,锁存计数值在读取完成之后,自动解锁。取完成之后,自动解锁。2 2读取读取82538253通道中的计数值通道中的计数值如要读通道如要读通道1的的16位计数器,编程如下:位计数器,编程如下:地址地址F8HFBH。MOVAL,40H ;MOV DX,0FBHOUTDX,AL;锁存计数值;锁存计数
18、值MOV DX,0F9HINAL,DXMOVCL,AL;低八位;低八位INAL,DX;MOVCH,AL;高八位;高八位五五、82538253在系统中的典型连接在系统中的典型连接1试说明定时和计数在实际系统中的应用?这两者之间有和联系和差别?2定时和计数有哪几种实现方法?各有什么特点?3试说明定时/计数器芯片Intel8253的内部结构。定时/计数器芯片Intel8253占用几个端口地址?各个端口分别对应什么 习题与思考习题与思考六六、82538253的工作方式的工作方式 8253共有共有6种工作方式,各方式下的工作状态是不种工作方式,各方式下的工作状态是不同的,输出的波形也不同,其中比较灵活的
19、是同的,输出的波形也不同,其中比较灵活的是门门控信号控信号的作用。由此组成了的作用。由此组成了8253丰富的工作方式、丰富的工作方式、波形,下面我们逐个介绍:波形,下面我们逐个介绍:1几条基本原则几条基本原则(1)控制字写入计数器时,所有的控制逻辑电路立即复位,输控制字写入计数器时,所有的控制逻辑电路立即复位,输出端出端OUT进入初始状态。初始状态对不同的模式来说不一定相进入初始状态。初始状态对不同的模式来说不一定相同。同。(2)计数初始值写入之后,要经过一个时钟周期上升沿和一个计数初始值写入之后,要经过一个时钟周期上升沿和一个下降沿,计数执行部件才可以开始进行计数操作,因为第一个下降沿,计数
20、执行部件才可以开始进行计数操作,因为第一个下降沿将计数寄存器的内容送减下降沿将计数寄存器的内容送减1计数器。计数器。(3)通常,在每个时钟脉冲通常,在每个时钟脉冲CLK的上升沿,采样门控信号的上升沿,采样门控信号GATE。不同的工作方式下,门控信号的触发方式是有具体规。不同的工作方式下,门控信号的触发方式是有具体规定的,即或者是电平触发,或者是边沿触发,在有的模式中,定的,即或者是电平触发,或者是边沿触发,在有的模式中,两种触发方式都是允许的。其中两种触发方式都是允许的。其中0、2、3、4是电平触发方式,是电平触发方式,1、2、3、5是上升沿触发。是上升沿触发。(4)在时钟脉冲的下降沿,计数器
21、作减在时钟脉冲的下降沿,计数器作减1计数,计数,0是计数器所能是计数器所能容纳的最大初始值。二进制相当于容纳的最大初始值。二进制相当于216,用,用BCD码计数时,相当码计数时,相当于于104方式方式0的波形如图所示,当控制字写入控制字的波形如图所示,当控制字写入控制字寄存器后,输出寄存器后,输出OUT就变低,当计数值写入计就变低,当计数值写入计数器后开始计数,在整个计数过程中,数器后开始计数,在整个计数过程中,OUT保保持为低,当计数到持为低,当计数到0后,后,OUT变高;变高;GATE的高的高低电平控制计数过程是否进行。低电平控制计数过程是否进行。2方式方式0计数结束产生中断计数结束产生中
22、断 方式方式0 0时序图时序图GATEOUTCLK 031244方式方式0WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束 计数器只计一遍,当计数到0时,不重新开始计数保持为高,直到输入一新的计数值,OUT才变低,开始新的计数;计数值是在写计数值命令后经过一个输入脉冲,才装入计数器的,下一个脉冲开始计数,因此,如果设置计数器初值为N,则输出OUT在N1个脉冲后才能变高;在计数过程中,可由GATE信号控制暂停。当GATE0时,暂停计数;当GATE1时,继续计数;在计数过程中可以改变计数值,且这种改变是立即有效的,分成两种情况:若
23、是8位计数,则写入新值后的下一个脉冲按新值计数;若是16位计数,则在写入第一个字节后,停止计数,写入第二个字节后的下一个脉冲按新值计数。方式方式0 0有下列特点有下列特点 方式方式1的波形如图所示,的波形如图所示,CPU向向8253写入控写入控制字后制字后OUT变高,并保持,写入计数值后并变高,并保持,写入计数值后并不立即计数,只有当外界不立即计数,只有当外界GATE信号启动后信号启动后(一个正脉冲)的下一个脉冲才开始计数,(一个正脉冲)的下一个脉冲才开始计数,OUT变低,计数到变低,计数到0后,后,OUT才变高,此时才变高,此时再来一个再来一个GATE正脉冲,计数器又开始重新正脉冲,计数器又
24、开始重新计数,输出计数,输出OUT再次变低,再次变低,因此输出为,因此输出为一单拍负脉冲一单拍负脉冲 3方式方式1可编程的硬件触发单拍脉冲可编程的硬件触发单拍脉冲方式方式1 1时序图时序图设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK 031244方式方式1WR输出输出OUT业宽度为计数初值的单脉冲;业宽度为计数初值的单脉冲;输出受门控信号输出受门控信号GATE的控制,分三种情况:的控制,分三种情况:计数到计数到0后,再来后,再来GATE脉冲,则重新开始计数,脉冲,则重新开始计数,OUT变低;
25、变低;在计数过程中来在计数过程中来GATE脉冲,则从下一脉冲,则从下一CLK脉冲脉冲开始重新计数,开始重新计数,OUT保持为低;保持为低;改变计数值后,只有当改变计数值后,只有当GATE脉冲启动后,才按脉冲启动后,才按新值计数,否则原计数过程不受影响,仍继续进行新值计数,否则原计数过程不受影响,仍继续进行,即新值的改变是从下一个,即新值的改变是从下一个GATE开始的。开始的。计数值是多次有效的,每来一个计数值是多次有效的,每来一个GATE脉冲,就脉冲,就自动装入计数值开始从头计数,因此在初始化时,自动装入计数值开始从头计数,因此在初始化时,计数值写入一次即可。计数值写入一次即可。方式方式1 1
展开阅读全文