版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第9章章 计数器计数器/定时器定时器9.1 概述9.2 可编程计数器/定时器82539.3 8253的运用9.1 概述概述在许多微机系统中,动态存储器的刷新定时、系统日历时钟的计时以及喇叭的声源,都是用定时信号来产生的。在计算机实时控制和处置系统中,计算机主机需求每隔一定的时间就对处置对象进展采样,再对获得的数据进展处置,这也要用到定时信号。主要有三种方法主要有三种方法软件定时即让计算机执行一个延迟程序段。经过正确地挑选指令和安排循环次数很容易实现软件定时。优点是节省硬件,但主要缺陷是执行延迟程序期间,CPU不断被占用,降低了CPU的效率。不可编程的硬件定时可以采用小规模集成电路器件如555
2、,外接电阻和电容构成。这样的定时电路简单,而且经过改动电阻和电容,可以使定时在一定的范围内改动。但是,这种定时电路在硬件衔接好以后,定时值及定时范围不能由程序(软件)来控制和改动。可编程定时器电路的定时值及定时范围可以很容易地由软件来确定和改动,功能较强,运用灵敏。这种方法最突出的优点是计数时不占用CPU的时间,并且假设利用定时器产生中断信号,就可以建立多作业的环境,所以,可以大大提高CPU的利用率。加上计数器/定时器本身的开销并不很大,因此,这种方法遭到广泛运用。9.2 可编程计数器可编程计数器/定时器定时器82538253的主要功能有:(1)有3个独立的、功能一样的16位减法计数器。(2)
3、每个计数器都可以按照二进制或BCD码进展计数。(3)每个计数器的计数速率可高达2MHz。(4)每个计数器有6种任务方式,可由程序设置和改动。(5)一切的输入输出引脚电平都与TTL电平兼容。 9.2.1 8253的内部构造和引脚特性9.2.2 8253的控制字9.2.3 8253的任务方式9.2.4 8253的编程 9.2.1 8253的内部构造和引脚特性的内部构造和引脚特性1.8253的内部构造的内部构造8253内部有3个计数器,分别称为计数器0、计数器1和计数器2,它们的构造完全一样。每个计数器的输入和输出都决议于本身所带的控制存放器的控制字,相互之间任务完全独立。每个计数器经过3个引脚和外
4、部联络,1个为时钟输入端CLK,1个为门控信号输入端GATE,另1个为输出端OUT。每个计数器内部有1个8位控制存放器CW、1个16位计数初值存放器CR、1个16位减1计数执行部件CE和1个16位输出锁存器OL。 2.8253的引脚信号和功能的引脚信号和功能9.2.2 8253的控制字的控制字1.8253控制字2.8253的初始化编程1.8253控制字控制字2.8253的初始化编程的初始化编程对8253编程常有2种操作:1)初始化写操作2)读当前计数值操作1)写操作写操作-8253的初始化编程的初始化编程首先设置控制字。需求用几个计数器,就要写几次控制字,不过控制存放器地址都一样。写入控制字,
5、还起到复位作用:使该计数器清零及OUT端变为规定的初始形状。向已选定的计数器写入计数初值。但写初值时要留意: 编程写入时必需按相应控制字中的要求顺序写入。 正确选定初值是二进制数还是BCD码数。由于3个计数器完全独立,有各自的端口地址,因此对这3个计数器分别初始化编程并没有先后次序要求。但是,对任一计数器初始化时必需先写控制字,再写计数初值。 2)读当前计数值读当前计数值-先锁存,再读操作先锁存,再读操作 在计数过程中,OL实时跟随CE,并不锁存其实时值;只需接到锁存指令时,OL立刻锁存当前值,不再跟随CE变化,而同时CE仍照常继续减l计数。CPU将锁定值用输入指令读走时,锁存器自动失锁,又跟
6、随CE实时变化。详细编程为:先写锁存命令控制字(即设置控制字的RL1、RL0为00) 。再读该计数器口地址。 9.2.3 8253的任务方式的任务方式8253有6种方式任务。不论用哪种方式任务,都会遵守下面几条根本规那么:控制字写入计数器时,一切的控制逻辑电路立刻复位,输出端OUT进入初始形状(高电平或者低电平)。初始值写入以后,要经过时钟的一个上升沿和一个下降沿,计数执行部件才开场进展计数。通常,在时钟脉冲CLK的上升沿,门控信号GATE被采样。在时钟脉冲的下降沿,计数器作减1计数。0是计数器所能包容的最大初始值,中选用二进制时,0相当于216;用BCD码时,0相当于l04。 1.方式方式0
7、-可编程阶跃信号发生可编程阶跃信号发生器器能使OUT端产生正阶跃信号,常被用来作为中断恳求信号。2.方式方式1-可编程单稳态输出方可编程单稳态输出方式式能使OUT端产生单脉冲波形信号,单脉冲宽度可由程序设定。 3.方式方式2-可编程频率发生器可编程频率发生器/分频器分频器使OUT端输出固定频率的脉冲,输出脉冲周期等于n个CLK脉冲的宽度,也相当于对CLK信号n分频。这种方式给自动控制中的实时检测、实时控制提供了实时时钟,也可作为一个可编程脉冲速率发生器。 4.方式方式3-可编程方波发生器可编程方波发生器方式3与方式2任务原理类似,但输出波形那么为占空比1:1或近似1:1的延续方波或矩形波。 方
8、式方式4-可编程软件触发的选通讯号发生器可编程软件触发的选通讯号发生器计数器主要靠写入新的计数初值来触发计数器任务,所以常称它为软件触发。OUT端输出的负单脉冲信号常作为选通讯号运用;另外还可用作定时功能,定时时间为n个CLK周期。 方式方式5-可编程硬件触发的选通讯号发生器可编程硬件触发的选通讯号发生器方式5与方式l任务原理类似,由门控信号GATE的上升沿触发计数器计数,但OUT端输出波形为单脉冲选通讯号,同方式4。 7.8253任务小结任务小结8253有6种不同的任务方式,它们的特点不同,因此运用的场所也就不同。8253没有复位RESET输入,开机加电后,其任务方式和OUT端输出都是不确定
9、的,必需对其进展初始化编程,初始化编程包括写控制字和写计数初值。先写控制字,使OUT端输出初始形状电平,其中只需方式0的初始形状为OUT端输出低电平,其它方式的初始形状都是OUT端输出高电平。OUT端输出波形都是在CLK脉冲下降沿时产生电平的变化。门控信号的触发方式有二种;高电平触发,上升沿触发。方式0、4中GATE为高电平触发;方式l、5中GATE为上升沿触发;方式2、3中GATE既可用高电平触发也可用上升沿触发。方式0与方式1的OUT端输出波形类似,在计数过程中都坚持低电平,计数终了立刻变为高电平,这种正阶跃信号输出常可用作中断恳求信号。但它们的OUT端初始形状不一样,方式0的OUT端输出
10、正阶跃信号,方式1的OUT端输出负单稳态脉冲波。7.8253任务小结任务小结(续续)方式2与方式3有一共同的特点,都具有减到0后计数初值自动再重装功能,所以OUT端都能输出延续的波形。它们主要的区别在于占空比不同,方式2输出延续的负脉冲波,其中负脉冲宽仅为一个CLK脉冲,而周期为n个CLK脉冲;方式3输出延续方波或矩形波,占空比为1:1或近似1:1。方式4与方式5的输出波形一样,它们主要区别是计数启动的触发信号不同,方式4由写计数初值指令的上升沿启动计数,方式5由GATE上升沿启动计数。6种任务方式都受GATE门控信号的控制。在运用计数器前,必需先写入计数初值n。在某些任务方式下初值只能用一次
11、,如下次要用,必需重新写入初值n;而在另外些方式下,能自动重新装入初值n实现循环计数。 方式0:写入的初值n一次有效 方式1:写入的初值n一次有效,但可触发重装 方式2:写入的初值n能自动重装 方式3:写入的初值n能自动重装 方式4:写入的初值n一次有效 方式5:写入的初值n一次有效,但可触发重装6种任务方式在计数过程中都可写入新计数初值,但是在不同方式时对当前计数及OUT输出的影响各不一样。 9.2.4 8253的编程的编程1.8253的初始化编程2.8253计数值的读取编程1.8253的初始化编程的初始化编程初始化编程的步骤为:(1)写控制字,规定计数器的任务方式。(2)写计数初值。 假设
12、规定只写低8位,那么写入的为计数初值的低8位,高8位自动置0。 假设规定只写高8位,那么写入的为计数初值的高8位,低8位自动置0。 假设是16位计数初值,那么分两次写入,先写入低8位,再写入高8位。 例子例子假设要使计数器0任务在方式1,按BCD码计数,计数初值为5080,假设端口地址分别为F8HFBH,那么初始化程序为: MOV AL,33H OUT 0FBH,AL;向计数器0写控制字 MOV AL,80H OUT 0F8H,AL;向计数器0写计数初值的低8位 MOV AL,50H OUT 0F8H,AL;向计数器0写计数初值的高8位留意:采用BCD码计数时,计数初值为十进制数,但在初始化写
13、初值时,一定要在十进制数值后加十六进制后缀H。 2.8253计数值的读取编程计数值的读取编程CPU可以用输入指令读取8253任一计数器的计数值,此时CPU读到的是执行输入指令瞬间计数器的现行值。8253的计数器是16位的,要分两次读至CPU,在读入过程中,计数值能够发生变化。因此,在读取计数值之前,需对现行计数值进展锁存。 例子例子假设要读取计数器1的16位计数值,端口地址分别为F8HFBH,其程序为:MOV AL,40H OUT 0FBH,AL;向计数器1写控制字,实现锁存 IN AL,0F9H;读低8位计数值 MOV CL,AL;保管至CL IN AL,0F9H;读高8位计数值 MOV C
14、H ,AL;保管至CH 9.3 8253的运用的运用例1:利用8253和8255实现对扬声器的控制。试设计一个程序,使扬声器发出600Hz频率的声音,按下恣意键声音停顿。知8253计数器2与控制口地址为42H与43H,8255PB口的地址为61H。&分析分析在PC/XT计算机系统中,PC机的发声系统以计数器2为中心。CLK2的输入频率1.19MHz,改动计数器初值可以由OUT2得到不同频率的方波输出。计 数 器 2 定 义 为 任 务 方 式 3 , 控 制 字 为10110110B。对于要求OUT2输出600Hz的声音 驱 动 信 号 , 可 以 得 出 计 数 初 值1.19MHz
15、/600Hz=1938。 分析分析(续续)另外,PC/XT计算机的发声系统受8255芯片B口的两个输出端线PB0、PB1的控制,PB0为1,使GATE2为1,计数器2能正常计数,可以控制扬声器何时可以发声;PB1为1,翻开输出控制门,可以控制扬声器发声时间长短。 程序段程序段MOV AL,10110110B;对8253计数器2初始化OUT 43H,ALMOV AX, 1983;设置计数值OUT 42H, ALMOV AL,AHOUT 42H,ALIN AL, 61H;读8255PB口当前值OR AL, 03H;使PB1与PB0置1,其他位不变OUT 61H,AL;翻开GATE2并且允许发声MO
16、V AH, 01HINT 21H;等待按恣意键IN AL,61HAND AL,0FCH;清PB1与PB0OUT 61H,AL;停顿发声 例例2利用8253定时产生中断信号。时钟信号为2MHz,输入8253时钟输入端,要求OUT0实现每5秒定时中断。设8253端口地址40H43H。 分析分析8253最大初值65536,CLK=2MHz可实现最大时间间隔: 655360.5s=32.769ms,很明显利用一个定时器不能到达要求。所以需求两个计数器级联,其连线图如下图。一个计数器的输出作为另一个计数器的时钟输入端输入,设2个计数器都任务在方式2。 OUT0 GATE0 CLK0 OUT1 GATE1
17、 CLK18253每5秒产生一个脉冲+5V+5V2MHz分析分析(续续)计数器1:方式2,OUT1每5ms输出一个脉冲 计数器1初值:(2106)/(1/0.005)=10000计数器0:方式2,OUT0每5s输出一个脉冲 计数器0初值:5/0.005=1000 程序段程序段MOV AL,01100101B;对8253计数器1初始化OUT 43H,ALMOV AL,0OUT 41H,ALMOV AL,00100101B;对8253计数器0初始化OUT 43H, ALMOV AL, 01HOUT 40H, AL例例3用8253A监视一个消费流水线,要求每经过50个工件,扬声器响5秒,频率为2KH
18、z。设计数器0、计数器1、控制存放器的地址为40H、41H、43H,8255A的PA口地址为80H,系统提供5秒延时子程序DL5S供调用。 分析分析工件从光源和光敏电阻之间经过时,晶体管的发射极将会产生一个脉冲,此脉冲作为8253A计数器0的计数输入,当计数器0计满50后,OUT0输出负脉冲,经反相后,作为中断恳求信号,即计数器0任务在方式2,采用十进制计数,计数初值为50。在中断效力程序中,用8253A的计数器1输出2KHz的方波,继续5秒后停顿。由于CLK1接5MHz时钟,故计数器1任务在方式3(方波发生器)。计数初值5000000/2000=2500,用十进制计数。用8255A的A端口的PA0位控制计数的启动和停顿。 程序段程序段主程序为: MOV AL,00010101B;计数器0初始化 OUT 43H,AL MOV AL,50H;计数初值 OUT 40H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026上半年四川成都大学考核招聘高层次人才5人备考题库含答案详解(基础题)
- 2026新疆和田墨玉县鑫玉经济开发有限责任公司招聘8人备考题库附完整答案详解【名师系列】
- 中建安装2026届春季校园招聘备考题库及参考答案详解(a卷)
- 2026中国平安保险(集团)股份有限公司四川分公司招聘备考题库含答案详解【新】
- 2026浙江丽水市松阳县国盛人力资源有限公司招聘专职消防员3人备考题库(培优a卷)附答案详解
- 2026广东佛山市顺德区大良外国语学校招聘校医1人备考题库【易错题】附答案详解
- 2026湖北恩施州来凤县绿水镇中心幼儿园带班教师1名备考题库有完整答案详解
- 2026广东广州公交集团招聘备考题库【轻巧夺冠】附答案详解
- 2026河北邯郸市中医院选聘23人备考题库带答案详解(典型题)
- 2026广西柳州市鱼峰区洛埠镇卫生院招聘2人备考题库含答案详解(综合卷)
- PCI围术期强化他汀治疗的获益和机制课件
- 西宁市湟水河城区段水生态综合治理工程建设项目环评报告
- JJG 539-2016数字指示秤
- GB/T 33365-2016钢筋混凝土用钢筋焊接网试验方法
- 辽宁盘锦浩业化工“1.15”泄漏爆炸着火事故警示教育
- GB/T 16588-2009带传动工业用多楔带与带轮PH、PJ、PK、PL和PM型:尺寸
- GB/T 14536.6-2008家用和类似用途电自动控制器燃烧器电自动控制系统的特殊要求
- GB/T 1408.3-2016绝缘材料电气强度试验方法第3部分:1.2/50μs冲击试验补充要求
- 《乡风文明建设》(王博文)
- 《安娜·卡列尼娜》-课件-
- 《中级电工培训》课件
评论
0/150
提交评论