版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、9.2 可编程计数/定时控制器8253了解8253的功能熟悉8253的工作方式掌握8253的编程方法掌握每种工作方式下GATE对OUT的影响学会使用8253计数和定时功能计数/定时器:通常按计数的实现方法可将计数器操作分为增量计数器和减量计数器两种。增量计数器是指当计数脉冲(事件)到来后,计数的计数值加“1”;减量计数器反之。增量计数器常用于对事件的累计,而减量计数常用于限量计数。增量计数关心的是当前计数的量,减量计数关心的是计数终到的时刻。在微机系统或微机应用系统,特别是控制系统中,经常有计数和计时的要求。如汽车里程表 的公里计数,电话通话时间计时等。这些应用在计算机中的处理方法不外乎两种:
2、软件方法和硬件方法。可编程硬件定时:采用可编程的计数/定时芯片完成。定时值及其可调整范围,都可以通过软件编程确定和改变,功能灵活使用方便。(软硬件结合) 可编程计数器/定时器Intel 8253就是这种芯片。硬件定时:采用电子器件构成定时或延时电路。电路触发后延时时间的长短由电路中的定时元件的RC值(RC时间常数)所决定,这种定时方法的缺点是,要改变定时间隔必须改变电路元件,不灵活。(纯硬件)软件定时:就是根据所需要的时间常数来设计一个延迟子程序,这样作的优点是节省硬件,但耗费CPU的资源较多,降低了CPU效率,且编写软件略显麻烦,通常延迟时间较小且重复次数有限的情况下,使用该方法。8253的
3、工作原理计数器/定时器的功能: 对外部事件发生次数进行计数; 产生计算机系统需要的定时信号。计数和计时本质上是相同的,它们都是对一个输入脉冲进行计数。计数器的输入信号可以是随机信号,定时器的输入信号要求具有固定周期。计数器/定时器需要做到三个基本功能:可以设定工作方式、计数值可以控制何时开始计数,还可以暂停或重新写入计数值计数/计时结束时要有提示如果输入脉冲的频率一定,那么记录脉冲的个数与所需的时间是一一对应的关系。例如输入脉冲频率为2MHz,那么计数2106 计时1秒。一个计数器/定时器的组成:控制字寄存器决定工作模式(8位)状态寄存器反映工作状态初值寄存器计数的初值(16位)计数输出寄存器
4、当前计数值(16位)。计数器执行计数操作,CPU不能访问。(16位)输入计数器脉冲门控信号输入端输出端计数器/定时器的组成:首先,CPU把控制字写入控制寄存器,计数初值写入初值寄存器;计数从初值开始,每当CLK脉冲信号出现一次,计数值在门控信号GATE控制下决定是否减1;当计数值减到0,从OUT端输出规定的信号;CLK信号出现时,计数器是否减1,由门控信号GATE控制。一、8253A的内部结构和引脚信号8253的内部结构图接CPU或系统总线一、8253A的内部结构和引脚信号123456789101112242322212019181716151413D7D6D5D4D3D2D1D0CLK0OU
5、T0GATE0GNDCLK1OUT1GATE1CLK2OUT2GATE2A1A0VCCWRRDCS82538253管脚图 8253的三个计数通道在结构上和功能上完全一样,每个通道均有两个输入引脚CLK和GATE,一个输出信号 引脚OUT。8253 是24引脚双列直插式芯片,它与CPU的接口引线如下: D7D0是数据线引脚,RD和WD分别是读写控制引脚,CS是片选信号。A1,A0是片内地址选择引脚。 由CPU输入的控制信号CS 、RD和WR 与A1,A0组合实现的功能见教材p246表9-5。一、8253A的内部结构和引脚信号 8253输入信号组合的功能表CS RD WR A1 A0 功能 0 0
6、 0 1 0 0 1 对计数器A1A0设置计数初值 1 0 0 1 0 1 1 设置控制字或给一个命令 0 0 0 0 1 0 1 从计数器A1A0读出计数值 1 0 一、8253A的内部结构和引脚信号8253作为定时器使用时,其定时时间计算公式为:例:在某系统中,8253的CLK上的计数脉冲频率为0.5MHz,8253计数器的初值是n=500,则定时时间为多少?定时时间 = 时钟脉冲周期tclk预置的计数初值n注意:8253 外部输入引脚CLKi上的时钟脉冲频率不能大于2MHz。0.5MHz的时钟脉冲周期为T=2s,则定时时间 = 2s 500=1ms一、8253A的内部结构和引脚信号在对8
7、253进行编程时,先由CPU向它写控制字,来选定计数器通道,并规定所选计数器的工作方式。控制字格式:D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 00:选择通道001:选择通道110:选择通道211:无效00:计数器锁存01:读写低字节10:读写高字节11:先低,后高000:方式0001:方式1X10:方式2X11:方式3100:方式4101:方式51:BCD0:2进制BCD:00009999H; 二进制:0000FFFFH; BCD: 1200H=1200; 二进制:1200H=4608计数初值为0000时,如何计数?初值写进去之后
8、,门控信号允许时,计数过程是:1、初值放入计数当前值寄存器2、CLK到来一个脉冲当前值寄存器减13、判断当前值是否为0,如果不为0,返回2,否则当前一次计数结束。BCD:初值可以为00009999H; 当初值为0时,先减1得9999H,到最后减为0,进行了10000次计数,所以初值0相当于10000二进制:0000FFFFH; 初值0000H相当于65536CLK确定的情况下,一个定时器的最长定时时间=?对应的计数初值是?二、 8253的初始化步骤和门控信号的功能1. 初始化步骤:(1) 写入控制字;(2) 按控制字要求写入计数初值。计数初值N=fCLK/fOUT =TOUT/TCLK 设82
9、53的地址为3F0H、3F2H、3F4H、3F6H要求8253的计数器0工作于方式3,BCD码计数,计数器初值n=1234H, 初始化程序为:MOVAL, 37HMOVDX, 3F6HOUTDX, ALMOVAL, 34HMOVDX, 3F0HOUTDX, ALMOVAL, 12HOUTDX, AL二、 8253的初始化步骤和门控信号的功能2. 门控信号控制功能:门控信号GATE的控制功能如教材P251表9-6所示,由表可知:方式0,4时:门控信号为电平触发 方式1,5时:门控信号为上升沿触发 方式2,3时:门控信号为电平或上升沿触发三、 8253的工作方式工作方式决定以下内容:1)门控信号的
10、影响 高电平允许:当GATE=0,即使出现CLK,也不计数 方式0,2,3,4上升沿允许(上升沿触发)方式1,5,2,3三、 8253的工作方式写入控制字后, OUT的状态计数过程中, OUT的状态计数终了, OUT的状态3)计数操作可否重复不可重复模式0,4自动重复模式2,3条件重复模式1,5工作方式决定以下内容:2) OUT信号的状态三、 8253的工作方式1. 方式0:计数结束中断方式特点:可作为INTR信号计数器只计数一遍;计数过程中,可由门控信号控制暂停计数; 在计数过程中可改变计数值。写入新值后,计数器按新值重新开始计数三、 8253的工作方式2. 方式1:可编程单稳态输出方式特点
11、:若计数值为N,则输出脉冲宽度为N*CLK;计数到0,可由GATE上升沿再次触发,输出一个脉冲,不需重新赋值;若计数过程中,门控信号再次触发,计数器在触发信号的下一个CLK重新开始计数;若计数过程中,CPU改变计数值,但计数过程不受影响,再次触发后,按新值重新计数。三、 8253的工作方式3. 方式2:比率发生器(分频器)特点:计数器能连续工作;计数过程中,若GATE变低,计数器暂停工作,GATE变高后,计数器重新取出初值,开始计数;计数过程中,若写入新的初值,对当前的计数过程无影响,但下一个计数过程,以新的初值开始计数;三、 8253的工作方式4. 方式3:方波发生器 特点与方式2相似,不同
12、的是:方式2输出固定脉宽的脉冲,方式3输出占空比为1:1的方波三、 8253的工作方式N值写入后,如Gate为高,则下一个CLK开始计数,相当于软件启动;GATE=“1”,允许计数,GATE=“0”,禁止计数,因此,要做到软件启动,必须使GATE=“1”;特点:写一次初值,只计一次;计到0时,产生低电平维持一个周期后变高计数过程中改变计数值,按新值重新计数到0;5. 方式4:软件触发选通三、 8253的工作方式6. 方式5:硬件触发选通N值写入后,计数器并不计数,当GATE的上升沿出现时,取出初值开始计数;计数过程中改变计数值,若没有GATE的触发,不影响计数过程,当计数到“0”后,若有GAT
13、E触发,则按新的计数值计数.特点:三、 8253的工作方式6种工作方式主要区别: OUT输出波形不同。 启动计数器的触发方式不同。 计数过程中门控信号GATE对计数操作的影响不同。有的工作方式具备“初值自动重装”的功能。初值自动重装的功能是:当计数值减到规定的数值(通常为0)后,计数初值将会自动地重新装入计数器。三、 8253的工作方式6种工作方式小结:方式0:计数初值N写入CR后,当GATE为高电平时,经过N个时钟脉冲之后OUT由0到1跳变每写一次初值仅仅计数一次方式1:计数初值N写入CR后,由GATE上升沿触发,OUT输出一个负的单脉冲 单脉冲宽度T=N TCLK不必每次都写初值。方式2:
14、计数初值N写入CR后,当GATE为高电平时,输入端每输入N个时钟脉冲,在输出端出现一个负的时钟脉冲 N分频器。自动重装入初值。三、 8253的工作方式6种工作方式小结:方式4:计数初值N写入CR后, 触发计数(此时GATE必须为高电平),经N个时钟脉冲,输出端产生选通负脉冲信号, 宽度= 1个CLK 只计一次方式3:计数初值N写入CR后,当GATE为高电平时,n为偶数时OUT输出一系列方波 (N分频器) 。N值为奇数时,输出矩形波,高低电平时间不同(差一个时钟周期) 。自动重装入初值。方式5:计数初值N写入CR后,硬触发(GATE输入一个正脉冲)后,经N个时钟脉冲, 输出端产生选通负脉冲信号,
15、宽度= CLK不必每次都写初值四、8253的应用举例 实际应用例子的解题思路:确定端口地址确定计数初值-确定工作方式确定电路图编程(写入控制字、初值)8253的编程只需要初始化。初始化之后,芯片自动工作,无需程序干扰注意:用到多个通道时,对每个通道都要依次写控制字,写初值。接口芯片地址注意:端口地址及片选信号的产生选择8253A的A1、A0: 与8086CPU的A2、A1相连;与8088CPU的A1、A0相连。A1A1A0A08位80888253端口地址:A1 A00 00 11 01 1X0HX1HX2HX3H80868253低8位A2A1A1A0A2 A1A00 00 11 01 1000
16、0端口地址:X0HX2HX4HX6H例1:在某个以8086为CPU的系统中使用了一块8253芯片,通道的基地址为310H,所用的时钟脉冲频率为1MHz。要求3个计数通道分别完成以下功能:1)计数器0工作于方式3,输出频率为2KHz的方波; 2)计数器1产生宽度为480 s的单脉冲;3)计数器2用硬件方式触发,输出单脉冲,时间常 数为26。通道的地址分别为310H, 312H, 314H, 316H。1)计数器0:方式3,OUT0输出方波N0= fCLK/fOUT = 1MHz /2KHz =106/2 103 = 5002)计数器1:方式1,OUT1输出单脉冲N1= TOUT/TCLK = 4
17、80 s / 1 s = 480例1:3)计数器2:模式5,OUT2输出门控单脉冲, N2= 26A9A0=1100010XX0 310H316H480us宽单脉冲CLK0808674LS1388253CLK1CLK2GATE0OUT0GATE1OUT1GATE2OUT21MHzCSA1A0RDWRD7 D0D7 D0WRRDA1A2A0A3A4ABCG2BG2AG1A5A6A7A8A9M/IO2KHzY4负脉冲+5V;通道0方式字及初值MOV DX,316HMOV AL,00110111BOUT DX,ALMOV DX,310HMOV AL,00HOUT DX,ALMOV AL,05H;通道
18、1方式字及初值MOV DX,316HMOV AL,01110011BOUT DX,ALMOV DX,312HMOV AL,80HOUT DX,ALMOV AL,04HOUT DX,AL;通道2的方式字及初值MOV DX,316HMOV AL,10011011BOUT DX,ALMOV DX,314HMOV AL,26HOUT DX,AL8253的应用举例例2:时钟脉冲以2MHz输入8253,实现每5秒定时中断(设8253端口地址40H46H)分析:按照公式计数初值n=Tout/Tclk=107,而初值计数器只有16位,最大计数次数为65536,所以一个计数器不行,所以需要两个计数器串联,一个计
19、数器的输出作为另一个计数器的输入。连接如图:OUT0GATE0CLK0OUT1GATE1CLK1+5V+5V2MHz每5秒产生一个脉冲先确定端口地址确定计数初值确定电路图确定工作方式编程(写入控制字、初值)级联时每个计数器初值的计算N0=Tout0/Tclk0=Tout0/Tout1=Tout0/(N1*Tclk1)N0*N1=Tout0/Tclk1= 107采取级联后,要使得级联的两个计数器的计数初值的乘积为107,所以两个计数器的初值N1、N2可以多种取值,只要N1*N2= 107即可。可以取N1=10000,N2=1000首先,选择工作方式要实现每5秒,即自动循环计数,那么方式 0:只计
20、数一次的方式不符合 1:每次要用GATE上升沿才能触发计数的方式不行 2:只要Gate为高电平就可以自动循环计数,满足 3:类似方式2,也满足 4:Gate为高电平时,计数一次 5:必须用Gate上升沿才能触发计数,同1例2:计数器1:方式2,OUT1每5ms输出一个脉冲,初值 N1=定时时间/Tc=5ms/0.5 s=10000计数器0:方式2,OUT0 每5s输出一个脉冲,初值 N2=定时时间/Tc=5s/5ms=1000OUT0GATE0CLK0OUT1GATE1CLK1+5V+5V2MHz每5秒产生一个脉冲5ms产生一个脉冲计算初值:OUT1每5s输出一个脉冲,初值 N=定时时间/Tclk=5s/0.5 s=107 65535START: MOV AL, 01110100B ; 定时器1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度福建省机电设备有限公司福建省商建建设开发有限公司招聘5人笔试参考题库附带答案详解
- 2025年度中国时空信息集团有限公司招聘笔试参考题库附带答案详解
- 2025年庆阳石化分公司春季高校毕业生招聘5人笔试参考题库附带答案详解
- 新企业职业规划模板
- 2025年山东济宁梁山县公开招聘县属国有企业高级经营管理人员笔试参考题库附带答案详解
- 2025年安徽省中望投资开发有限公司公开招聘人才9人笔试参考题库附带答案详解
- 2025年天津能源投资集团科技有限公司招聘笔试参考题库附带答案详解
- 2025年国能铁路装备有限责任公司系统内招聘5名笔试参考题库附带答案详解
- 2025年国网河南省电力公司校园招聘笔试参考题库附带答案详解
- 医学康复技术就业前景
- 《流域综合规划》课件
- 2023眼视光行业白皮书-美团医疗x动脉网-202406
- 化工企业生产异常工况辨识方法
- 《复旦大学》课件
- 提高混凝土外墙螺杆洞封堵质量验收合格率
- 品质部绩效考核评分表(KPI)
- 脉冲分配放大器校准规范
- 茅台酱酒文化知识讲座
- 光电器件教学课件
- 浙江万盛股份有限公司年产43500吨磷酸酯无卤阻燃剂及副产43000吨30%盐酸、含氯化钠盐等装备提升技改项目、年产10000吨氯丁烷技改项目、年产6000吨复配型阻燃剂项目环评报告
- 上海印象旅游城市介绍模板(免费下载)
评论
0/150
提交评论