cwh528 发表于 2006-5-13 14:40:27

mega16内部8m时钟,,用示波器测量输出为何最大只有125k? 我想用中断实现300K方波

mega16内部8m时钟,用定时器0的中断来实现输出300k的方波。

但是不知为什么,用示波器测量输出最大只有125k,即使是把tcnt0赋值为0xfe,并且定义分频系数为1也不行。

请教高手给指点下,谢谢啦!!!



#include <iom16v.h>

#include <macros.h>



#pragma interrupt_handler timer0_ovf_isr:10



void timer0_ovf_isr(void)

{

       TCNT0 = 0xfe;   //reload counter value



   PORTB ^= 0x02; //端口取反

}

void main(void)

{



CLI(); //disable all interrupts

DDRB= 0x02;//设置 PB1 为输出

TCCR0 = 0x00; //stop

TCNT0 = 0xfe; //set count



TCCR0 = 0x01; //start timer,分频系数为1



TIMSK = 0x01; //timer interrupt sources

SEI(); //re-enable interrupts



}





<font color=red>以下红色文字由坛主:armok 于:2006-05-13,18:53:05 加入。你的原标题:“求救!!!!!!!!!mega16定时问题” 不合符规定。请更改成能说明帖子大意的标题

本论坛规定:一定要起一个能说明帖子大意的标题。不允许“关于 AVR 的 ADC 使用!”这种笼统标题。作为标题,必须说明清楚:

①你是在请教问题,还是在介绍有关的知识?

②ADC的问题有许多,你是想说那方面的内容?

注意以上两点,标题应该改成如:“请教:ADC 可以不使用中断吗?”。

起一个能说明帖子大意的标题,除了减轻我们的帖子分类整理工作,还方便其它人阅读,节省大家的时间。

谢谢你的支持。

注:这次我们帮你修改了,下次请使用合格的标题。谢谢你的支持!

cwh528 发表于 2006-5-13 23:18:12



偶知道了,给阿莫添麻烦了。

只是俺的问题。。。。

johnnypang 发表于 2006-5-14 09:15:20

提高时钟看看
页: [1]
查看完整版本: mega16内部8m时钟,,用示波器测量输出为何最大只有125k? 我想用中断实现300K方波