帮忙看看AVR单片机ATmega128定时器中断程序 30

每秒PA.0口的led亮灭转换一次,用定时器T1作时钟,protues仿真就是通不过,请高手帮看看。#include<iom128v.h>#defineucharunsi... 每秒PA.0口的led亮灭转换一次,用定时器T1作时钟,protues仿真就是通不过,请高手帮看看。
#include<iom128v.h>
#define uchar unsigned char
#define uint unsigned int
#pragma interrupt_handler timer1:15
uchar t=0;
void timer1()
{
TCNT1H=(65536-50000)/256;
TCNT1L=(65536-50000)%256;
t++;
if(t==20)
{
t=0;
PORTA=~PORTA;
PORTA|=0xfe;
}
}
void IO_init()
{
DDRA=0xff;
PORTA=0xff;
}
void T1_init()
{
TCNT1H=(65536-50000)/256;//50ms溢出中断
TCNT1L=(65536-50000)%256;
TCCR1B=0x02;//8分频,8MHz晶振,1us
TIMSK=0x04;
SREG=0x80;
}
main()
{
IO_init();
T1_init();
while(1)
{
;
}
}
展开
 我来答
yyze629
2011-04-28 · TA获得超过182个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:138万
展开全部
首先:楼主干嘛要用protues仿真呢ICCAVR的AVR STUDIO就可以仿真的啊,好像很少有用protues仿真AVR的,一般是AVR STUDIO的;其次:楼主还没有区分开51系列单片机和AVR的区别,个人认为是定时方面出了问题(没细看),楼主还是仔细检查下,再下载到开发板看看效果吧
追问
请问您如何知道我没有区分开51系列和AVR的区别?当然是定时方面出了问题,我就是调定时器T1才写这个程序的,我已经参考各种程序,检查N遍了,能检查出来就不会到这里提问了~~~就4个寄存器的控制,麻烦您看一下问题出在哪。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式