《周期中断定时器PIT.ppt》由会员分享,可在线阅读,更多相关《周期中断定时器PIT.ppt(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、周期中断定时器PIT Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望定时器简介定时器简介为什么使用定时器为什么使用定时器 u 时间延迟的产生和测量 u 外部信号周期和脉冲宽度的测量 u 事件计数器u 事件发生时间比较器u 波形发生器u 周期性的中断产生 定时器实际上是计数器,它通过累计已知时间间隔的个数来计算时间。被累计的时间间隔若是系统时钟,计数器就变成了定时器。定时器简介定时器简介怎样获得定时器怎样获得定时器 u 程序设计软件定时器void delay(voi
2、d)unsigned int i,j;for(i=0;i10;i+)for(j=0;j10000;)j+;u 微处理器常常内置定时器(硬件定时器)MCS51单片机内有二个单片机内有二个16位定时器、计数器位定时器、计数器MC9S12XS内置内置 RTI(Real Time Interrupt)ECT enhanced capture timer OC Output comparer PWM Pulse width modulationPeriod and pulse width measurement 四个四个24位位PIT定时器定时器定时器简介定时器简介怎样获得定时器怎样获得定时器 u 外围
3、扩展定时器 8253内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。定时器简介定时器简介怎样获得定时器怎样获得定时器 u 外围扩展定时器 DS12887把时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部,可广泛用于各种需要较高精度的实时时钟场合中。其主要功能如下:
4、(1)内含一个锂电池,断电情况运行十年以上不丢失数据。(2)计秒、分、时、天、星期、日、月、年,并有闰年补偿功能。(3)二进制数码或BCD码表示时间、日历和定闹。(4)12小时或24小时制,12小时时钟模式带有PWM和AM指导,有夏令时功能。(5)MOTOROLA5和INATAEL总线时序选择。(6)有128个RAM单元与软件音响器,其中14个作为字节时钟和控制寄存器,114字节为通用RAM,所有ARAM单元数据都具有掉电保护功能。(7)可编程方波信号输出。(8)中断信号输出(IRQ)可以产生500ms一次到每122s一次的中断定时器简介定时器简介定时器的主要性能参数定时器的主要性能参数 u
5、位数 u 加1或是减1u 时钟u 重装载周期中断定时器简介(周期中断定时器简介(PITPIT)4路路24位定时器,位定时器,每路可以分别每路可以分别u 打开或关闭打开或关闭u 1224个总线个总线 周期定时周期定时u产生中断信号产生中断信号周期中断定时器寄存器周期中断定时器寄存器1、PIT控制寄存器及强制载入微定时器寄存器控制寄存器及强制载入微定时器寄存器 PITCFLMTPITE:PIT模块使能位模块使能位0 禁止禁止PIT 1 使能使能PITPITSWAIT:等待模式等待模式PIT停止控制位停止控制位 0 在等待模式下在等待模式下PIT正常运行正常运行 1 在等待模式下在等待模式下PIT时
6、钟产生器停止时钟产生器停止 PITFRZ:冻结模式冻结模式PIT计数器冻结控制位计数器冻结控制位 0 在冻结模式下在冻结模式下PIT正常运行正常运行 1 在冻结模式下在冻结模式下PIT计数器失去作用计数器失去作用PFLMT1.0:PIT强制载入微定时器模数值控制位强制载入微定时器模数值控制位1 相应的相应的8位微定时器模数值被载入位微定时器模数值被载入8位微定时器递减计数器中位微定时器递减计数器中0 强制载入无效强制载入无效地址:地址:$0340$0340周期中断定时器寄存器周期中断定时器寄存器2、PIT强制载入定时器寄存器强制载入定时器寄存器 PITFLTPFLT3.0:PIT强制载入定时器
7、模数值控制位强制载入定时器模数值控制位1 相应的相应的16位定时器模数值被载入位定时器模数值被载入16位定时器递减计数器中位定时器递减计数器中0 强制载入无效强制载入无效3、PIT通道使能寄存器通道使能寄存器 PITCEPCE3.0:PIT使能控制位。该寄存器使能使能控制位。该寄存器使能PIT四个通道,如果四个通道,如果PCE写写0,PIT通道将被禁止,通道将被禁止,PITTF中相应的标志位也将被清除;如果中相应的标志位也将被清除;如果PCE写写1,PIT通道使能,通道使能,16位定时器计数器被载入起始值并开始计数。位定时器计数器被载入起始值并开始计数。1 通道使能通道使能 0 通道禁止通道禁
8、止地址:地址:$0341$0341地址:地址:$0342$0342周期中断定时器寄存器周期中断定时器寄存器4、PIT定时器复合寄存器定时器复合寄存器 PITMUXPMUX3.0:PTI定时器复合寄存器控制位。该寄存器控制定时器复合寄存器控制位。该寄存器控制16位定时器与位定时器与8位微定时器时基位微定时器时基0或者时基或者时基1连接复合。连接复合。0 相应相应16位定时器与微时基位定时器与微时基0连接连接 1 相应相应16位定时器与微时基位定时器与微时基1连接连接5、PIT中断使能寄存器中断使能寄存器 PITINTE PINTE3.0:PIT定时器溢出中断使能控制位。定时器溢出中断使能控制位。
9、0 PIT相应通道溢出中断禁止相应通道溢出中断禁止 1 PIT相应通道溢出中断使能相应通道溢出中断使能周期中断定时器寄存器周期中断定时器寄存器6、PIT溢出标志寄存器溢出标志寄存器PITTF PIF3.0:PIT通道溢出标志位。当通道溢出标志位。当16位定时器计数器和相复合的位定时器计数器和相复合的8位微定时器计数器递减到位微定时器计数器递减到0后,后,相应位的标志位被置位。写相应位的标志位被置位。写1后清除标志位,写后清除标志位,写0无效。无效。0 PIT相应通道没有发生溢出中断相应通道没有发生溢出中断 1 PIT相应通道发生了溢出中断相应通道发生了溢出中断7、PIT微定时器装载寄存器微定时
10、器装载寄存器 PITMTLD0/PITMTLD1周期中断定时器寄存器周期中断定时器寄存器8、PIT定时器装载寄存器定时器装载寄存器 PITLD0/PITLD1/PITLD2/PITLD3PLD15.0:同上原理。周期中断定时器寄存器周期中断定时器寄存器9、PIT通道计数器通道计数器 PITCNT0.4PCNT15.0:该寄存器存放16位递减计数器值。PITPIT模块编程范例模块编程范例void initIOBoutput(void)/IO口初始化,B口为输出 DDRB=0XFF;PORTB=0XFF;void initPIT(void)/定时中断初始化函数 50MS定时中断设置 PITCFLM
11、T_PITE=0;/定时中断通道0关 PIT使能端 PITCE_PCE0=1;/定时器通道0使能 PITMTLD0=240-1;/8位定时器初值设定。240分频,在24MHzBusClock下,为0.1MHz即10us.PITLD0=PITTIME-1;/16位定时器初值设定。PITTIME*0.01MS PITINTE_PINTE0=1;/定时器中断通道0中断使能 PITCFLMT_PITE=1;/定时器通道0使能 初始化模块PITPIT模块编程范例模块编程范例中断服务子程序void interrupt 66 PIT0(void)vTmpPIT+;if(vTmpPIT=10)PORTB=PORTB;/输出取反 vTmpPIT=0;PITTF_PTF0=1;/清中断标志位void main(void)pllclk();initIOBoutput();initPIT();EnableInterrupts;for(;)/*wait forever*/主程序
限制150内