atmeg168定时器中断

l369294289 2012-02-23 05:29:44

#include "iom168V.h"
#define CLI() asm("cli")
#define SEI() asm("sei")
#define BIT(X) (1<<(X))
#pragma interrupt_handler timer1_ovf_isr:14
void timer1_ovf_isr(void)
{
TCNT1H=0x85;
TCNT1L=0Xed;
~PORTB;
}
void main(void)
{

DDRB=0x40;
PORTB|=0X40;
CLI();
TCCR1B=0X04;//256分频
TCNT1H=0x85;
TCNT1L=0Xed;
//设置定时器初值
SEI();//开启总中断
TIMSK1=0x01;
while(1);

}

貌似进不了中断,为什么?还有#pragma interrupt_handler timer1_ovf_isr:14 中的timer1_ovf_isr可以自己任意写么?
...全文
74 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
chengshenshen 2012-02-24
  • 打赏
  • 举报
回复
楼主
~PORTB; 这一句是神马意思,可以改变PORTB端口的状态吗?
PORTB = ~PORTB; 是这样吧

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧