
(10) 第10章 单片机片内外设模块(PIT).ppt
38页College of Communication Engineering, Jilin University,第10章 单片机片内外设模块,2,College of Communication Engineering, Jilin University,本章提要,10.1 并行I/O10.2 异步串行通信SCI10.3 同步串行通信SPI10.4 ATD转换模块10.5 周期中断定时器PIT10.6 时钟产生器模块,3,College of Communication Engineering, Jilin University,本章提要,10.1 并行I/O10.2 异步串行通信SCI10.3 同步串行通信SPI10.4 ATD转换模块10.5 周期中断定时器PIT10.6 时钟产生器模块,4,College of Communication Engineering, Jilin University,10.5 周期中断定时器PIT,10.5.1 定时器简介10.5.2 周期中断定时器简介(PIT)10.5.3 周期中断定时器寄存器10.5.4 PIT模块编程范例10.5.5 PIT模块应用实例,5,College of Communication Engineering, Jilin University,10.5 周期中断定时器PIT,10.5.1 定时器简介10.5.2 周期中断定时器简介(PIT)10.5.3 周期中断定时器寄存器10.5.4 PIT模块编程范例10.5.5 PIT模块应用实例,6,College of Communication Engineering, Jilin University,10.5.1 定时器简介,原理:实际上是计数器,通过累计已知时间间隔的个数来计算 时间。
被累计的时间间隔若是系统时钟,计数器就变成 定时器 作用:时间延迟的产生和测量外部信号周期和脉冲宽度的测量事件计数器事件发生时间比较器波形发生器周期性的中断产生同配置7,College of Communication Engineering, Jilin University,10.5.1 定时器简介,实现方法:1、 程序设计软件定时器void delay(void){ unsigned int i,j; for(i=0;i<10;i++) for(j=0;j<10000;) j++;},8,College of Communication Engineering, Jilin University,实现方法(续1)2、 微处理器内置定时器(硬件定时器)如:MC9S12XS内置RTI ( Real Time Interrupt)ECT – enhanced capture timerOC – Output comparerPWM – Pulse width modulation Period and pulse width measurement四个24位PIT定时器,10.5.1 定时器简介,9,College of Communication Engineering, Jilin University,实现方法(续2):3、外围扩展定时器 - 8253,内部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同。
每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL10.5.1 定时器简介,10,College of Communication Engineering, Jilin University,实现方法(续3):3、外围扩展定时器 - DS12887,时钟芯片所需的晶振和外部锂电池相关电路集于芯片内部,可广泛用于各种需要较高精度的实时时钟场合中其主要功能如下:(1)内含一个锂电池,断电情况运行十年以上不丢失数据2)计秒、分、时、天、星期、日、月、年,有闰年补偿功能(3)二进制数码或BCD码表示时间、日历和定闹4)12小时或24小时制,12小时时钟模式带有PWM和AM指导,有夏令时功能5)MOTOROLA5和INATAEL总线时序选择6)有128个RAM单元与软件音响器,其中14个作为字节时钟和控制寄存器,114字节为通用RAM,所有ARAM单元 数据都具有掉电保护功能。
7)可编程方波信号输出8)中断信号输出(IRQ)可以产生500ms/次到每122μs/次的中断,10.5.1 定时器简介,11,College of Communication Engineering, Jilin University,主要性能参数:位数 加1或是减1时钟重装载,10.5.1 定时器简介,12,College of Communication Engineering, Jilin University,10.5 周期中断定时器PIT,10.5.1 定时器简介10.5.2 周期中断定时器简介(PIT)10.5.3 周期中断定时器寄存器10.5.4 PIT模块编程范例10.5.5 PIT模块应用实例,13,College of Communication Engineering, Jilin University,基本功能 4路24位定时器,每路可以分别:打开或关闭1~2^24个总线周期定时产生中断信号,定时周期=,10.5.2 周期中断定时器简介,14,College of Communication Engineering, Jilin University,设置方法 1、使能某一定时器,需要写通道使能寄存器和PIT控制寄存器来使能PIT模块 2、4个16位定时器,共享2个8位微计数器,通过写PIT复用寄存器配置 3、某一路定时器使能时,16位和8位计数器对应的加载寄存器的值自动加载 4、按照MCU内部总线时钟,24计数器减1,直至为0时,自动重加载 5、同时置超时标志,若对应的定时中断被使能,则产生定时中断,10.5.2 周期中断定时器简介,15,College of Communication Engineering, Jilin University,10.5 周期中断定时器PIT,10.5.1 定时器简介10.5.2 周期中断定时器简介(PIT)10.5.3 周期中断定时器寄存器10.5.4 PIT模块编程范例10.5.5 PIT模块应用实例,16,College of Communication Engineering, Jilin University,10.5.3 周期中断定时器寄存器,一、PIT控制寄存器 PITCFLMT($0340),PITE:PIT模块使能位0 禁止PIT1 使能PIT,PITSWAIT:等待模式PIT停止控制位0 在等待模式下PIT正常运行1 在等待模式下PIT停止工作,PITFRZ:冻结模式PIT计数器冻结控制位0 在冻结模式下PIT正常运行1 在冻结模式下PIT计数器停止运行,PFLMT[1..0]: 微计数器1和0的强制加载位1 相应的8位微计数器的加载寄存器中的值被加载到8位微计数器中0 强制加载无效,17,College of Communication Engineering, Jilin University,10.5.3 周期中断定时器寄存器,二、 PIT强制加载寄存器 PITFLT($0341),PFLT[3..0]:6位1计数器3~0的强制加载位1 相应的16位计数器的加载寄存器中的值被加载到16位计数器中0 强制加载无效,,18,College of Communication Engineering, Jilin University,10.5.3 周期中断定时器寄存器,三、 PIT通道使能寄存器 PITCE($0342),PCE[3..0]:定时器通道3~0PIT使能控制位。
1 通道使能 0 通道禁止,,19,College of Communication Engineering, Jilin University,10.5.3 周期中断定时器寄存器,四、PIT复用寄存器 PITMUX($0343),PMUX[3..0]:PTI定时器通道3~0的复用位 0 相应16位定时器使用微计数器0 1 相应16位定时器使用微计数器1,,20,College of Communication Engineering, Jilin University,10.5.3 周期中断定时器寄存器,五、 PIT中断使能寄存器 PITINTE($0344),PINTE[3..0]:PIT定时器通道3~0的定时中断使能位 0 PIT相应通道定时中断禁止 1 PIT相应通道定时中断使能,,21,College of Communication Engineering, Jilin University,10.5.3 周期中断定时器寄存器,六、 PIT超时标志寄存器PITTF($0345),PTF[3..0]:PIT定时器通道3~0的超时标志位 0 PIT相应通道没有发生超时中断 1 PIT相应通道发生了超时中断向该标志位写1,可以清零该标志位;写0,则无效。
22,College of Communication Engineering, Jilin University,10.5.3 周期中断定时器寄存器,七、 PIT微计数器加载寄存器 PITMTLD0($0346) 与PITMTLD1($0347 ),PMLD[7..0]: 标志位23,College of Communication Engineering, Jilin University,10.5.3 周期中断定时器寄存器,八、 PIT定时器16位计数器加载寄存器 PITLD[0..3],24,College of Communication Engineering, Jilin University,10.5.3 周期中断定时器寄存器,九、 PIT16位计数器寄存器 PITCNT[0..3],25,College of Communication Engineering, Jilin University,10.5 周期中断定时器PIT,10.5.1 定时器简介10.5.2 周期中断定时器简介(PIT)10.5.3 周期中断定时器寄存器10.5.4 PIT模块编程范例10.5.5 PIT模块应用实例,26,College of Communication Engineering, Jilin University,10.5.4 PIT模块编程范例,初始化模块void initIOBoutput(void)//IO口初始化,B口为输出{ DDRB=0XFF; PORTB=0XFF;}void initPIT(void) //定时中断初始化函数 50ms { PITCFLMT_PITE=0; //关闭PIT模块 PITCE_PCE0=1; //定时器通道0使能 PITMUX_PMUX0=0; //定时器通道0使用微计数器0 PITMTLD0=200-1; //8位定时器初值设定。
在40MHzBusClock下为5us. PITLD0=PITTIME-1; //16位定时器初值设定PITTIME*0.005ms PITINTE_PINTE0=1;//定时器中断通道0中断使能 PITCFLMT_PITE=1; //定时器通道0使能,。
