第九章 计数器与定时器电路_第1页
第九章 计数器与定时器电路_第2页
第九章 计数器与定时器电路_第3页
第九章 计数器与定时器电路_第4页
第九章 计数器与定时器电路_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

第九章计数器和定时器电路应用场合动态存储器的刷新定时系统日历时钟的计时以及喇叭的声源在计算机实时控制与处理系统中计算机主机需要每隔一定的时间就对处理对象进行采样,再对获得的数据进行处理,也要用到定时信号。

定时器和计数器定时控制在微机系统中极为重要定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器定时功能的实现方法软件延时——利用微处理器执行一个延时程序段实现不可编程的硬件定时——采用分频器、单稳电路或简易定时电路控制定时时间可编程的硬件定时——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路第一节8253的内部结构和工作原理3个独立的16位计数器通道每个计数器有6种工作方式按二进制或十进制(BCD码)计数一、8253的内部结构和引脚计数器结构示意图预置寄存器(CR)GATECLKOUT减1计数器(CE)输出锁存器(OL)计数初值存于预置寄存器;在计数过程中,减1计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值计数器的3个引脚CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号——当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号二、8253的控制字及初始化编程在使用8253前必须对它进行初始化编程。对8253的工作方式、计数方式、操作方式的确定和通道的选择都是由控制字来确定的。不同计数器的控制字必须分别设置,但它的端口地址共用一个。控制字只能写入,不能读出。1.8253的控制字2.8253的初始化编程对8253编程常有2种操作:初始化写操作和读当前计数值操作。

(1)8253的初始化编程设置控制字。需要用几个计数器,就要写几次控制字。控制字口地址都相同。写入控制字,还起到复位作用:使该计数器清零及OUT端变为规定的初始状态。向已选定的计数器端口地址内写入计数初值,但要注意:必须按相应控制字中的要求、顺序写入,正确选定初值是二进制数还是BCD码数。对3个计数器分别初始化编程并没有先后次序要求。但是,对任一计数器初始化时必须先写控制字,再写计数初值。

(2)读当前计数值先锁存,再读操作。当OL接到锁存指令时,OL立即锁存当前值不再跟随CE变化,而同时CE仍照常继续减1计数;然后CPU将锁定值用输入指令读走时,锁存器自动失锁,又跟随CE实时变化。这样就保证了在读出当前计数值的过程中不影响计数的进行。具体编程为:a.先写锁存命令控制字b.再读该计数器口地址。

三、8253的基本功能1.计数器方式CPU先写控制字,再写计数初值,当GATE启动条件存在时,计数器开始对由外部事件形成的CLK脉冲进行减1计数,当减到0时,在OUT端得到输出信号。作为外部事件计数的CLK可以是均匀的、连续的,又可以是非均匀连续的,它只是脉冲数量问题,不是脉冲的时间间隔。2.定时器方式定时器和计数器一样就其内部操作而言,都是利用一个减法计数器来完成,所不同的是定时器方式时,CLK必须是连续的、均匀的、周期精确的时钟脉冲,并且计时时间等于计数值乘CLK脉冲周期。第二节8253的工作方式几条基本规则首先写控制字,所有的控制逻辑电路立即复位,OUT端进入初始状态。再写计数初值,经过一个CLK脉冲周期(在GATE允许或触发条件下),计数器才开始计数。在CLK脉冲的上升沿对GATE信号进行采样,以检测是何种触发方式(电平触发/边沿触发)。在CLK脉冲的下降沿,计数器作减1计数。0是最大初值。当选用二进制时,0相当于216;当选用BCD码时,0相当于104。

一、方式0-可编程阶跃信号发生器例子编程使计数器1的OUT端产生一个阶跃信号输出。MOVDX,307H;控制字口地址MOVAL,01110000B;控制字OUTDX,AL;写计数器1的控制字MOVDX,305H;计数器1的口地址MOVAL,BYTEL;计数初值的低8位OUTDX,ALMOVAL,BYTEH;计数初值的高8位OUTDX,AL二、方式1-可编程单稳态输出方式例子编程使计数器2的OUT端产生一个单稳态脉冲信号。MOVDX,307H;控制字口地址MOVAL,10110010B;控制字OUTDX,AL;写计数器2的控制字MOVDX,306H;计数器2的口地址MOVAL,BYTEL;计数初值的低8位OUTDX,ALMOVAL,BYTEH;计数初值的高8位OUTDX,AL三、方式2-可编程频率发生器/分频器例子编程使计数器0的OUT端产生对CLK脉冲源4分频的信号输出。MOVDX,307H;控制字口地址MOVAL,00110101B;控制字OUTDX,AL;写计数器0的控制字MOVDX,304H;计数器0的口地址MOVAL,04;计数初值的低8位OUTDX,ALMOVAL,00;计数初值的高8位OUTDX,AL四、方式3-可编程方波发生器例子编程使计数器1的OUT端产生方波信号。MOVDX,307H;控制字口地址MOVAL,01010110B;控制字OUTDX,AL;写计数器1的控制字MOVDX,305H;计数器1的口地址MOVAL,BYTEL;计数初值的低8位OUTDX,AL程序中把计数器1设定为仅读/写计数初值低8位,而高8位自动补0。五、方式4-可编程软件触发的选通信号发生器例子编程使计数器1的OUT端输出一个选通信号(由软件触发的)。MOVDX,307H;控制字口地址MOVAL,01011000B;控制字OUTDX,AL;写计数器1的控制字MOVDX,305H;计数器1的口地址MOVAL,04H;计数初值的低8位OUTDX,AL六、方式5-可编程硬件触发的选通信号发生器例子编程使计数器1的OUT端输出一个选通信号(由硬件触发的)。MOVDX,307H;控制字口地址MOVAL,01111011B;控制字OUTDX,AL;写计数器1的控制字MOVDX,305H;计数器1的口地址MOVAL,04H;计数初值的低8位OUTDX,ALMOVAL,00H;计数初值的高8位OUTDX,AL七、6种工作方式比较、小结

第三节8253应用举例一、初始化编程将8253的计数器0作为10ms定时器,设CLK的频率为200kHz,编写初始化程序。(1)先计算初值已知CLK的频率为200kHz,即时钟周期为5μs,所以计数初值为10000/5=2000(2)初始化程序MOVDX,307HMOVAL,00110001BOUTDX,AL;向计数器0写控制字MOVDX,304HMOVAL,0;计数初值的低8位OUTDX,ALMOVAL,20H;计数初值的高8位OUTDX,AL二、8253级连定时应用上面的发光二极管以亮1s,灭1s间隔地工作;下面的发光二极管以亮2s,灭2s间隔地工作三、8253在PC/XT机中的应用A0A1———A0—A1—D0~D7D0~D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2DQCLK+5V接至DMA控制器接至扬声器驱动器PB0PB1IRQ0DRQ0

8253+5V1.19318MHzDACK0BRDIORIOWRDWRCST/CCS1.计数器0-日时钟计数器0:方式3,计数值:65536,输出频率为1.19318MHz÷65536=18.206Hz的方波门控为常启状态,这个方波信号不断产生OUT0端接8259A的IRQ0,用作中断请求信号每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能

moval,00110110h ;计数器0为方式3,采用二进制计数, ;先低后高写入计数值

out43h,al ;写入方式控制字

moval,0 ;计数值为0

out40h,al ;写入低字节计数值

out40h,al ;写入高字节计数值8253初始化2.计数器1:动态RAM刷新需要重复不断提出刷新请求门控总为高,选择方式2或315.08s刷新一次计数初值为18

moval,01010100h ;计数器1为方式2,采用二进制计数,只写低8位计数值

out43h,al ;写入方式控制字

moval,18 ;计数初值为18

out41h,al ;写入计数值8253初始化3.计数器-扬声器发声音调控制计数器2的输出控制扬声器的发声音调计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声扬声器还受控于并行接口(8255芯片)何时允许发声由PB0控制,发声时间的长短由PB1控制,扬声器才能发出预先设定频率的声音图示 moval,10110110h

out43h,al ;写入控制字 movax,1190

out42h,al ;写入低8位计数值 moval,ah

out42h,al ;写入高8位计数值8253初始化8253的I/O地址01

温馨提示

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

评论

0/150

提交评论