51单片机c语言的中断程序的名字怎么写?是void Time1(void) interrupt 3 using 0吗?

定时器设置如下
TMOD = 0x10; //方式1
TH1 = (65536-19456)/256; //0.05ms
TL1 = (65536-19456)%256;
EA = 1;
ET1 = 1;
我在mian的上面写的中断void Time1(void) interrupt 3 using 0
为什么不会自动进入中断?
是写错哪里了?

定时器设置如下
TMOD = 0x10; //方式1
TH1 = (65536-19456)/256; //0.05ms
TL1 = (65536-19456)%256;
EA = 1;
ET1 = 1;
我在mian的上面写的中断void Time1(void) interrupt 3 using 0
为什么不会自动进入中断?
是写错哪里了?

呵呵呵,一个简单的问题啊,你定时器1配置好了,打开了T1中断 ET1 = 1,开启总中断EA = 1;
但是你还没有启动定时器TR1 = 1;就可以了,这么简单的问题!追问

现在我想知道void Time1(void) interrupt 3 using 0的意思。

是不是所有的中断读可以用?
上面有1啊3啊什么的是怎么定的?

追答

viud Time1 (void) interrupt 3

void (Timer1)这个可以随便定义
(void) 可以写成()没有内容也可以
interrupt 3 这个是必须的interrupt 3是中断号,不同的中断序号不一样,
using 0 是中断组,这个可以省略

// 一般都是这么定义的
void Time1(void) interrupt 3
//
void Timer1() interrupt 3

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-26
main()
不是mian()
3代表定时计数器1中断
TMOD = 0x10; //方式1

这个也不对吧,01才是方式1
第2个回答  2014-04-26
-_-||51跟52应该差不多,我学的是52你这是T1中断
相似回答