定时器设置如下
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
为什么不会自动进入中断?
是写错哪里了?
51单片机c语言的中断程序的名字怎么写?是void Time1(void) interrupt 3 using 0吗?
答案:3 悬赏:0
解决时间 2021-02-16 18:27
- 提问者网友:低唤何为爱
- 2021-02-15 20:43
最佳答案
- 二级知识专家网友:温柔刺客
- 2021-02-15 21:41
定时器设置如下
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;就可以了,这么简单的问题!
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;就可以了,这么简单的问题!
全部回答
- 1楼网友:茫然不知崩溃
- 2021-02-15 22:41
简单的说就是 volatile
告诉 编译器 不要对 该unsigned char data *rcv 变量进行优化,也就是让编译器不把该rcv变量不存入寄存器(寄存器,这东东您应该懂吧!),无论如何都不加载rcv到任何寄存器,即便是使用时也是直接从内存地址读取,不用寄存器做缓(冲)存(储)
- 2楼网友:没感情的陌生人
- 2021-02-15 22:24
main()
不是mian()
3代表定时计数器1中断
TMOD = 0x10; //方式1
这个也不对吧,01才是方式1
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯