实验结果:
下载程序后,数码管前面三位显示的是计数器到的次数,后4位是表示当前的技术值,按下独立按键的S1,计数器会加1,并显示在数码管上,也可以输入一个固定的信号来测量。
知识要点及提问:
1. *pTIMER0_CONFIG = 0x001b; //配置成EXT_CLK模式,使能TMR0
脉冲宽度寄存器在这里不需要配置
2.*pTIMER0_PERIOD = num; 表示的最大计数值,它的范围是(1~0xffffffff)
3.计时器使能后,它将等待J43(TMR0)脚的第一个上升沿,该上升沿将迫使定时器计数寄存器被加载一个值(0xffffffff - *pTIMER0_PERIOD),随后每个上升沿都将使计数寄存器加1,达到0xfffffffe,产生中断,下一个上升沿重新加载初值(0xffffffff - *pTIMER0_PERIOD)。
4.从数码管上的显示可以计算出当前的脉冲数量,如果前三位是XXX,后5位是YYYYY,则脉冲数量:XXX * (*pTIMER0_PERIOD) +YYYYY.
5.学习者可以修改程序中的最大计数值看看效果。