




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、12-1 定时器/计数器的工作原理 定时控制在微机系统中极为重要 定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔 计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器第1页/共36页定时功能的实现方法 软件延时利用微处理器执行一个延时程序段实现 不可编程的硬件定时采用分频器、单稳电路或简易定时电路控制定时时间 可编程的硬件定时软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路第2页/共36页12-2 可编程定时器/计数器8253 12-2-1 8253的特点 3个独立的16位计数器
2、通道 每个计数器有6种工作方式 按二进制或十进制(BCD码)计数 每个计数器都可由程序设置6种工作方式 每个计数器计数速度可达2.6MHz 所有I/O都可与TTL兼容第3页/共36页8254是8253的改进型第4页/共36页12-2-2 8253内部结构和引脚功能 D7D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2第5页/共36页计数器结构示意图预置寄存器GATECLKOUT减1计数器输出锁存器计数初值存于计数初值存于预置寄存器预置寄存器;在计数过程中,在计数过程中
3、,减法计数器减法计数器的值不断递减,的值不断递减,而预置寄存器中的预置不变。而预置寄存器中的预置不变。输出锁存器输出锁存器用于写入锁存命令时,用于写入锁存命令时,锁定当前计数值锁定当前计数值第6页/共36页计数器的3个引脚 CLK时钟输入信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1 GATE门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型 OUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号第7页/共36页2. 与处理器接口 D0 D7数据线A0 A1地址线 RD*读信号WR*写信号 CS*片选信号CS* A1 A0
4、I/O地址读操作RD*写操作WR*0 0 00 0 10 1 00 1 140H41H42H43H读计数器0读计数器1读计数器2无操作写计数器0写计数器1写计数器2写控制字第8页/共36页12-2-3 8253的初始化1. 写控制字 8253在工作之前,必须对它进行编程,以确定每个计数器的工作方式和对计数器赋计数初值。CPU通过写控制字指令,将每个计数通道分别初始化,使之工作在某种工作方式之下。 对8253芯片的初始化编程包括写入控制字和写入计数值两方面,任一通道的控制字要从8253的控制口地址写入,控制哪个通道由控制字的D7D6位来决定。计数初始值经由各通道的端口地址写入,可以采用二进制或十
5、进制来计数。 第9页/共36页1 方式控制字格式计数器读写格式工作方式数制D7D6D5D4D3D2D1D000 计数器001 计数器110 计数器211 非法00 计数器锁存命令 01 只读写低字节10 只读写高字节11 先读写低字节 后读写高字节000 方式0001 方式1010 方式2011 方式3100 方式4101 方式50 二进制1 十进制控制字写入控制字I/O地址(A1A011)示例第10页/共36页2 写入计数值 选择二进制时 计数值范围:0000HFFFFH 0000H是最大值,代表65536 选择十进制(BCD码) 计数值范围:00009999 0000代表最大值10000计
6、数值写入计数器各自的I/O地址第11页/共36页【例12.1】 在某系统中8253的CLK0CLK2的时钟频率为2MHz,端口地址为200H203H。要求计数器0工作在方式0下,十进制计数,定时100s后产生中断请求;计数器1工作在方式3下,二进制计数,用于产生周期为10s的对称方波;计数器2工作在方式2下,二进制计数,每隔1ms产生一个负脉冲。 根据上述要求和已知条件,可知CLK的时钟周期为0.5s。则可计算出计数器0的初始值为100s/0.5s=200,计数器1的计数初始值为10s/0.5s=20,计数器2的计数初始值为1ms/0.5s=2000。第12页/共36页 初始化程序如下: MO
7、V DX,203H ;控制字地址送DX MOV AL,00110001B ;控制字内容送AL OUT DX,AL ;写控制字 MOV AX,0200H ;计数初始值送AX MOV DX,200H ;计数器0地址200H送DX OUT DX,AL ;写低8位 MOV AH,AL OUT DX,AL ;写高8位 MOV DX,203H ;控制字地址送DX MOV AL,01010110B ;控制字内容送AL OUT DX,AL ;写控制字 MOV DX,201H ;计数器1地址201H送DX MOV AL,20 ;计数初始值送AX 第13页/共36页 续: OUT DX,AL ;写低8位 MOV
8、DX,203H ;控制字地址送DX MOV AL,10110100B ;控制字内容送AL OUT DX,AL ;写控制字 MOV AX,2000 ;计数初始值送AX MOV DX,202H ;计数器2地址202H送DX OUT DX,AL ;写低8位 MOV AL,AH OUT DX,AL ;写高8位第14页/共36页若计数器2工作在十进制计数方式,则应把2000H送AX中。计数器2的初始化程序段可改为下列指令序列: MOV DX,203H MOV AL,10100101B OUT DX,AL MOV DX,202H MOV AL,20H OUT DX,AL第15页/共36页3 读取计数值 对
9、8位数据线,读取16位计数值需分两次 计数在不断进行,应该将当前计数值先行锁存,然后读取: 向控制字I/O地址:给8253写入锁存命令 从计数器I/O地址:读取锁存的计数值读取计数值,要注意读写格式和计数数制第16页/共36页12-2-4 8253的工作方式 8253有6种工作方式,由方式控制字确定 熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式 每种工作方式的过程类似: 设定工作方式 设定计数初值 硬件启动 计数初值进入减1计数器 每输入一个时钟计数器减1的计数过程 计数过程结束第17页/共36页方式0 计数结束中断GATEOUTCLK 031244方式0WR设定工作方式设定
10、计数初值计数值送入计数器计数过程计数结束第18页/共36页方式1 可编程单稳脉冲设定工作方式设定计数初值硬件启动计数值送入计数器计数过程计数结束GATEOUTCLK 031244方式1WR第19页/共36页方式2 频率发生器(分频器)03124GATEOUTCLK 4方式2031240312403124WR第20页/共36页方式3 方波发生器03124GATEOUTCLK 4方式3031240312403124WR第21页/共36页方式4 软件触发选通信号GATEOUTCLK031244方式42233310WR第22页/共36页方式5 硬件触发选通信号GATEOUTCLK031244方式522
11、333110WR第23页/共36页各种工作方式的输出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1讨论:计数开始的时刻第24页/共36页计数开始的时刻 需要注意: 处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低电平变高,再由高变低)才将预置寄存器的初值送到减1计数器。 从第二个CLK信号的下降沿,计数器才真正开始减1计数。第25页/共36页12-2-5 8253的应用 1. 8253的初始化 对8253的初始化也称为对8253的编程。完成初始化后8
12、253即开始自动按设置好的工作方式工作。初始化程序包括两部分,一是写各计数器的控制字,二是设置计数初始值。 第26页/共36页【例12.3】 假设8253的计数器0工作在方式5,按二进制计数,计数初始值为100;计数器1工作在方式1下,BCD码计数,计数初始值为4000;计数器2工作在方式2下,按二进制计数,计数初始值为600。8253占用的端口地址为200H到203H。 初始化程序如下: 第27页/共36页 MOV DX,203H ;控制寄存器地址送DX MOV AL,00011010B ;计数器0,写低字节,方式5,二进制计数 OUT DX,AL ;写控制字寄存器 MOV DX,200H
13、;计数器0的地址送DX MOV AL,100 ;计数初始值为100 OUT DX,AL ;写入计数初始值 MOV DX,203H ;控制寄存器地址送DX MOV AL,01100011B ;计数器1,写高字节,方式1,十进制计数 OUT DX,AL ;写控制字寄存器 MOV DX,201H ;计数器1的地址送DX 第28页/共36页 MOV AL,40H ;计数初始值为4000H,只写高8位即可 OUT DX,AL ;写入计数初始值 MOV DX,203H ;控制寄存器地址送DX MOV AL,10110100B ;计数器2,16位初始值,方式1,二进制计数 OUT DX,AL ;写控制字寄存
14、器 MOV DX,202H ;计数器2的地址送DX MOV AX,600 ;计数初始值为600 OUT DX,AL ;先写低8位 MOV AL,AH OUT DX,AL ;再写高8位第29页/共36页2 8253与系统的连接 IBM PC/XT机使用一片Intel8253作为定时/计数芯片。3个计数通道分别用于日时钟计时、DRAM刷新定时和控制扬声器发声。8253和系统的连接如下图所示。 第30页/共36页2 8253与系统的连接A0A1 A0 A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2D QCLK+5V接至DMA控制器接至扬声器驱动器P
15、B0PB1IRQ0DRQ0 8253+5V1.19318MHzDACK0 BRDIORIOWRDWRCST/CCS第31页/共36页3 8253应用实例 【例12.4】在8086系统中,8253的各端口地址为81H、83H、85H和87H。现提供时钟频率为2MHZ,要求用8253来控制个LED发光二极管的点亮和熄灭,点亮10秒钟后再让它熄灭10秒钟,并重复上述过程。 分析:因为计数频率为2MHZ,计数器的最大计数值为65536,所以最大的定时时间为0.5s6553632.768ms,达不到20秒的要求,因此需用两个计数器级联来解决问题。 将2MHZ的时钟信号直接加在CLK0输入端,并让计数器0工作在方式2,选择计数初始值为5000,则从OUT0端可得到频率为2MHZ/5000400HZ的脉冲,周期为0.25ms。再将该信号连到CLK1输入端,并使计数器1工作在方式3下,为了使OUT1输出周期为20秒(频率为1/200.05HZ)的方波,应取时间常数N1400HZ/0.058000。硬件连接图如下图所示。第32页/共36页定时中断第33页/共36页初始化程序如下: MOV AL,00110101B;计数器0控制字内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 理化检验考试题(附参考答案)
- 安全员(矿山)考试模拟题含答案
- 江苏省徐州市新沂市2024-2025学年七年级下学期期中地理试题(原卷版+解析版)
- 稀土金属冶炼的智能制造装备考核试卷
- 航班飞行途中舒适度提升考核试卷
- 搪瓷制品生产过程中的质量管理考核试卷
- 海水淡化处理中的海水铬浓度传感器考核试卷
- 生物基纤维在环境保护领域的应用考核试卷
- 知识产权投资与价值评估考核试卷
- 电子档案管理与发展考核试卷
- 车辆租赁合同(无中介-非租车公司)(标准版)
- 物业业主见面会方案
- 油气集输管线工程施工组织设计方案
- 劳动保障协理员试题
- 北京市初中学业水平考试体育与健康知识模拟练习题(含答案)
- 安徽中等专业学校毕业生登记表
- 管式加热炉烟气低温露点腐蚀
- 2023学生食堂管理制度
- 2023年和田地区体育教师招聘笔试题库及答案
- GB/T 7134-2008浇铸型工业有机玻璃板材
- GB/T 25150-2010工业设备化学清洗中奥氏体不锈钢钝化膜质量的测试方法蓝点法
评论
0/150
提交评论