微机原理04178课件_第1页
微机原理04178课件_第2页
微机原理04178课件_第3页
微机原理04178课件_第4页
微机原理04178课件_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第八章可编程定时/计数器8253及其应用第一节Intel8253-PIT的工作原理一.8253的功能

计算机系统中,实现定时或延时有三种方法:软件定时、不可编程的硬件定时、可编程的硬件定时器。8253为可编程的硬件定时/计数器。1.主要功能*具有3个独立的16位计数器通道;*每个计数器均可按二进制或二—十进制计数;*每个计数器的计数速率高达2MHz;*每个通道有6种工作方式,可由程序设置和改变;*所有的输入输出都与TTL兼容。1.二.8253的内部结构*三个计数器(减法器)3个独立的16位减法器,可作定时/计数器使用;计数器按二/BCD方式减法计数,从预常减到零时,OUT端输出一信号。数据总线缓冲器计数器0读/写逻辑控制字寄存器计数器1计数器2CLK0CLK1CLK2GATE0GATE1GATE2OUT0OUT1OUT2D7~D0RDWRA0A1CS8253内部结构内部数据总线*数据总线缓冲器(传送信息)写控制字,写时常,读计数值*读写逻辑*控制字寄存器(存放控制字)2.数据总线缓冲器计数器0读/写逻辑控制字寄存器计数器1计数器2CLK0CLK1CLK2GATE0GATE1GATE2OUT0OUT1OUT2D7~D0RDWRA0A1CS8253内部结构内部数据总线三.8253的引线*数据线(D7~D0)*地址线:选择内部寄存器;*控制线:完成片选和读写操作。CLK:输入脉冲线;GATE:门控信号输入线;GATE=0禁止计数,GATE=1允许工作;OUT:输出引脚;当计数到“0”时,OUT端输出一信号。3.8253输入信号组合的功能表4.四.8253-PIT的控制字00选择计数器001选择计数器110选择计数器211非法选择0=二进制1=BCD计数器读/写格式工作方式数制D0D1D2D3D4D5D6D7

在8253的初始化编程中,由CPU向8253的控制字寄存器写入一个控制字来规定8253的工作方式。00计数器锁存命令10只读/写最高有效字节(高八位)01只读/写最低有效字节(低八位)11先读写最低有效字节然后读写最高有效字节000方式0001方式1*10方式2*11方式3100方式4101方式55.五.8253-PIT的工作方式*CW写入,OUT=0;*写入时常,通道开始计数;*计数到零,OUT=1;*计数器只计数一遍;*OUT是N+1个CLK后变高;*计数过程中,GATE=0,计数暂停;*计数过程中可改变计数值;*8253无中断控制,可用OUT信号作为中断请求。1.方式06.方式1(可编程单稳)*写入控制字OUT=1,写入常数不计数;*GATE启动计数,OUT=0;*计数到,OUT=1。*单拍脉冲宽度为N;*由GATE重新启动;*计数中,可重新启动;*计数中,可改变计数值,再次启动有效。7.方式2(速率发生器)*写入控制字OUT=1;*写入常数立即对CLK计数;*计数到1,OUT=0;*一个CLK周期后,OUT=1,重新计数。*通道连续工作不需重置时常;*计数过程中,GATE=0,计数暂停,GATE变高后重新计数;*计数过程中可改变计数值;新的计数值在下一次有效。8.方式3(方波速率发生器)*与方式2的区别在于:输出为周期是N个CLK脉冲的方波。*若计数值为偶数,每个CLK使计数值减2,计到0,OUT改变状态,重装计数值开始新的计数。*若计数值为奇数,第一个脉冲先减1,以后,每个CLK使计数值减2,计到0时,OUT改变状态,重装计数值后,第一个脉冲减3,以后,每个CLK使计数值减2,计到0时,OUT改变状态。*GATE信号控制计数过程;*计数过程中写入新的计数值将在半周期结束时装入计数器。9.例:要求计数器0工作于方式3,输出方波的频率为2KHz,计数脉冲的频率为2.5MHz,采用BCD计数,试写出初始化程序段。2.常数计算:TC=2.5MHz/2KHz=1250MOVAL,37HOUT83H,ALMOVAL,50HOUT80H,ALMOVAL,12HOUT80H,AL1.8253的端口地址为:80H,81H,82H,83H。000111113.8253的方式控制字为:4.初始化程序段:10.方式4(软件触发选通)*写入控制字OUT=1;*写入常数立即对CLK计数;*计数到0,OUT=0;*一个CLK周期后,OUT=1,计数器停止计数。*计数器只计数一遍;*OUT是N+1个CLK后变低;*计数过程中,GATE=0,计数暂停;*若在计数过程中,改变计数值,则按新的计数值重新开始计数。11.方式5(硬件触发选通)*写入控制字OUT=1;*写入常数后,由GATE的上升沿启动计数;*计数到0,OUT=0;*一个CLK周期后,OUT=1,计数器停止计数。*计数器只计数一次;*OUT是N+1个CLK后变低;*在计数过程中出现的GATE脉冲,将使计数器重新开始计数,对输出状态没有影响;*若在计数过程中改变计数值,只要没有GATE信号触发,不影响计数过程。有新的GATE信号触发则按新的计数值开始计数。12.六.8253-PIT工作方式小结1.输出端OUT的初始状态只有方式0是在写入控制字后输出为低,其它均为高;2.计数值的设置任一种方式,只有在写入计数值后才能开始计数,方式0、2、3、4在写入计数值后,计数自动开始,方式1、5需外部触发,才开始计数。13.计数值N与输出波形的关系14.3.门控信号的作用-----GATE输入总是在CLK输入时钟的上升沿被采样。在方式0,2,3,4中,GATE输入是电平起作用。在方式1,2,3,5中GATE输入是上升沿起作用的。15.4.在计数过程中改变计数值立即有效是写入计数值后的下一个CLK脉冲后,新的计数值开始起作用。5.计数到0后计数器的状态计数器减到0后并不停止,在方式0,1,4,5,计数器减到0后从FFFF/9999继续计数。方式2,3是连续计数,计数器自动装入计数值后,继续计数。16.七.8253-PIT的编程8253-PIT初始化编程的步骤:1.写入通道控制字,规定通道的工作方式;(A1A0=11)2.写入计数值(由控制字的D7D6确定通道号)。①若规定只写入低8位,则写入的为计数值的低8位,高8位自动置0;②若规定只写入高8位,则写入的为计数值的高8位,低8位自动置0;③若是16位计数值,则分两次写入,先写入低8位,再写入高8位。17.例1:某8253端口地址为F8H~FBH,欲用通道0以方式1,按BCD计数,计数值为5080。1.确定通道控制字;2.计数值的低8位为80;3.计数值的高8位为50。00110011初始化程序为:MOVAL,33HOUT0FBH,ALMOVAL,80HOUT0F8H,ALMOVAL,50HOUT0F8H,AL在计数过程中,8253读计数器现行值的方法:(将计数值存入内部锁存器)MOVAL,03H;计数器0的锁存命令OUT0FBH,AL;写入控制寄存器INAL,0F8H;读低8位MOVCL,AL;存入CL中INAL,0F8H;读高8位MOVCH,AL;存入CH中第二节Intel8253-PIT的应用举例18.A4A3A0A5M/IOA7A6A9A8G1G2BG2ACBAY4A2A1RDWRD7—D0GATE0OUT0CLK0CLK1CLK2GATE1OUT1GATE2OUT2A1A0RDWRD7—D0CS1MHz方波5V2KHz方波1ms的负脉冲单脉冲8086CPU74LS138例2:用8253产生各种定时波形。19.例2:用8253产生各种定时波形。要求:(1)通道0输出频率为2KHz的方波;(2)通道1产生宽度为1ms的负脉冲;(3)通道2以硬件方式触发,输出单脉冲时常为26。已知:8253基地址为310H,3通道所用时钟脉冲频率为1MHz。分析:通道0工作于方式3,控制端GATE0接+5V,时间常数N0=1MHz/2KHz=500;通道1工作于方式1,由控制端GATE1的正跳变触发,OUT1的宽度为时常,单次触发,时间常数N1=1ms/0.001ms=1000;通道2工作于方式5,由控制端GATE2的正跳变触发,可连续触发,时间常数N2=26。20.;通道0初始化程序MOVDX,316HMOVAL,00110111BOUTDX,ALMOVDX,310HMOVAL,00HOUTDX,ALMOVAL,05HOUTDX,AL;通道1初始化程序MOVDX,316HMOVAL,01110011BOUTDX,ALMOVDX,312HMOVAL,00HOUTDX,ALMOVAL,10HOUTDX,AL;通道2初始化程序MOVDX,316HMOVAL,10011011BOUTDX,ALMOVDX,314HMOVAL,26HOUTDX,AL21.例3:8253控制LED。要求:LED点亮10秒,熄灭10秒分析:8253的数据线与CPU高8位数据线D8——D15相连,8253的各端口的地址为81H、83H、85H、87H。OUT1输出占空比为1:1的方波,8253端口1工作在方式3。时钟频率为2MHz时,16位计数通道的最大定时时间为:0.5

s

65536=32.768ms级连:通道0输出400Hz脉冲(时常5000),通道1输出0.05Hz方波(时常8000)。D7-D0WRRDA1A0CSCLK0OUT0CLK1OUT1译码WRRDA2A1M/IOA0-A7+5VD8-D15GATE0GATE12MHz22.;通道0初始化程序MOVAL,00110101BOUT87,ALMOVAL,00HOUT81,ALMOVAL,50HOUT81,AL;通道1初始化程序MOVAL,01110111BOUT87,ALMOVAL,00HOUT83,ALMOVAL,80HOUT83,AL23.例4:用8253设计一个自动计数系统(计数500向CPU提出中断申请)。8253端口地址:F0H,F2H,F4H,F6H,8253工作方式:计数器1工作于方式0,按BCD计数,先读写低字节,后读写高字节。D7-D0OUT1WRRDA1A0CSGATE1CLK1译码INTRWRRDA2A1M/IOAB+5V+5V+5V24.;通道1初始化程序MOVAL,01110001BOUT0F6H,ALMOVAL,99HOUT0F2H,ALMOVAL,04HOUT0F2H,AL;读通道1计数值程序MOVAL,01000000BOUT0F6H,ALINAL,0F2HMOVAH,ALINAL,0F2HXCHGAH,AL当前计数值的读取(1)利用GATE控制信号,使计数器停止计数。故干扰了计数过程,需要硬件电路配合。(2)利用计数器锁存命令锁存现行计数值,就可从相应的计数器通道中读取计数值。25.第三节Intel8253-PIT在PC/XT机中的应用GATE0GATE1GATE2CLK0CLK1CLK2OUT2A1A0RDWRD7—D0CSIRQ018.2HzT/C2OUT896HzA1A0IORIOWT/CCSD7—D0U21DQCQOUT1OUT05VU73DSQCCLRDRQ066.2878KHzPCLK2.38636MHzRESETDRVPB0DACK0BRD40H---43H方式3,n=0方式2,n=18方式3,n=133126.

例1:将数据段中起始地址为Souce的100个字节的数据传送到附加段的Dest指向的单元中。LEASI,Souce

温馨提示

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

评论

0/150

提交评论