第九章可编程计数器与定进控制器8253(9.2)_第1页
第九章可编程计数器与定进控制器8253(9.2)_第2页
第九章可编程计数器与定进控制器8253(9.2)_第3页
第九章可编程计数器与定进控制器8253(9.2)_第4页
第九章可编程计数器与定进控制器8253(9.2)_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

9.2可编程计数器/定时控制器8253计数器/定时器8253特点

三个通道,可单独使用片内寻址

A1A0=00、01、10、11对应:通道0、1、2和控制口地址工作方式:6种一、微机定时方法

1.软件定时——延迟子程序

2.硬件定时——用计数器/定时器8253

二、可编程计数器/定时器的工作原理

功能:一是为计数;一是为定时。

8253的用处:

1)在多任务的分时系统中用来作为中断信号实现程序的切换;

2)可以往I/O设备输出精确的定时信号;

3)作为一个可编程的波特率发生器;

4)实现时间延时。计数器/定时器的工作特点

1)门脉冲控制时钟输入;

2)用门脉冲来重新启动计数;

3)用门脉冲停止计数;

4)单一计数;

5)循环计数.

计数初始值=时钟频率*T

8_2_18253芯片内部结构1.数据总线缓冲器往计数器设置计数初值;

从计数器读取计数值;

往控制寄存器设置控制字。2.读/写逻辑电路A1A0:端口选择00:通道0(0号计数器)01:通道1(1号计数器)10:通道2(2号计数器)11:控制字寄存器3.通道0、通道1、通道2

计数器0:CLK0——计数器0的时钟输入。

GATE0——计数器0的门脉冲控制输入。

OUT0——计数器0的输出。

计数器1计数器2定时系数(计数初值)n=定时时间t时钟频率fc=定时时间t/时钟脉冲周期Tc

编程结构

(2)8253的工作原理

4.控制寄存器

8253控制寄存器的格式SC1SC0RW1RW0M2M1M0BCD1--计数值为BCD码格式0--计数值为二进制格式M2M1M0模式选择000模式0001模式1/10模式2/11模式3100模式4101模式500----对计数器进行锁存01----只读/写低8位字节10----只读/写高8位字节11----只读/写低8位字节,再读/写高8位字节.00----选计数器001----选计数器110----选计数器211----无意义

8-2-2.8253的工作模式

(1)方式0——计数结束产生中断

一次定时或计数,重写初值,启动新一轮的计数

(2)方式1——可编程的单脉冲(单稳)触发器

GATE边沿触发,启动新一轮计数

(3)方式2——分频器(速度波发生器)

具有计数初值重装能力(4)方式3——方波发生器

具有计数初值重装能力(5)方式4——软件触发的选通信号发生器一次定时,重写初值,启动新一轮的计数

(6)方式5——硬件触发的选通信号发生器

GATE边沿触发新一轮计数图8-22方式0——计数结束产生中断图8-22单脉冲触发器高图8-23分频器图8-23方波发生器图8-23软件触发的选通信号发生器图8-23硬件触发的选通信号发生器8253初始化方法:控制字计数初值:

已知:CLK的频率fc与定时的时间t.计数初值:n=fc

t

例1:fc=1MHZ,最大计数初值:65536一个定时器最大定时时间:N/fc=65536/106=0.065536s8-2-38253应用举例例2:设定时器0、定时器1工作于方式2,外部提供一个时钟,频率f=2MHZ。要求定时器1每5ms产生一个脉冲,定时器0每5s产生一个脉冲。1).一个定时器的最大定时时间:

65536/(2*106)=0.032768s=32.768ms2).将定时器1的CLK1接2MHZ时钟,计数初值:3).将定时器1的OUT1端接到定时器0的CLK0端,定时器0的计数初值:例3:计数器2输出600HZ方波,送扬声器。工作于模式3.发声子程序:SSPPROCNEAR;8253初始化:MOVAL,10110110B;计数器2,模式3,初值16位,二进制OUT43H,ALMOVAX,1983;计数初值=1.19MHZ600HZ=1983OUT42H,AL;送计数初值低位字节MOVAL,AHOUT42H,AL次;送计数初值高位字节8255控制程序:INAL,61H;读8255的PB口原输出值MOVAH,AL;保留到AHORAL,03H;使PB0\PB1均为1OUT61H,AL;打开GATE2门,输出方波到扬声器SUBCX,CX;CX为循环次数,最大为216L:LOOPL;延时DECBL;BL为子程序入口条件JNZL;BL=6,发长声(3S),BL=1发短声(0.5S)MOVAL,AH;取回8255的PB口原输出值OUT61H,AL;恢复8255PB口,停止发声RETSSPENDP

例4:

定时/计数器8253与8086/8088CPU相连构成完整的定时、计数或脉冲发生器系统。要求能完成的功能是:

1)利用通道0完成对外部事件计数功能,计满100次向CPU发中断请求。

2)利用通道1产生频率为1KHz的方波。

3)利用通道2作标准时钟,定时1秒,输出接IR2。

(1)8253的数据线(D7~D0)与CPU的高8位数据线(D15-D8)相连,所以8253的端口地址必须是奇地址(A0=1)。(2)通道0定义为工作方式0,完成计数.通道0的计数初值应为:n0=100

控制字:00010000=10H(3)将通道1定义为工作方式3,控制字=01110110=76H,从CLK1输入2.5MHz的时钟脉冲,OUT1输出频率为1KHz的方波,而输出方波的周期1ms。通道1的计数初值:

n1=f1*t1=2.5106110-3

=2500=09C4H。(4)通道2应定义为方式0,

控制字=10110001=0B1H,每秒钟利用OUT2向CPU发出一次中断请求,由于输入时钟频率为1KHz,计数初值应为:

n2=f2*t2=1000*1=1000。

8253的控制端口地址:66H

通道0的端口地址:60H

通道1的端口地址:62H

通道2的端口地址:64H

8253-0EQU60H8253-1EQU62H8253-2EQU64H8253-CEQU66H

STT: MOV DX,8253-C;8253控制口地址

MOV AL,10H OUT DX,AL ;通道0工作在方式0

MOV DX,8253-0;8253通道0地址 MOV AL,64H

OUT DX,AL ;给通道0送计数值

MOV DX,8253-C MOV AL,76H

OUT DX,AL ;通道1工作在方式3 MOV DX,8253-1;8253通道1地址 MOV AX,09C4H

OUT DX,AL;给通道1送计数初值低8位 MOV AL,AH

OUT DX,A ;给通道1送计数值高位 MOV DX,8253-C

MOVAL,0B1H OUT DX,AL ;通道2工作在方式0 MOV DX,8253-2;通道2地址MOV AX,1000H;1000的BCD数1000HOUT DX,AL;给通道2送计数初值的低8位MOV AL,AHOUT DX,AL;给通道2送计数值的高8位MOV DX,8259A偶MOV AL,13HOUT DX,AL;设ICW1,边缘触发,需ICW4MOV DX,8259A奇MOV AL,50H ;设ICW2,

0通道中断类型码为50HOUT DX,AL ;通道2的中断类型码为52HMOV AL,03 OUT DX,AL;设ICW4,非自动EOI方式MOV AL,0FAH;OCW1,屏蔽IR0,IR1以外的输入OUT DX,ALSTIFF: HLT JMP FF IR2时钟程序:S1DB?;秒S2DB?;分S3DB?;时…..IR2_TIMER:INCS1CMPS1,60JNCEXIT;不满60秒,退出MOVS1,00HINCS2;分单元加一CMPS2,60;不满60分,退出JNCEXITMOVS2,00H;时单元加一INCS3JMPS3,24JNCEXITMOVS3,00HCALLDISPLAY;显示时间…...STIEXIT:IRET思考题:l.微机中实现定时控制的主要方法是什么?2.8253每个计数通道与外设接口有哪些信号线,每个信号的用途是什么?3.8253每个通道有___种工作方式可供选择。若设定某通道为方式0后,其输出引脚为电平;当____后通道开始计数,信号端每来一个脉冲就减1;当__则输出引脚输出_电平,表示计数结束。8253的CLKO接1.5MHZ的时钟,欲使OUT。产生频率为300kHZ的方波信号,则8253的计数值应为____,应选用的工作方式是_____.4.试按如下要求分别编写8253的初始化程序,已知8253的计数器0~2和控制字IO地址依次为04H~07H。(l)使计数器11作在方式0,仅用8位二进制计数,计数初值为128。(2)使计数器O工作在方式1,按BCD码计数,计数值为3000。(3)使计数器2工在方式2,计数值为02F0H。5.设8253计数器0—2和控制字的I/O地址依次为F8H~FBH,说明如下程序的作用。moval;33houtofbh,almoval,80houtofsh,almoval,50houtof8h,al习题1分析:

用通道0作定时器,初始编程使通道0按方式3工作,每秒产生18.2次输出信号,该信号送到8259A中断控制器的IRQ0输入端。每55ms产生一次中断请求,8086对其计数,用来计算时间。通道1用作动态RAM刷新定时,每隔5.12us产生一次输出信号,请求动态刷新。OUT1输出产生DMA请求信号送8237,由8237对动态RAM刷新。(8253地址为40H~43H)通道0:地址为40H,控制字为36H,工作方式3,计数初值为0通道1:地址为41H,控制字为54H,工作方式2,计数初值为12H TIMEMODECTRL EQU 43H TIMEADD EQU 40H CTRL1 DB 36H CTRL2 DB 54H TIME1 DW 0 TIME2 DW 12H MOV BP,TIMEMODECTRL

MOV AL,CTRL1

;送通道0控制字 MOV BYTEPTR[BP],AL

MOV AL,CTRL2

;送通道1控制字 MOV BYTEPTR[BP],AL MOV BP,TIMEADD ;通道0端口地址送BP

MOV AX,TIME1 MOV BYTEPTR[BP],AL MOV BYTEPTR[BP],AH ;送通道0时常数 INC BP ;通道1端口地址送BP

MOV AX,TIME2 MOV BYTEPTR[BP],AL MOV BYTEPTR[BP],AH ;送通道1时常数 INC BP第3节DMA控制器8237A主要内容:DMA控制器的一般结构和概要DMA控制器8237A的原理8237A的编程和使用基本问题:说明在DMA方式时内存往外设传输数据的过程。DMA控制器初始化工作包括哪些内容?DMA控制器在什么时候作为主模块?什么时候作为从模块?为什么CPU对DMA控制器提出的总线响应要比中断请求响应快?DMA控制器

DMA控制器可以象CPU那样得到总线控制权,用DMA方式实现外部设备和存储器之间的数据高速传输。

一个DMA控制器通常可以连接一个或几个输入/输出接口,每个接口通过一组连线和DMA控制器相连。

将DMA控制器中和某个接口有联系的部分为一个通道。而一个DMA控制器一般由几个通道组成。DMA方式,外设向內存传输数据的过程:当一个接口中有数据要输入时,就往DMA控制器发个DMA请求;DMA控制器接到请求后,便往控制总线上发一个总线请求;如果CPU允许让出总线,则发一个总线允许信号;DMA控制器接到此信号后,就将地址寄存器的内容送到地址总线上,同时往接口发一个DMA回答信号,并发一个1/O读信号和一个内存写信号;接口接到DMA回答信号以后,将数据送到数据总线上,并撤除DMA请求信号;内存在接收到数据以后,一般往DMA控制器回送一个准备好信号,于是,DMA控制器的地址寄存器内容加1或减1,计数器的值减1,而且撤除总线请求信号,这样,就完成了对一个数据的DMA输入传输。DMA传输结束时,往接口发一个结束信号,

向CPU交回总线控制权。其状态寄存器的传输结束标志置“1”。查询时,CPU在主程序中通过查询状态寄存器的传输结束标志,决定是否进行后续处理。中断方式时,结束信号可作为送到外设的中断请求信号(也可以送到总线控制逻辑)。后续程序必须检查出错标志,确定是否重新传输、打印出错信息。注意:DMA控制器不能提供中断类型号。图6-8DMA控制器内部编程结构和外部连接8.3.18257芯片内部结构数据总线缓冲器读写逻辑电路工作方式寄存器状态寄存器优先选择逻辑4个DMA通道5.8257工作方式寄存器和状态寄存器DMA控制器内部包含一个控制器寄存器和一个状态寄存器,一个地址寄存器和计数器。多通道时,控制寄存器和状态寄存器为本多个通道所公用,而地址寄存器和计数器为本每个通道所独有。

DMA的初始化:

(1)将数据传输缓冲区的起始(结束)地址送到地址寄存器中。

(2)将传输的字节数(字数)送到计数器中。

三、8257A的编程和使用第8章小节一.中断控制器1.中断的概念中断:外部中断(硬件中断):NMI.INTR内部中断(软件中断):INTn.INTO.单步中断过程:中断请求.中断响应.中断处理.中断返回

2.8086中断系统1)中断类型:

硬件中断(外部中断)

内部中断:与硬件无关,不执行中断响应周期,除单步中断外,内部中断不可屏蔽,优先级高于外部中断2)中断向量表:00000~003FFH3.中断响应过程1).可屏蔽中断响应过程响应条件:TF=1.无总线请求.当前指令结束①CPU发中断请求信号后,CPU回答信号INTA②8059给出中断类型码,CPU由中断类型码找到中断向量的地址指针③CPU保护断点:将CS.IP.标志寄存器内容入栈④清IF.TF⑤查中断向量表,取中断服务程序首地址⑥执行中断处理程序⑦中断返回2)非屏蔽中断响应过程由NMI引入,CPU优先响应,类型码为2.3).内部中断响应由指令或硬件给出,无外部逻辑输入无中断响应周期与IF无关除单步中断外,内部中断优先级高于外部中断4.8259中断控制器

可编

温馨提示

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

评论

0/150

提交评论