版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八章 可编程定时/计数器8253及其应用,第一节 Intel8253-PIT的工作原理,一. 8253的功能,计算机系统中,实现定时或延时有三种方法:软件定时、不可编程的硬件定时、可编程的硬件定时器。8253为可编程的硬件定时/计数器。,1. 主要功能 * 具有3个独立的16位计数器通道; * 每个计数器均可按二进制或二十进制计数; * 每个计数器的计数速率高达2MHz; * 每个通道有6种工作方式,可由程序设置和改变;* 所有的输入输出都与TTL兼容。,1,二. 8253的内部结构,*三个计数器(减法器) 3个独立的16位减法器,可作定时/计数器使用; 计数器按二/BCD方式减法计数,从预
2、常减到零时,OUT端输出一信号。,*数据总线缓冲器(传送信息) 写控制字, 写时常, 读计数值,*读写逻辑,*控制字寄存器(存放控制字),2,三.8253 的引线,* 数据线(D7D0) * 地址线:选择内部寄 存器; * 控制线:完成片选和 读写操作。,CLK:输入脉冲线; GATE:门控信号输入线; GATE=0 禁止计数, GATE=1 允许工作; OUT:输出引脚; 当计数到“0”时,OUT 端输出一信号。,3,8253输入信号组合的功能表,4,四. 8253-PIT的控制字,0=二进制 1=BCD,在8253的初始化编程中,由CPU向8253的控制字寄存器写入一个控制字来规定8253
3、的工作方式。,5,五. 8253-PIT的工作方式,* CW写入,OUT=0; * 写入时常,通道开始计数; * 计数到零,OUT=1;,* 计数器只计数一遍; * OUT是N+1个CLK后变高; * 计数过程中,GATE=0, 计数暂停; * 计数过程中可改变计数值; * 8253无中断控制,可用OUT信号作为中断请求。,1. 方式0,6,方式1(可编程单稳),* 写入控制字OUT=1,写入常数不计数; * GATE启动计数,OUT=0; * 计数到,OUT=1。,*单拍脉冲宽度为N; *由GATE重新启动; *计数中,可重新启动; *计数中,可改变计数值,再次启动有效。,7,方式2(速率发
4、生器),* 写入控制字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
5、,以后,每个CLK使计数值减2,计到0时,OUT改变状态。,*GATE信号控制计数过程; *计数过程中写入新的计数值将在半周期结束时装入计数器。,9,例:要求计数器0工作于方式3,输出方波的频率为2KHz,计数脉冲的频率为2.5MHz,采用BCD计数,试写出初始化程序段。,2. 常数计算:TC = 2.5MHz/2KHz=1250,MOV AL,37H OUT 83H,AL MOV AL,50H OUT 80H,AL MOV AL,12H OUT 80H,AL,1. 8253的端口地址为:80H,81H,82H,83H。,4. 初始化程序段:,10,方式4(软件触发选通),* 写入控制字OUT
6、=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脉冲, 将使 计数器重新开始计数,对输
7、出状态没有影响; * 若在计数过程中改变计数值,只要没有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输
8、入是上升沿起作用的。,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
9、位自动置0; 若是16位计数值,则分两次写入,先写入低8位,再写入高8位。,17,例1:某8253端口地址为F8HFBH,欲用通道0以方式1,按BCD计数,计数值为5080。,1.确定通道控制字; 2.计数值的低8位为80; 3.计数值的高8位为50。,初始化程序为: MOV AL,33H OUT 0FBH,AL MOV AL,80H OUT 0F8H,AL MOV AL,50H OUT 0F8H,AL,在计数过程中,8253读计数器现行值的方法:(将计数值存入内部锁存器),MOV AL,03H ;计数器0的锁存命令 OUT 0FBH,AL;写入控制寄存器 IN AL,0F8H ;读低8位 M
10、OV CL,AL ;存入CL中 IN AL,0F8H ;读高8位 MOV CH,AL ;存入CH中,第二节 Intel8253-PIT的应用举例,18,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
11、/0.001ms=1000; 通道2工作于方式5,由控制端GATE2的正跳变触发,可连续触发,时间常数N2=26。,20,;通道0初始化程序 MOV DX,316H MOV AL, 00110111B OUT DX,AL MOV DX,310H MOV AL,00H OUT DX,AL MOV AL,05H OUT DX,AL,;通道1初始化程序 MOV DX,316H MOV AL, 01110011B OUT DX,AL MOV DX,312H MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL,;通道2初始化程序 MOV DX,316H MOV AL, 1
12、0011011B OUT DX,AL MOV DX,314H MOV AL,26H OUT DX,AL,21,例3:8253控制LED。要求:LED点亮10秒,熄灭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)。,22,;通道0初始化程序 MOV AL, 001101
13、01B OUT 87,AL MOV AL,00H OUT 81,AL MOV AL,50H OUT 81,AL,;通道1初始化程序 MOV AL, 01110111B OUT 87,AL MOV AL,00H OUT 83,AL MOV AL,80H OUT 83,AL,23,例4:用8253设计一个自动计数系统(计数500向CPU提出中断申请)。,8253端口地址: F0H, F2H, F4H, F6H,,8253工作方式:计数器1工作于方式0,按BCD计数,先读写低字节,后读写高字节。,24,;通道1初始化程序 MOV AL, 01110001B OUT 0F6H, AL MOV AL,
14、99H OUT 0F2H, AL MOV AL, 04H OUT 0F2H, AL,;读通道1计数值程序 MOV AL, 01000000B OUT 0F6H, AL IN AL, 0F2H MOV AH, AL IN AL, 0F2H XCHG AH, AL,当前计数值的读取 (1)利用GATE控制信号,使计数器停止计数。故干扰了计数过程,需要硬件电路配合。 (2)利用计数器锁存命令锁存现行计数值,就可从相应的计数器通道中读取计数值。,25,第三节 Intel8253-PIT在PC/XT机中的应用,40H-43H,方式3,n =0,方式2,n =18,方式3,n =1331,26,例1: 将
15、数据段中起始地址 为Souce的100个字节 的数据传送到附加段 的Dest指向的单元中。 LEA SI,Souce LEA DI,Dest MOV CX,100 CLD Again: MOVSW DEC CX JNZ Again HLT,27,复习思考题(2)主片8259A初始化编程(端口地址FFC8H,FFC9H) MOV AL,19H ;ICW1,级联,电平触发 MOV DX,0FFC8H; OUT DX, AL MOV AL,30H ;ICW2,确定中断类型号 MOV DX,0FFC9H; OUT DX, AL MOV AL,44H ;ICW3,IR2,IR6端接从INT端 OUT DX, AL MOV AL,01H ; ICW4,普通嵌套,非缓冲方式 OUT DX, AL MOV AL,0D5H ;OCW1,允许IR2,IR3,IR6中断 OUT DX, AL ; MOV AL,20H ; OCW2,普通EOI结束方式 MOV DX,0FFCAH; OUT DX, AL,28,(2)从片1的8259A初始化编程(端口地址FFCAH,FFCBH) MOV AL,19H ;ICW1,级联, 电平触发 M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 爪形三角形研究+课件-2026届高三数学二轮复习
- 2026五年级数学下册 折线统计图能力测评
- 英语语法学习要点与考试及答案
- 机械编程类考试题及答案
- 运营管理案试题及答案
- 产业园企业服务全流程制度
- 驾校教练员考核奖惩制度
- 景区绿化人员奖惩制度
- 铁路护路考核奖惩制度
- 员工劳动纪律奖惩制度
- 【2026年中考复习】全国中考物理真卷综合能力题100道(上)
- 2026年雨季安全驾驶试题及答案
- 纳税人员财会制度
- 2026年西安科技大学辅导员招聘(15人)考试参考试题及答案解析
- 【新教材】人美版(2024)小学三年级劳动下册项目一+任务一+衣服脏了我会洗(教学课件)
- 低压电工特种作业全套教学课件
- 中央空调系统维保服务报价清单
- Inventor教案打印完整版
- 辉南县巡游出租汽车驾驶员从业资格考试区域科目考试题库
- 基于单片机的室内灯光智能控制系统的设计
- TRIZ矛盾矩阵新版48个参数课件
评论
0/150
提交评论