




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 定时/计数技术 4.1 基本概念 一。定时/计数1.定时 完成某一个时间段的设定,称为定时2.计数 对事件个数的测量,称为计数3.定时和计数的关系 定时的本质就是对均匀时间段(用脉冲周期表示)的计数。二。频率声音音乐 对脉冲个数的计数和时间的测量,就能测出脉冲频率。 数字录音过程中,采样脉冲的频率设定需要定时和计数技术 设定声音信号的频率(音调)和时长,就能获得音乐三。微机系统中的定时 内部定时:指CPU各总线周期的时间基准或时序关系(设计CPU时设定的,固定的。用户不可更改的) 外部定时:用户通过某种方法获得某一个时间段的定时。四。定时方法(指外部定时方法) 软件定时:程序员利用程序
2、执行产生等待延时 优点:不需增加硬件设备,成本低 缺点:增加CPU开销,时间随主机频率改变而改变(即定时程序通用性插) 硬件定时:通过通用的定时/计数器或单稳延时电路产生定时或延时。优点:定时时间精确,定时程序通用性好。不占用CPU资源,定时时间长,使用灵活。缺点:增加硬件成本8 7 6 5 4 3 2 122 23 2019 21911 1015 14 13 18 16 17CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2D0D1D2D3 D4 D5 D6D7 A1A0VCCGNDWRRDCS图8-38253的引脚信号24 128 7 6 5 4 3 2 122
3、 23 2019 21911 1015 14 13 18 16 17CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2D0D1D2D3 D4 D5 D6D7 A1A0VCCGNDWRRDCS图8-38253的引脚信号24 12 4.2 可编程定时/计数器8253/8254一。外部特性和内部逻辑1.外部特性D0-7 数据信号线/RD /WR读写控制信号/CS芯片选择输入,用来选择芯片A1-0:地址输入,用来选择内部端口 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0计数初值装入
4、计数器计数初值装入计数器0写控制器寄存器写控制器寄存器读计数读计数0读计数读计数1读计数读计数2A1A0CSRDWR操操 作作 功功 能能计数初值装入计数器计数初值装入计数器2计数初值装入计数器计数初值装入计数器1表表 3-18253 读读 / 写操作逻辑写操作逻辑与系统总线的连接方法与系统总线的连接方法。思考:按此连接方法,思考:按此连接方法,8253的四个内部端口的四个内部端口地址分别是什么?地址分别是什么? /CS A1 A0 D0 -7 /RD /WR /IOY2 XA1 XA0 XD7-0 /XIOR /XIOW 译码器T0端口(8bit)8个读&写&/WR/RDD0
5、-7A0-1/CS8个同时控制8个3态门内部选中线,用于选中1个存单元或IO端口外译码器/XIOW/XIORXA0-1XA5-98253芯片与系统总线连接及芯片与系统总线连接及T0口读写控制原理图口读写控制原理图XD0-7I读出I写入/Y0/IOY2T1T2T3、TWT400010 000 00来自来自CPU中中(AL)的数据的数据执行执行OUT 40H,AL指令,写指令,写8253T0端口的系统总线时序端口的系统总线时序CLKXA9-0XREADYXD7-0XIOWXA9-5通过外部译码器选通过外部译码器选中中8253芯片芯片通过内部译码通过内部译码器选中器选中T0口口XA4-2没有使用,没
6、有使用,可以取任意值可以取任意值XXXT1T2T3、TWT4写写8253T0端口时,端口时,8253内部信号时序图内部信号时序图CLK/CS 来自来自CPU内部的内部的(AL)D7-0(来自(来自XD7-0)WRI写入写入(内部(内部“写写”与门输与门输出)出)/Y0XA9-5来自外部译码来自外部译码器器/IOY2,仅在仅在T1-T4节节拍生效,启动内部译拍生效,启动内部译码器码器XA1-0使内部译码器使内部译码器/Y0生效,仅在生效,仅在T1-T4节拍生效节拍生效内部内部“写写”与门仅在与门仅在/XIOW和和/Y0都为都为0时才时才输出输出1,只有在,只有在T2T3节节拍,拍,2个输入才同时
7、为个输入才同时为0,故仅故仅T2t2拍才打开写开拍才打开写开关关2.内部逻辑OUT0OUT1GATE2数据数据总线总线缓冲器缓冲器计数器计数器0计数器计数器1计数器计数器2读读 / 写写逻辑逻辑控控 制制字字 寄寄存存 器器内内 部部 总总 线线D0D7WRRDA0A1CSGNDVCCCLK0GATE0CLK1GATE1CLK2OUT2OUT0OUT1GATE2(1). 数据总线缓冲器:数据总线缓冲器:负责与CPU 的接口,CPU 通过数据总线缓冲器向8253写入控制字、计数初值,读取某一通道的计数值。 D0D7 与CPU 的数据总线D0D7相连。(2). 读读/写逻辑:写逻辑:接收CPU 发
8、出的读、写信号和地址信号,负责对8253内部有关寄存器的读/写操作。(3). 控制字寄存器:控制字寄存器:接收CPU 写入的控制字,只能写入,不能读出。(4). 三个计数器三个计数器 (0,1,2)控制单元初值寄存器减1计数器输出锁存器内 部 总 线CLKGATEOUT图8-2计数器内部逻辑图控制单元初值寄存器减1计数器输出锁存器内 部 总 线CLKGATEOUT图8-2计数器内部逻辑图 注意注意: 可以直接读取计数初值,但不可以从减可以直接读取计数初值,但不可以从减1计数器计数器中读出当前值中读出当前值。 要想读当前值,应该先发锁存命令把当前值锁要想读当前值,应该先发锁存命令把当前值锁入当前
9、计数值锁存器,然后读出所存器的值。入当前计数值锁存器,然后读出所存器的值。二。计数初值二。计数初值outclkiffC 初值的设定为输入脉冲初值的设定为输入脉冲频率和输出脉冲的频频率和输出脉冲的频率比值率比值三。编程命令三。编程命令1.方式命令作用计数器选择计数器选择 (D7D6)数据读数据读/写格式写格式 (D5D4)工作方式选择工作方式选择 (D3D2D1)数制选择数制选择 (D0)若D00,则按二进制计数,计数范围0000H0FFFFH,即165536。若D11,则按BCD码计数,计数范围4位10进制数,即110000。D7 D6 D5 D4 D3 D2 D1 D0计数器计数器 读读/写
10、格式写格式 工作方式工作方式 数制数制0 二进制二进制1 二二 十进制(十进制(BCD)000 方式方式0001 方式方式1 10方式方式2 11方式方式3100 方式方式4101 方式方式500 计数器锁存命令计数器锁存命令10 只读只读/写高写高8位位01 只读只读/写低写低8位位11 首先写低首先写低8位位 然后写高然后写高8位位00 选择计数器选择计数器001选择计数器选择计数器110选择计数器选择计数器211非法选择非法选择2.方式命令的格式2. 8253计数过程中,读取当前计数值的方法计数过程中,读取当前计数值的方法(1). 利用利用GATE信号使计数过程暂停。信号使计数过程暂停。
11、(2). 写入控制字,令写入控制字,令8253通道中的锁通道中的锁存器锁存当前计数值,再读取。存器锁存当前计数值,再读取。例2。读0#计数器的当前值 先锁存当前计数值Mov al, 00 00 XXX XBOut 43H,al 再读0#计数器的当前计数值锁存器In al,40H四。工作方式 8253的每个计数通道有六种工作方式可供选择,完成定的每个计数通道有六种工作方式可供选择,完成定时,计数或脉冲发生器等多种功能。结合每种方式的工作时时,计数或脉冲发生器等多种功能。结合每种方式的工作时序波形图,注意以下几点:序波形图,注意以下几点:1. 写入方式字后,写入方式字后,OUT 引脚信号的变化。引
12、脚信号的变化。2. 启动计数器开始计数的触发方式。启动计数器开始计数的触发方式。3. 计数过程中,计数过程中,OUT 引脚的输出波形。引脚的输出波形。4. GATE信号的作用信号的作用1. 方式方式0 (低电平输出,软触发低电平输出,软触发)方式方式0 计数:计数:GATE高电平时,写入计数初值启动计数高电平时,写入计数初值启动计数CW = 10LSB = 4WRCLKGATEOUT43210FFa. 方式0 正常计数CW = 10LSB = 4WRCLKGATEOUT43210FFa. 方式0 正常计数表示写入控制命令10表示写入计数初值4软件触发:指GATE=1时,CPU执行OUT指令后引
13、起计数开始方式方式0时时GATE 信号的作用:信号的作用:GATE低电平电平期间计数暂停低电平电平期间计数暂停CW = 10LSB = 3WRCLKGATEOUT322210FFb. 方式0 GATE信号的作用CW = 10LSB = 3WRCLKGATEOUT322210FFb. 方式0 GATE信号的作用方式方式0时计数过程中重新写入计数值:触发重新计数时计数过程中重新写入计数值:触发重新计数CW = 10LSB = 3WRCLKGATEOUT32121FF0C. 方式0 计数过程中改变计数值LSB = 2CW = 10LSB = 3WRCLKGATEOUT32121FF0C. 方式0 计
14、数过程中改变计数值LSB = 2自己学学看,自己学学看,应该没有问应该没有问题吧题吧2. 方式方式1 (低电平输出,硬触发低电平输出,硬触发)方式方式1 正常计数:写入初值并不启动计数,正常计数:写入初值并不启动计数,GATE上跳沿触发计数上跳沿触发计数LSB = 3WRCLKGATEOUT3210FF32a. 方式1 正常计数CW = 12LSB = 3WRCLKGATEOUT3210FF32a. 方式1 正常计数CW = 12硬件触发:外部硬件电路对GATE引脚送来一个上跳变时引起计数开始方式方式1时时GATE 信号的作用:计数期间,新的信号的作用:计数期间,新的GATE上跳上跳沿触发重新
15、计数沿触发重新计数LSB = 3WRCLKGATEOUT321321CW = 120b. 方式1 GATE信号的作用LSB = 3WRCLKGATEOUT321321CW = 120b. 方式1 GATE信号的作用3. 方式方式2 (周期负脉冲输出,软触发周期负脉冲输出,软触发)方式方式2 正常计数:正常计数: GATE高电平时,写入计数初值启动计数高电平时,写入计数初值启动计数CW = 14LSB = 3WRCLKGATEOUT3213213a. 方式2 正常计数CW = 14LSB = 3WRCLKGATEOUT3213213a. 方式2 正常计数1CW = 14LSB = 3WRCLKG
16、ATEOUT322323b. 方式2 GATE信号的作用1CW = 14LSB = 3WRCLKGATEOUT322323b. 方式2 GATE信号的作用方式方式2时时GATE的作用:的作用:GATE低电平电平期间计低电平电平期间计数暂停数暂停4. 方式方式3 (方波发生器方波发生器)方式方式3 计数值为计数值为偶数偶数时的波形时的波形32143CW = 16LSB = 4WRCLKGATEOUT42143a. 方式3 计数值为偶数时的波形32143CW = 16LSB = 4WRCLKGATEOUT42143a. 方式3 计数值为偶数时的波形方式方式3 计数值计数值为奇数时的波形为奇数时的波
17、形3215CW = 16LSB = 5WRCLKGATEOUT214354b. 方式3 计数值为奇数时的波形3215CW = 16LSB = 5WRCLKGATEOUT214354b. 方式3 计数值为奇数时的波形方式方式3 GATE信号的作用信号的作用:同于方式同于方式02144CW = 16LSB = 4WRCLKGATEOUT214343c.方式3 GATE信号的作用2144CW = 16LSB = 4WRCLKGATEOUT214343c.方式3 GATE信号的作用5 4 3 2 1 4 3CW = 16LSB = 5WRCLKGATEOUTLSB = 4d. 方式3 计数过程中改变计
18、数值5 4 3 2 1 4 3CW = 16LSB = 5WRCLKGATEOUTLSB = 4d. 方式3 计数过程中改变计数值方式3 计数过程中改变计数值:同于方式2自己学学看,自己学学看,应该没有问应该没有问题吧题吧5. 方式方式4 (单次负脉冲输出单次负脉冲输出)方式方式4 启动计数:启动计数:GATE=1时,写入初值就触发计时,写入初值就触发计数(同于方式数(同于方式0)CW = 18LSB = 3WRCLKGATEOUT3210FFa. 方式4 正常计数CW = 18LSB = 3WRCLKGATEOUT3210FFa. 方式4 正常计数方式方式4 GATE 信号的作用:信号的作用
19、:GATE=1,计数;计数;GATE=0,暂停。暂停。(同于方式同于方式0)CW = 18LSB = 3WRCLKGATEOUT333210FFb. 方式4 GTAE信号的作用CW = 18LSB = 3WRCLKGATEOUT333210FFb. 方式4 GTAE信号的作用方式4 计数过程中改变计数值:同于方式2CW = 18LSB = 3WRCLKGATEOUT321210FFc. 方式4 计数过程中改变计数值LSB = 2CW = 18LSB = 3WRCLKGATEOUT321210FFc. 方式4 计数过程中改变计数值LSB = 2自己学学看,自己学学看,应该没有问应该没有问题吧题吧
20、6. 方式方式5 (单次负脉冲方式,硬触发单次负脉冲方式,硬触发) 方式方式5 启动计数:启动计数:GATE上跳沿触发计数(同于方式上跳沿触发计数(同于方式1)OUTLSB = 3WRCLKGATECW = 1A 3 2 1 0 FF 3方式方式5时时GATE 信号的作用:计数过程中信号的作用:计数过程中GATE新的上跳沿到来新的上跳沿到来触发重新计数。同于方式触发重新计数。同于方式1OUTb. 方式5 时GATE信号的作用LSB = 3WRCLKGATECW = 1A3 2 3 2 1 0 FFOUTb. 方式5 时GATE信号的作用LSB = 3WRCLKGATECW = 1A3 2 3
21、2 1 0 FF方式5时计数过程中改变计数值:同于方式1c. 方式5 时计数过程中改变计数值3 2 1 0 FF FF 4 3CW = 1ALSB = 3WRCLKGATEOUTLSB = 4c. 方式5 时计数过程中改变计数值3 2 1 0 FF FF 4 3CW = 1ALSB = 3WRCLKGATEOUTLSB = 4自己学学看,自己学学看,应该没有问应该没有问题吧题吧总结:总结:(1):输出信号:):输出信号:方式方式0,1计数期间输出低电平;方式计数期间输出低电平;方式2、3输出周期信号;输出周期信号;方式方式4、5输出单个负脉冲输出单个负脉冲(2)触发方式:)触发方式: 方式方式
22、0、2、3、4软触发,即软触发,即GATE保持高电平,写入初保持高电平,写入初值开始计数;计数期间值开始计数;计数期间GATE低电平计数暂停;重新写入低电平计数暂停;重新写入初值触发重新计数。初值触发重新计数。 方式方式1、5硬触发,即写入初值不能触发计数,必须等硬触发,即写入初值不能触发计数,必须等GATE上跳沿开始计数;计数期间新的上跳沿开始计数;计数期间新的GATE上跳沿触发上跳沿触发重新计数;重新写入初值并不触发重新计数,必须等新重新计数;重新写入初值并不触发重新计数,必须等新的的GATE上跳沿触发重新计数。上跳沿触发重新计数。4.3 8253应用举例可编程定时器/计数器8253可与各
23、种微型计算机系统相连并构成完整的定时、计数或脉冲发生器。使用8253时,要先根据实际应用要求,设计一个包含8253的硬件逻辑电路或接口,再对8253进行初始化编程,只有初始化后8253才可以按要求正常工作。1. 8253定时功能的应用定时功能的应用例1:设某应用系统中,系统提供一个频率为 10KHZ 的时钟信号,要求每隔10ms完成一次扫描键盘的工作。为了提高CPU的工作效率,采用定时中断的方式进行键盘的扫描。(一)硬件设计:在系统中,采用8253定时器的通道0来实现这一要求。将8253芯片的CLK0接到系统的10KHZ时钟上,OUT0输出接到CPU的中断请求线上,8253口地址为10H13H
24、,所示。 CLK 0 10KH Z GATE 0 +5V OUT 0 中断请求 信号 10 ms 10ms XA1 XA0 DB CS 8253 OUT 0 A 1 A 0 /RD /WR CLK 0 10KH Z GATE 0 +5V OUT 0 中断请求 信号 10 ms 10ms XD0 -7 /XIOR /XIOW CS 8253 OUT 0 8253用于定时中断 A 1 A 0 译码器10H-13H (二)软件设计(二)软件设计(1)选择工作方式)选择工作方式由于系统每隔10ms完成一次动作,则扫描键盘的动作频率为100HZ,可选用方式2来实现。当8253定时器工作在方式2时,在写入
25、控制字与计数初值后,定时器就启动工作,每到10ms时间到,即计数器减到1时,输出端OUT0输出一个CLK周期的低电平,向CPU申请中断,完成键盘扫描,同时按原设定值重新开始计数,实现了计数值的自动重装。(2)确定计数初值)确定计数初值 已知fCLK0=10KHZ, 则TCLK0=0.1ms。所以计数初值NTOUT 0 / TCLK 0=10ms / 0.1ms=100, 即64H。(3)初始化编程)初始化编程根据以上要求,可确定8253通道0的方式控制字为00010100B,即14H。初始化程序段如下:MOV AL,14H ;通道0,写入初值低8位,高8位置0, ;方式2,二进制计数。OUT1
26、3H, AL ;写入方式到控制字寄存器MOV AL,64HOUT10H,AL ;写入计数初值低8位到通道02. 8253计数功能的应用计数功能的应用例2:通过PC机系统总线在外部扩展一片8253,利用其通道0记录外部事件的发生次数,每输入一个高脉冲表示事件发生一次。当事件发生100次后就向CPU提出中断请求(边沿触发),假设8253片选信号的I/O地址范围为200H203H。(一)硬件设计(一)。硬件设计 /CS GATE0 A1 OUT0 A0 D0-7 /RD CLK0 /WR XA1 XA0 XD7-0 /XIOR /XIOW 译码器 XA2-9 VCC 中断请求 外部事件脉冲 XA9 XA8 XA7 XA6 XA5 XA4 XA3 XA2 译码器:200H-203H,输出有效“选中”信号/Y 200H-203H/Y
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年互联网技术服务合同标准化范例
- 2025年美术作品独家代理权合同
- 2025年发展援助合同
- 2025年消防应急响应系统建设合同范例
- 2025年商业信用催收授权协议
- 2025年出租屋居住安全文明公约协议
- 2025年技术策划战略协作框架协议样本
- 2025年度品牌发展及合作协议
- 2025年产品交换借用协议书标准范本
- 2025年共同倡议调整未成年人抚养权协议书范文
- 投资学基础(第二版)教案全套 李博
- 天津市南开区2025届高三下学期一模考试英语试题含解析
- 专职安全员述职报告
- 【MOOC】断层影像解剖学-山东大学 中国大学慕课MOOC答案
- 同等学力人员申请硕士学位英语试卷与参考答案(2024年)
- 警民恳谈会民警发言稿
- 2024年3月30日事业单位联考C类《职业能力倾向测验》试题
- 淮阴师范学院《论文写作与文献检索》2023-2024学年第一学期期末试卷
- 《化工设备机械基础(第8版)》完整全套教学课件
- 现代家政导论-课件 5.1.2认识家政服务业分类
- 代理记账业务内部规范制度-代理记账业务规范
评论
0/150
提交评论