电子课件-微机原理与接口技术-.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《电子课件-微机原理与接口技术-.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 课件 微机 原理 接口 技术
- 资源描述:
-
1、微机原理与接口技术中国水利水电出版社主编主编 李云强李云强第10章 定时/计数计数 本章导读本章导读 定时与计数技术在计算机系统中具有极其重要的定时与计数技术在计算机系统中具有极其重要的作用。微机系统都要为作用。微机系统都要为CPU和外部设备提供定时控和外部设备提供定时控制或对外部事件进行计数。例如,分时系统的程序制或对外部事件进行计数。例如,分时系统的程序切换,向外部设备输出周期性定时控制信号,定时切换,向外部设备输出周期性定时控制信号,定时时间到发出中断申请,外部事件统计达到规定值发时间到发出中断申请,外部事件统计达到规定值发出控制信号或提出中断请求等。因此,微机系统必出控制信号或提出中断
2、请求等。因此,微机系统必须有定时技术。本章须有定时技术。本章以以8253为例介绍它的基本工作为例介绍它的基本工作原理,以及跟它有关的一些应用。原理,以及跟它有关的一些应用。第10章 定时/计数计数 10.1 基本概念 10.2 定时/计数器芯片Intel 8253 10.3 8253的初始化变成 10.4 8253的应用10.1 基本概念10.1.1 定时定时/计数计数1定时 定时和计时是最常见和最普遍的问题,一天24小时的计时,称为日时钟。长时间的计时(日、月、年直至世纪的计时)称为实时钟。2计数 计数使用得更多,在生产线上对零件和产品的计数;对大桥和高速公路上车流量的统计,等等。定时/计数
3、器8253内部最基本的单元也是减1计数器。3定时与计数的关系 计时的本质就是计数,只不过这里的“数”的单位是时间单位。如果把一小片一小片计时单位累加起来,就可获得一段时间。计时的本质就是计数,把计数作为定时的基础来讨论。10.1.2 频率一声音一音乐 从定时、计数问题还可以引出或派生出一些其他的概念和术语。例如,频率频率的概念。由频率可以引出声音,频率高,声音的音调高;频率低,声音的音调低。微机系统中的定时,可分为内部定时和外部定时微机系统中的定时,可分为内部定时和外部定时两类两类。内部定时内部定时是计算机本身运行的时间基准或时序关系,计算机每个操作都是按照严格的时间节拍执行的;外部定时外部定
4、时是外部设备实现某种功能时,本身所需要的一种时序关系,如打印机接口标准Centronics就规定了打印机与CPU之间传送信息应遵守的工作时序。10.1.3 微机系统中的定时10.1.4 定时方法1软件定时 它是利用CPU内部定时机构,运用软件编程,循环执行一段程序而产生的等待延时。这是常用的一种定时方法,主要用于短时延时。这种方法的优点是不需增加硬设备,只需编制相应的延时程序以备调用。缺点是CPU执行延时等待时间增加了CPU的时间开销,延时时间越长,这种等待开销越大,降低了CPU的效率,浪费CPU的资源。并且,软件延时的时间随主机频率不同而发生变化,即定时程序的通用性差。2硬件定时硬件定时 它
5、是采用可编程通用的定时/计数器或单稳延时电路产生定时或延时。这种方法不占用CPU的时间,定时时间长,使用灵活。尤其是定时准确,定时时间不受主机频率影响,定时程序具有通用性,故得到广泛应用。目前,在微机系统中都采用通用可编程的定时器/计数器芯片。使用灵活、定时时间长,通过编程即可改变定时时间或工作方式。初始化编程后,就按设定的方式工作,不占用CPU的时间。通用的定时器/计数器蕊片种类很多,如MC6840-PTM、Intel 8253/8254等。IBM-PC/XT内定时/计数系统的核心元件就采用8253。而PC/AT使用 8254。8253和8254的引脚及操作方式完全相同,但8254的计数频率
6、比8253高,8253可以达到5MHz,而8254-2可10MHz。另外,8254将8253控制字的最高两位D7D6=11的不用状态,设置成一种有效控制字。Intel 8253是8086微机系统常用的定时/计数器芯片,它具有定时与计数两大功能。10.2 定时/计数器芯片Intel 825310.2.1 8253的芯片功能的芯片功能其主要功能特性有:采用NMOS工艺,用单一的+5V电源供电。片内有3个独立的16位减法计数器(或计数通道),每个计数器又可分为2个8位的计数器。计数频率为05MHz。两种计数方式,即2进制或BCD方式计数。6种工作方式,既可对系统时钟脉冲计数实现定时,又可对外部事件进
7、行计数。可由软件或硬件控制开始计数或停止计数。10.2.2 8253的内部结构 8253的内部结构如右图所示。由计数器、控制寄存器、读/写控制逻辑和数据总线缓冲器4部分和内部数据总线构成。(1)数据总线缓冲器。数据总线缓冲器。8位双向三态的缓冲器,可直接挂在数据总线上,CPU通过它,一方面可以向控制寄存器写入控制字,向计数器写入计数初值;另一方面CPU也可通过该缓冲器读出计数器的当前计数值。A1A0操作功能操作功能PC/XT计算机端口计算机端口00010写计数初值到T0计数器40H00110写计数初值到T1计数器41H01010写计数初值到T2计数器42H01110写控制器字到控制寄存器43H
8、00001读T0计数器计数值40H00101读T1计数器计数值41H01001读T2计数器计数值42H(2)读读/写控制逻辑。写控制逻辑。读/写逻辑的功能是接收来自CPU的控制信号,包括读信号RD#、写信号WR#、片选信号CS#和芯片内部寄存器寻址信号A0Al,完成对8253各计数器的读/写操作。片选信号接I/O端口译码电路,A0、A1接CPU地址总线低2位进行片内3个计数通道和控制寄存器的端口的选择,读/写信号(RD#/WR#)接CPU的IOR#/IOW#。8253的读/写操作与基地址如表10-1所示。(3)控制寄存器。控制寄存器。接收从CPU来的控制字,并由控制字的D7、D6位的编码决定控
9、制字写入哪个计数器的控制寄存器。此寄存器只能写入,不能读出。(4)计数器计数器。8253有3个计数器通道:计数器0、计数器1和计数器2。每个计数器有3根信号线;即2根输入信号,时钟信号CLK和门控GATE信号;1根输出信号OUT。3个计数器其内部操作完全相同,区别仅在于计数器是由计数脉冲(间隔不一定相同)进行减1计数,而定时器是由周期一定的时钟脉冲作减1计数。作计数器用时,要求计数的次数可直接作为计数初值预置到减1计数器中。计数初值NC的计算公式:NC=fCLK/fOUT,其中fCLK是输入时钟脉冲的频率;fOUT是输出波形的频率。作定时器用时,计数初Nt值即定时系数定时系数应根据要求定时的时
10、间t和时钟脉冲周期TCLK进行如下换算得出:Nt=要求定时的时间/时钟脉冲周期=t/TCLK=t*fCLK。其中,t为要求定时的时间,fCLK为时钟脉冲频率。除此以外,各计数器还可用来产生各种脉冲序列,如方波发生器和复杂波形发生器等。10.2.3 8253的外部引脚 1.8253与与CPU的接口引脚的接口引脚(如图如图10-3)D0D7:三态双向数据线,和CPU数据总线相连,用于传递CPU与8253之间的数据信息、控制信息和状态信息。CS#:片选信号,输入,低电平有效,表示8253被选中,允许CPU对其进行读,写操作。此脚连接译码电路输出端。WR#:写信号,输入,低电平有效。用于控制CPU对8
11、253的写操作,可和A1、A0信号配合以决定是写入控制字还是计数初值。RD#:读信号,输入,低电平有效。用于控制CPU对8253的读操作,可和Al、A0信号配合读确定的计数器。A0,A1:地址输入线,用来寻址8253内部的4个端口,即3个计数器和1个控制字寄存器。与CPU系统地址线相连。2.8253与外设的接口引脚与外设的接口引脚CLK0.1.2:时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。CLK可以是系统时钟脉冲,也可以由系统时钟分频或者其他脉冲源提供。当用于定时时,这个脉冲必须是均匀的、连续的、周期精确的,而用于计数时,这个脉冲可以是不均匀的、断续的、周期不定的。GATE0.1.2:门
12、控输入端,用于外部控制计数器的启动计数和停止计数的操作。两个或两个以上计数器连用时,可用此信号来同步,也可用于与外部某信号的同步。OUT0.1.2:计数输出端,当计数器从初值开始完成计数操作时,OUT引脚上输出相应的信号(详见8253工作方式)。8253共有6种工作方式(方式0方式5),产生6种波形发生器。各方式下的工作状态是不同的,输出的波形也不同。总规律是:先写控制字,再写计数初值,输出先复位,减1到0再翻转。门控信号有讲究,触发方式各不同:方式0、4为电平触发;方式1、5为正沿触发;方式2、3为电平、正沿触发均可用。每个通道均可以通过编程选择6种工作方式之一,下面分别予以介绍。10.2.
13、4 8253的工作方式方式0(计数结束中断(Out Signal on End of Count)计数结束输出低到高翻转)方式1可重触发的单稳态触发器(Hardware Retriggrerable one-shot)方式2速率发声器(Rate Generator)方式3方波发生器(Square Ware Output)方式4软件触发选通(Soft Triggered Strobe)方式5硬件触发选通(Hardware Triggered Strobe)8253的6种工作方式比较如表10-2所示。表10-2 8253的6种工作方式的比较方式方式0方式方式1方式方式2方式方式3方式方式4方式方式
14、5OUT输出状态写入控制后变0,计数结束变1,并维持至重写控制字或计数初值写入控制后变1,GATE上升沿触发变0,开始计数,计数结束变1写入控制字后变1,计数到1变0,维持一个Tclk变1 写入控制字后变0,装入计数初值且GATE=1则OUT变1,计数到时变0,重装计数初值维持计数,技术到时则反向写入控制字后变1,计数结束变0,维持一个写入控制字后变1写入控制字后变1,GATE上升沿触发开始计数,计数结束输出一个宽度为Tclk的负脉冲(单次)初值自动重装无无计数到0重装根据计数初值的奇偶分别重装无无计数过程中改变计数初值立即有效GATE触发后有效计数到1或 GATE触发后有效计数结束或 GAT
15、E触发后有效立即有效GATE触发后有效GATE信号的作用0禁止计数无影响禁止计数禁止计数禁止计数无影响下降暂停计数无影响停止计数停止计数停止计数无影响上升继续计数从初值开始重新计数从初值开始重新计数从初值开始重新计数从初值开始重新计数从初值开始重新计数1允许计数无影响允许计数允许计数允许计数无影响10.3 8253的初始化编程 对于每个计数通道进行初始化时,必须先写控制字,然后写入计数初值。这是因为计数初值的写入格式是由控制字的D5、D4两位编码决定的。写入计数初值时,必须按控制字的D5、D4两位编码规定的格式进行写入。例如,若控制字D5、D4两位编码规定的计数初值写人格式只写低8位,就只能给
16、所选通道写入低8位计数值;若控制字D5、D4两位编码规定的写入格为16位,就必须写入16位的计数值,且先写低8位,再写高8位。10.3.2 8253的控制字1、写入方式控制字 图9-15 通信线状态寄存器10.3.3 初始化编程例子【例10-1】设8253的端口地址为:04H0AH,要使计数器1工作在方式0,仅用8位二进制计数,计数值为128,进行初始化编程。控制字为:01010000B=50H初始化程序:MOV AL,50HOUT 0AH,ALMOV AL,80HOUT 06H,AL 例例10-2 设8253的端口地址为F8HFEH,若用通道0工作在方式1,按二十进制计数,计数值为5080H
17、,进行初始化编程。控制字为:00110011B=33H初始化程序:MOV AL,33HOUT 0FEH,ALMOV AL,80HOUT 0F8H,ALMOV AL,50HOUT 0F8H,AL10.3.4 8253的读出操作 在8253的实际使用中,有时需要读出计数通道的当前计数值,以便进行实时显示、实时检测或对计数值进行处理等。由CPU访问每个通道的输出锁存器OL,即可实现读出每个通道计数值的操作。读出时使用的端口地址与写入计数初值时使用的端口地址是同一个。如果是8位计数,则只需读一次;如果是16位计数,则对同一端口地址要读两次,第一次读出的是计数值的低8位,第二次读出的是计数值的高8位。读
18、操作必须严格按控制字D5D4两位规定的格式进行。1读之前先暂停计数 这种方法是在读之前利用GATE信号使计数过程暂停,或由外部逻辑禁止所要读出计数l通道的CLK脉冲输入,然后再进行读出。这就要求软件和硬件的配合,即先使GATE信号为低电平或禁止CLK脉冲输入,使计数器暂停计数,然后再执行下面所给程序段,即可实现指定的读出操作。设8253的端口地址为48H4BH,要读出通道0的16位计数值。IN AL,48H ;读计数通道0的低8位 MOV BL,AL ;存于BL IN AL,48H ;读计数通道0的高8位 MOV BH,AL ;存于BH2读之前先送计数值锁存命令 8253的每个计数通道都有一个
19、16位的输出锁存器OL,用于锁存计数值的高8位和低8位。当没有接到锁存命令之前,在计数器的计数过程中,输出锁存器的值随计数执行部件CE计数值的变化而变化;当接到锁存命令后,OL中的计数值就被锁存住了,不再随CE计数值的变化而变化。OL中的数值一直保存到数据被读出或对该计数通道重新编程为止。当CPU读出OL中的数据或对该计数通道重新编程后,OL解除锁存,又开始跟随CE计数值变化。在锁存和读出计数值的过程中,计数执行部件仍在不停地作减1计数。这样,CPU就可以在任何时刻先送锁存命令再读计数值,而对计数器现行计数过程没有任何影响。计数值锁存命令是8253控制字的一种特殊形式,所以写入的端口地址应是控
20、制寄存器的端口地址,再由锁存命令本身的D7D6编码,决定锁存哪一个通道的计数值。而锁存命令的 D5D4必须为00,这是锁存命令的专门标识。锁存命令的低四位(D3D0)可设定为全0。这样3个计数通道的锁存命令分别为:计数通道000H,计数通道140H,计数通道280H。假设8253的端口地址为E8HEBH,现要读计数通道1的16位计数值,并假定在此之前已设置读/写格式为“先读/写低8位,再读/写高8位”,则只要执行下面的程序段,即可实现指定的读出操作。MOV AL,40H ;锁存目录为40HOUT 0EBH,AL ;写入通道1控制寄存器(控制寄存器的端口地址EBH)IN AL,0E9H;读低8位
21、(0E9H为通道1大口地址)MOV BL,AL ;存于BLIN AL,0E9H;读高8位MOV BH,AL;存于BH10.4 8253的应用10.4.1 8253进行脉冲计数编程【例10-3】实验电路如图10-11所示,要求利用8253实现对按键产生的脉冲计数,同时将计数的结果通过8255的C口送到8位发光二极管显示。另外还要将定时/计数通道的OUT0输出信号接另一发光二极管,以观察计数过程及结束后电平的变化。设8253端口地址为200H203H;8255的端口地址为208H20BH。这是8253采用通道0,工作于计数方式的应用。8253的0通道设为工作方式0,字读写方式,2进制计数。8255
22、的A口和B口工作于方式0,C口为输出。程序代码如下:code segmentassume cs:code mov dx,20bh;8255控制字 mov al,10000000b;8255的200H端口 out dx,al mov dx,203h;8253的控制端口 mov al,00010000b out dx,al mov dx,200h mov al,8 out dx,aI nopA0A1M/IOA9A2RDWRD7D0片选译码图10-11 8253脉冲计数实验电路图RDWRD7D0CSA0A1GATE0OUT0CLK08253CPU硬件核RDWRD7D0CSA0A1PC7PC08255
23、74LS2455V5V5V驱动电路display:mov dx,203h ;8253 mov al,00000000b out dx,al nop mov dx,200h ;8253 in al,dx mov bl,al mov al,8 sub a1,bf mov dx,20ah;8255 not al out dx,al jmp display code ends end 10.4.2 PC微机中8253的应用 8253的3个计数器在IBM PC/AT机中有专门的应用,其初始化由BIOS完成。上图是8253在PC系列微机中的应用硬件连接图。8253中3个计数器通道在该定时系统中的作用和有关
24、信号的定义如下表。表10-3 8253的3个计数器各自的作用和信号规定计数器0计数器l计数器2功能时钟信号发生器刷新清求发生器音频信号发生器工作方式方式3方式2方式3GATE+5V+5V程序控制CLK1.1931816MHz1.1931816MHz1.1931816MHzOUT8259A IRQ08237 DREQ0扬声器控制字36H54H0B6H计数初值0180533H端口地址40H41H42H 3个计数器的定时时钟输入CLK相同,都由PCKL二分频产生,其频率为1.1931816MHz。系统将040H042H的3个地址分别作为计数器0计数器2的地址。043H为控制寄存器端口地址。计数器0的
25、初始化设置程序如下:MOV AL,36H ;设置通道0为方式3;先写处置低字节再写高字节,2进制格式MOV DX,043HOUT DX,ALMOV AL,0;计数初值为0000,即为216MOV DX,040H OUT DX,AL ;向计数初值寄存器低字节写00HOUT DX,AL ;向计数初值寄存器高字节写00H计数器1的初始化设置程序如下:MOV AL,54H ;00110110二进制,设置通道1为方式2 ;只写初值低字节;2进制格式 MOV DX,043H OUT DX,ALMOV AL,18 ;计数初值为18DMOV DX,041H ;向l通道计数初值寄存器低字节写12H OUT DX
展开阅读全文