学习使用定时器0,定时溢出产生中断,RD0高电平,相应的LED亮,
但此程序LED一直是灭的,是不是没进入中断呀,望好心人看下,谢谢!
#include <pic.h>
#include <pic1687x.h>
/*-------------------------------------------------------------------
函数名称: void timer0_init(void)
函数功能: 定时器初始化函数
参 数: 无
返 回 值: 无
--------------------------------------------------------------------*/
void timer_0(void)
{
T0CS=0; //选择内部时钟
T0SE=0; //LOW TO HIGH
PSA=0; //TIMER0 MODULE
PS2=1; //预分频为256
PS1=1;
PS0=1;
TMR0=0XD8; //
T0IE=1; //开启中断
T0IF=0; //清中断
}
/*-------------------------------------------------------------------
函数名称: void interrupt ISR(void)
函数功能: 中断程序
参 数: 无
返 回 值: 无
--------------------------------------------------------------------*/
void interrupt ISR(void)
{
if(T0IF)
{
TMR0=0XD8;
T0IF=0;
RD0=1;
}
}
/*-------------------------------------------------------------------
函数名称: void main(void)
函数功能: 主程序
参 数: 无
返 回 值: 无
--------------------------------------------------------------------*/
void main(void)
{
//初始化端口//
TRISD=0X00;//所有D0端口输出
PORTD=0x00;//所有D0端口输出低电平
timer_0();
while(1)
{
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
GIE=1; //打开全局中断
一周热门 更多>