实验三 定时器中断实验
一、实验目的:
1. 学习使用PIC定时器模块和中断功能; 2. 学习对PIC18F452的编程;
二、实验原理:
TIMER2 模块工作原理:Timer2 模块定时器有以下特性: ? 8 位定时器(TMR2 寄存器) ? 8 位周期寄存器(PR2)
? 可读写(TMR2 和PR2 寄存器均可) ? 可软件编程的预分频器(1:1、1:4 和1:16) ? 可软件编程的后分频器(1:1 到1:16) ? TMR2 与PR2 匹配时中断
Timer2 模块利用8 位定时器(TMR2 寄存器)对单片机指令周期(16MHz,4us)从0开始进行计数,当计数值与预先存在PR2 寄存器中的数值相等时,TMR2 寄存器自动归0,同时产生一个中断。
若预分频器设为1:16,后分频器设为1:10,PR2设为199,则Timer2 模块的定时时间为 4/16×16×10×200= 8 ms
三、程序设计:
1.用Timer2控制LED点亮,点亮持续时间为8mS。将Timer2 模块设定为中断模式,每8mS 中断一次;
2.LED间隔48mS向左移7bit后再向右移7bit; 3.LED重复左、右移动(跑马灯);
四、实验步骤:
1.首先需要设置中断优先级位:RCONbits.IPEN=1;
2.Timer2设为高优先级,对应的中断向量地址地址为:0x08H IPR1bits.TMR2IP=1; 3.允许高优先级中断:INTCONbits. GIEH=1;
4.预分频器设为1:16,后分频器设为1:10,PR2设为199: OpenTimer2 (TIMER_INT_ON &T2_PS_1_16 &T2_POST_1_10) ; PR2=199;
五、调试:
1、选择设备
2、保存程序
3、建立工程并设置项目
4、加载源程序和链接文件
5、编译
6、用ICD2编程、调试
相关推荐: