




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 可编程定时/8253及其运用第一节 Intel8253-PIT的任务原理一. 8253的功能 计算机系统中,实现定时或延时有三种方法:软件定时、不可编程的硬件定时、可编程的硬件定时器。8253为可编程的硬件定时/1. 主要功能* 具有3个独立的16位计数器通道;* 每个计数器均可按二进制或二十进制计数;* 每个计数器的计数速率高达2MHz;* 每个通道有6种任务方式,可由程序设置和改动;* 一切的输入输出都与TTL兼容。1二. 8253的内部构造*三个计数器减法器 3个独立的16位减法器,可作定时/计数器运用; 计数器按二/BCD方式减法计数,从预常减到零时,OUT端输出一信号。数据总
2、线缓冲 器计数器0读/写逻辑控制字存放器计数器1计数器2CLK0CLK1CLK2GATE0GATE1GATE2OUT0OUT1OUT2D7 D0RDWRA0A1CS8253内部构造内部数据总线*数据总线缓冲器(传送信息) 写控制字, 写时常, 读计数值*读写逻辑*控制字存放器(存放控制字)2数据总线缓冲 器计数器0读/写逻辑控制字存放器计数器1计数器2CLK0CLK1CLK2GATE0GATE1GATE2OUT0OUT1OUT2D7 D0RDWRA0A1CS8253内部构造内部数据总线三.8253 的引线* 数据线D7D0* 地址线:选择内部寄 存器;* 控制线:完成片选和 读写操作。CLK:
3、输入脉冲线;GATE:门控信号输入线; GATE=0 制止计数, GATE=1 允许任务;OUT:输出引脚; 当计数到“0时,OUT 端输出一信号。3CSRDWR A1A0寄存器选择和操作01000写入计数器 001001写入计数器 101010写入计数器 201011写入控制寄存器00100读计数器 000101读计数器 100110读计数器 200111无操作(三态)1*禁止(三态)8253输入信号组合的功能表4四. 8253-PIT的控制字00 选择计数器001 选择计数器110 选择计数器211 非法选择0=二进制1=BCD计数器读/写格式任务方式数制D0D1D2D3D4D5D6D7
4、在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信号作为中断恳求
5、。1. 方式043210FFOUTGATE=1CLKWRCW=10LSB=432220FFOUTGATECLKWRCW=10LSB=31 置时常6方式1可编程单稳* 写入控制字OUT=1,写入常数不计数;* GATE启动计数,OUT=0;* 计数到,OUT=1。*单拍脉冲宽度为N;*由GATE重新启动;*计数中,可重新启动;*计数中,可改动计数值,再次启动有效。二. 8253-PIT的工作方式3230FFOUTGATECLKWRCW=12LSB=31二. 8253-PIT的工作方式3230OUTGATECLKWRCW=12LSB=3121732OUTGATECLKWRCW=14LSB=3321
6、32方式2速率发生器* 写入控制字OUT=1;* 写入常数立刻对CLK计数;* 计数到1,OUT=0;* 一个CLK周期后,OUT=1,重新计数。* 通道延续任务不需重置时常;* 计数过程中,GATE=0,计数暂停,GATE变高后重新计数;* 计数过程中可改动计数值;新的计数值在下一次有效。321OUTGATE=1CLKWRCW=14LSB=332138542OUTGATE=1CLKWRCW=16LSB=52545252方式3方波速率发生器* 与方式2的区别在于:输出为周期是N个CLK脉冲的方波。* 假设计数值为偶数,每个CLK使计数值减2,计到0,OUT改动形状,重装计数值开场新的计数。*假
7、设计数值为奇数,第一个脉冲先减1,以后,每个CLK使计数值减2,计到0 时,OUT改动形状,重装计数值后,第一个脉冲减3,以后,每个CLK使计数值减2,计到0时,OUT改动形状。*GATE信号控制计数过程;*计数过程中写入新的计数值将在半周期终了时装入计数器。424OUTGATE=1CLKWRCW=16LSB=4242429例:要求计数器0任务于方式3,输出方波的频率为2KHz,计数脉冲的频率为2.5MHz,采用BCD计数,试写出初始化程序段。2. 常数计算:TC = 2.5MHz/2KHz=1250MOV AL,37HOUT 83H,ALMOV AL,50HOUT 80H,ALMOV AL,
8、12HOUT 80H,AL1. 8253的端口地址为:80H,81H,82H,83H。000111113. 8253的方式控制字为:4. 初始化程序段:10方式4软件触发选通321OUTGATE=1CLKWRCW=18LSB=30FFFEFD321OUTGATE=1CLKWRCW=18LSB=301FF2LSB=2* 写入控制字OUT=1;* 写入常数立刻对CLK计数;* 计数到0,OUT=0;* 一个CLK周期后,OUT=1,计数器停顿计数。* 计数器只计数一遍;* OUT是N+1个CLK后变低;* 计数过程中,GATE=0, 计数暂停;* 假设在计数过程中,改动计数值,那么按新的计数值重新
9、开场计数。11方式5硬件触发选通321OUTGATECLKWRCW=1ALSB=30FF3321OUTGATECLKWRCW=1ALSB=30FF32* 写入控制字OUT=1;* 写入常数后,由GATE的上升沿启动计数;* 计数到0,OUT=0;* 一个CLK周期后,OUT=1,计数器停顿计数。* 计数器只计数一次;* OUT是N+1个CLK后变低;* 在 计数过程中出现的GATE脉冲, 将使 计数器重新开场计数,对输出形状没有影响;* 假设在计数过程中改动计数值,只需没有GATE信号触发,不影响计数过程。有新的GATE信号触发那么按新的计数值开场计数。12六. 8253-PIT任务方式小结1
10、. 输出端OUT的初始形状 只需方式0是在写入控制字后输出为低,其它均为高;2. 计数值的设置 任一种方式,只需在写入计数值后才干开场计数,方式0、2、3、4在写入计数值后,计数自动开场,方式1、5需外部触发,才开场计数。13计数值N与输出波形的关系方式功能N与输出波形的关系0计完最后一个数中断 写入计数值N后,经过N+1 个CLK脉冲输出变高1硬件再触发单拍脉冲 单拍负脉冲的宽度为N个CLK脉冲2速率发生器 N个CLK脉冲,输出宽度为一个CLK周期的负脉冲3方波速率发生器写入N后,输出N /2 个CLK高电平,N /2 个CLK低电平(N为偶数) ; (N+1)/2 个 CLK 高电平, (
11、N-1)/2 个 CLK 低电平(N为奇数)4软件触发选通 写入N后,过N+1 个CLK,输出宽度为一个CLK的负脉冲5硬件触发选通 门控触发后过N+1 个CLK,输出宽度为一个CLK的负脉冲143. 门控信号的作用-GATE输入总是在CLK输入时钟的上升沿被采样。在方式0,2,3,4中,GATE输入是电平起作用。在方式1,2,3,5中 GATE输入是上升沿起作用的。GATE方式功 能低或变为低上升沿高0计完最后一个数中断禁止计数_允许计数1硬件再触发单拍脉冲-启动计数下一个 CLK 脉冲使输出变低-2速率发生器禁止计数立即使输出为高重新装入计数值启动计数允许计数3方波速率发生器禁止计数立即使
12、输出为高启动计数允许计数4软件触发选通禁止计数-允许计数5硬件触发选通-启动计数-15方式功能 改变计数值0计完最后一个数中断立即有效1硬件再触发单拍脉冲外部触发后有效2速率发生器计数到 1 后有效3方波速率发生器外部触发后有效计数到 0 后有效4软件触发选通立即有效5硬件触发选通外部触发后有效4. 在计数过程中改动计数值立刻有效是写入计数值后的下一个CLK脉冲后,新的计数值开场起作用。5.计数到0后计数器的形状计数器减到0后并不停顿,在方式0,1,4,5,计数器减到0后从FFFF/9999继续计数。方式2,3是延续计数,计数器自动装入计数值后,继续计数。 16七. 8253-PIT的编程82
13、53-PIT初始化编程的步骤:1.写入通道控制字,规定通道的任务方式;A1A0=112. 写入计数值由控制字的D7D6确定通道号。假设规定只写入低8位,那么写入的为计数值的低8位,高8位自动置0;假设规定只写入高8位,那么写入的为计数值的高8位,低8位自动置0;假设是16位计数值,那么分两次写入,先写入低8位,再写入高8位。17例1:某8253端口地址为F8HFBH,欲用通道0以方式1,按BCD计数,计数值为5080。1.确定通道控制字;2.计数值的低8位为80;3.计数值的高8位为50。00110011初始化程序为:MOV AL,33HOUT 0FBH,ALMOV AL,80HOUT 0F8
14、H,ALMOV AL,50HOUT 0F8H,AL在计数过程中,8253读计数器现行值的方法:将计数值存入内部锁存器MOV AL,03H ;计数器0的锁存命令OUT 0FBH,AL;写入控制存放器IN AL,0F8H ;读低8位MOV CL,AL ;存入CL中IN AL,0F8H ;读高8位MOV CH,AL ;存入CH中第二节 Intel8253-PIT的运用举例18A4A3A0A5M/IOA7A6A9A8G1G2BG2ACBAY4A2A1RDWRD7D0GATE0OUT0CLK0CLK1CLK2GATE1OUT1GATE2OUT2A1A0RDWRD7D0CS1MHz方波5V2KHz方波1m
15、s的负脉冲单脉冲8086CPU74LS例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=2
16、6。20;通道0初始化程序MOV DX,316HMOV AL, 00110111BOUT DX,ALMOV DX,310H MOV AL,00HOUT DX,ALMOV AL,05HOUT DX,AL;通道1初始化程序MOV DX,316HMOV AL, 01110011BOUT DX,ALMOV DX,312H MOV AL,00HOUT DX,ALMOV AL,10HOUT DX,AL;通道2初始化程序MOV DX,316HMOV AL, 10011011BOUT DX,ALMOV DX,314H MOV AL,26HOUT DX,AL21例3:8253控制LED。要求:LED点亮10秒,
17、熄灭10秒分析:分析: 8253的数据线与的数据线与CPU高高8位数据线位数据线D8D15相连,相连,8253的各端口的地址为的各端口的地址为81H、83H、85H、87H。OUT1输出占空比为输出占空比为1:1的方波,的方波, 8253端口端口1任务在方式任务在方式3。时钟频率为2MHz时,16位计数通道的最大定时时间为:0 .5s65536=32.768ms级连:通道0输出400Hz脉冲时常5000,通道1输出0.05Hz方波时常8000。D7-D0WR RD A1 A0 CSCLK0OUT0CLK1OUT1译码WRRDA2A1M/ IOA0-A7+5VD8-D15GATE0GATE12M
18、Hz22;通道0初始化程序MOV AL, 00110101BOUT 87,ALMOV AL,00HOUT 81,ALMOV AL,50HOUT 81,AL;通道1初始化程序MOV AL, 01110111BOUT 87,ALMOV AL,00HOUT 83,ALMOV AL,80HOUT 83,AL23例4:用8253设计一个自动计数系统计数500向CPU提出中断恳求。8253端口地址: F0H, F2H, F4H, F6H,8253任务方式:计数器1任务于方式0,按BCD计数,先读写低字节,后读写高字节。D7-D0OUT1 WR RD A1 A0 CSGATE1CLK1译码INTRWRRDA
19、2A1M/IOAB+5V+5V+5V24;通道1初始化程序MOV AL, 01110001BOUT 0F6H, ALMOV AL, 99HOUT 0F2H, ALMOV AL, 04HOUT 0F2H, AL;读通道1计数值程序MOV AL, 01000000BOUT 0F6H, ALIN AL, 0F2HMOV AH, ALIN AL, 0F2HXCHG AH, AL当前计数值的读取 1利用GATE控制信号,使计数器停顿计数。故干扰了计数过程,需求硬件电路配合。 2利用计数器锁存命令锁存现行计数值,就可从相应的计数器通道中读取计数值。25第三节 Intel8253-PIT在PC/XT机中的运用GATE0GATE1GATE2CLK0CLK1CLK2OUT2A1A0RDWRD7D0CSIRQ018.2HzT/C2 OUT896HzA1A0IORIOWT/C CSD7D0U21D QC QOUT1OUT05VU73D S QC CLRDRQ066.2878KHzPCLK2.38636MHzRESETDRVPB0DACK0BRD40H-43H方式3,n =0方式2,n =18方式3,n =133126 例例1: 将数据段中起始地址将数据段中起始地址 为为Souce的的100个字节个字节 的数据传送到附加段的数据传送到附加段 的的Dest指向的单元中。指向的单元中。 LEA SI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年员工工资保密协议模板
- 第四单元-两、三位数除以一位数(单元测试)-苏教版数学三年级上册(含解析)-
- 期末学业水平测试题(卷)-语文三年级上册(部编版)
- 2025年黑龙江建筑职业技术学院单招职业倾向性测试题库1套
- 2025年湖南省湘潭市单招职业倾向性测试题库参考答案
- 中学非球类运动教学设计
- 专题18 电功率-2025年中考《物理》一轮复习知识清单与解题方法
- 2025年度土地承包种植与农业科技成果转化合同
- 2025年度云计算服务器采购及运维服务合同
- 2025年度员工向公司借款合同争议处理规则合同
- (正式版)HG∕T 21633-2024 玻璃钢管和管件选用规定
- 张祖庆祖父的园子教学课件
- 人教版《道德与法治》二年级下册全册优秀课件
- 《现代汉语语法》PPT课件(完整版)
- 性病实验室检测与质量管理
- 高桩码头施工组织设计(福建)
- 这一封书信来得巧
- 监狱服装加工企业开展全面
- 标书密封条格式模版(共19页)
- 小学一年级硬笔书法入门(课堂PPT)
- ARM学习资料.Cortex-M3处理器体系结构
评论
0/150
提交评论