资源描述:
《第8章微机原理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章定时/计数器82538.1定时基本概念8.2可编程计数器/定时器82538.2.1外部特性与内部编程结构8.2.28253控制字格式8.2.38253的工作模式8.38253应用举例8.3.1计数器/定时器8253的初始化8.3.2时钟程序本章小结本章习题学习目的通过对本章的学习,您应该能够达到下列要求:了解定时基本概念熟悉可编程计数器/定时器8253的外部特性熟悉可编程计数器/定时器8253工作模式熟悉可编程计数器/定时器8253初始化重点8253的外部特性8253工作模式8253初始化8.1定时基本概念一.定时与计数二.微机中的定时方法软件定时——延迟子程序硬
2、件定时——用计数器/定时器82538.1:定时基本概念例8.1:软件定时的例子:编写一个软件定时程序,要求定时20ms.假设:8086的时钟=8MHz,一个时钟周期T=1/8MHz=0.125us延时20ms,执行PUSHF,POPF指令:需要循环次数:N=20000/[(12+14+17)*0.125]=37209参考程序:MOVCX,37209PUSHF;时钟数:14TPOPF;时钟数:12TLOOP;时钟数:17/5T8.1:软件定时的例子误差修正:(15+12+19)*0.125=5.75ms写成子程序:DELAY:PUSHCXMOVCX,37209L:PUSH
3、FPOPFLOOPLPOPCXRETPUSHCX;15TPOPCX;12TRET;时钟数:19T8.1:软件定时的例子主要程序片段LP:CALLDELAYMOVDL,30HMOVAH,02H;DOS调用,显示一个字符INT21HINCDLLOOPLPMOVAH,4CHINT21HDELAYPROCNEAR;软件延时子程序PUSHAXMOVCX,0FFFFHL:PUSHFPOPFLOOPLDO:POPAXRETDELAYENDP8.1:软件定时的例子8.2可编程计数器/定时器8253/8254PIT(ProgrammableIntervalTimer)8253:最高计数
4、速率:2.6Mhz8254:最高计数速率:8.0Mhz8253与8254引脚相同,用法相同8.2:可编程计数器/定时器82538.2.18253外部特性与内部编程结构计数器/定时器8253特点三个独立16位计数器6种工作方式二进制计数与BCD码计数单一5V供电最高计数速率2.6Mhz(8253),8Mhz(8254)片内寻址A1A0=00、01、10、11对应:通道0、1、2和控制口地址一.外部特性1、8253、8254引脚8.2:8253外部特性与CPU相连的信号:数据线D7~D0,读RD,写WR,片选CS,地址线A0,A18253GATE0OUT0CLK05V808
5、8CPU1KHzD0~78253运行原理图译码地址M/IOCSWRRDA0A1A0A1WRRD8.2:8253外部特性1).数据总线缓冲器往计数器设置计数初值;从计数器读取计数值;往控制寄存器设置控制字。2).读/写逻辑电路A1A0:端口选择00:通道0(0号计数器)01:通道1(1号计数器)10:通道2(2号计数器)11:控制字寄存器8.2:8253外部特性3).控制命令寄存器(8位)4).定时器/计数器:三个16位独立通道:计数器0,计数器1,计数器2每个通道包含:计数初值寄存器(16位)减一寄存器(16位)当前计数初值锁存器(16位)8.2:8253外部特性二、编
6、程结构:1、8253定时器原理8086控制寄存器存放控制字计数初值寄存器存放计数初值或定时常数减一计数器输出锁存器8.2:8253编程结构读写控制地址控制片选控制控制寄存器三个独立通道脉冲输入门控信号输出2、8253编程结构8.2:8253编程结构提问:8253有几个定时通道?8253每个计数通道与外设接口有哪些信号线,每个信号的用途是什么?定时/计数器芯片Intel8253占用几个端口地址?各个端口分别对应什么?8.2:提问3.计数器/定时器的工作特点1)门脉冲控制时钟输入;2)用门脉冲来重新启动计数;3)用门脉冲停止计数;4)单一计数;5)循环计数.8.2:
7、工作特点4.计数初值计数初值n=时钟频率fc/输出频率fout=定时时间Tout/时钟脉冲周期Tc5.编程命令方式命令字对8253初始化方式命令字的格式8.2:8253编程命令8.2.28253控制字格式8.2:8253控制字格式SC1SC0RW1RW0M2M1M0BCD1--计数值为BCD码格式0--计数值为二进制格式M2M1M0模式选择000模式0001模式1/10模式2/11模式3100模式4101模式500----对计数器进行锁存01----只读/写低8位字节10----只读/写高8位字节11----先读/写低8位字节,再读/写高