iar for 8051 这个中断写的有什么问题吗
时间:10-02
整理:3721RD
点击:
#include<ioAT89s52.h>
#include <intrinsics.h>
unsigned int t=0;
void main()
{
TCON_bit.TR0=1;
TMOD_bit.M00=1;
TMOD_bit.M10=0;
IE_bit.EA=1;
IE_bit.ET0=1;
TH0=0xff;//100us
TL0=0x9c;
while (1)
{
if(t==10)
{
t=0;
P0=0X80;
P2=0X00;
while(t<30);
}
t=0;
P2=0XFF;
}
}
#pragma vector=timer0
__interrupt void mytime()
{
TH0=0xff;//100us
TL0=0x9c;
t++;
}
编译的时候
应该是修改堆栈 新手不懂如何改 改那几个 改成多少 知道的 麻烦告诉一下 谢谢了
#include <intrinsics.h>
unsigned int t=0;
void main()
{
TCON_bit.TR0=1;
TMOD_bit.M00=1;
TMOD_bit.M10=0;
IE_bit.EA=1;
IE_bit.ET0=1;
TH0=0xff;//100us
TL0=0x9c;
while (1)
{
if(t==10)
{
t=0;
P0=0X80;
P2=0X00;
while(t<30);
}
t=0;
P2=0XFF;
}
}
#pragma vector=timer0
__interrupt void mytime()
{
TH0=0xff;//100us
TL0=0x9c;
t++;
}
编译的时候
应该是修改堆栈 新手不懂如何改 改那几个 改成多少 知道的 麻烦告诉一下 谢谢了
超过范围了。
具体一点呢?如果我不调试,直接编译烧上能行吗?
你说的超范围是指调试时堆栈的值 还是 程序本身就是有问题 麻烦指点一下 实在看不出程序的问题 刚接触 谢谢了