版主
主题
回帖0
积分27576
阅读权限200
注册时间2008-11-19
最后登录1970-1-1
在线时间 小时
|
本帖最后由 benxiong22 于 2017-3-2 16:47 编辑
请问以下定时器代码,为什么就是不响应呢,屏幕无任何显示,是哪里没搞对?
另外,如果把 TCCR1B |= 0x01; 改成 TCCR1B |= 0x00; ,就会显示“main!”,那么设为0x01的时候飞到哪里去了呢?
void main()
{
OCR1A = 240; //约250us
TIMSK |=(1<<OCIE1A); //OCIE1A=1;
SREG = 0x80;
TCCR1A = 0x00;
TCCR1B = 0x08; //ctc模式
TCCR1B |= 0x01; //无分频
while(1)
{
LCD_write_char(0,0x01); //清屏
_delay_us(1);
LCD_write_string(0,0,"main!");
_delay_ms(2000);
};
}
ISR(TIMER1_COMPB_vect)
{
LCD_write_char(0,0x01); //清屏
_delay_us(1);
LCD_write_string(0,0,"timer_interruput!");
_delay_ms(2000);
}
|
|