我有一个微控制器培训套件,包括ATMEGA8535和8MHZ xtal。我想做一个简单的程序,每隔1秒关闭/开启一次。 但它不会工作,当我运行训练师时,延迟似乎是7秒。
这里是BASCOM AVR的程序。
$regfile = "8535def.dat"
$crystal = 8000000
Config Porta = Output
Config Timer1 = Timer , Prescale = 256
Enable Timer1
On Timer1 Isr_von_timer1
Enable Interrupts
Timer1 = 34285
Do
Loop
End
Isr_von_timer1:
Timer1 = 34285
Toggle Porta.0
Return
答案 0 :(得分:0)
我已经解决了这个问题:我忘了激活外部xtal:)。
答案 1 :(得分:0)
使用具有预标度= 256的8 MHz振荡器来打开输出一秒钟并使用toggle命令关闭一秒钟的timer1的正确值是31249(除数-1)