txshcumt 发表于 2005-6-14 00:07:09

程序请教

我刚开始接触ATmega16L,现在在做毕业设计,有几段程序看不懂,请大家指导。

1.芯片使用内部的频率时,默认是8M么?还是1M,怎么设置。

2.TIMSK=(1<<TOIE1)是设置定时器1中断使能,ADCSRA|=(1<<ADSC)是开始A/D转换,这两句话写法不同,但是功能都是将等号前面寄存器里的位置1,是么?为什么?

3 WDTCR=(1<<WDCE)|(1<<WDE)|(1<<WDP2)|(1<<WDP0);//看门狗开始。这句话里WDCE是不是写错了?

4.大家看看这个延时对么?

/*定时器0中断*/

#pragma interrupt_handler timer0_relay:iv_TIMER0_OVF

void timer0_relay(void)

{

TCCR0=0X00;

TIMSK=(1<<TOIE0);//定时器中断使能

TCNT0=0X9B;//定时器1初值8M时分频1/8=1MS

}

ctpsjf1101 发表于 2005-6-14 10:39:44

这段程序应该有点问题,

你设TCCR0=0X00;

实际上就是把T0停止了,那么又何来CK/8

你如果需要CK/8,则TCCR0=0X02;
页: [1]
查看完整版本: 程序请教