编译没错,调试是出现错误了,不知道从何下手谁帮忙看看

2019-07-16 05:13发布

程序这样的
#include<reg52.h>
sbit DCOUT = P1^0;//定义电机信号输出端口
bit flag;
unsigned char t0count,x;  //测速用的
void timer_init()
{
SCON  = 0x50;
TMOD|=0x25;//t0计数,t1用于波特率计算
TH1   = 0xFD;
TH2 = (65536-2000)/256;
   TL2 = (65536-2000)%256;
RCAP2H = (65536-2000)/256;//晶振12M 60ms 16bit 自动重载
   RCAP2L = (65536-2000)%256;
EA=1;
ET0=1;
ET1=1;
ET2=1;
TR0=1;
TR1=1;
TR2=1;
}
void TIM0(void) interrupt 1
{
   t0count++;
}
void SendByte(unsigned char dat)
{
SBUF = dat;
while(!TI);
      TI = 0;
}
void TIM2(void) interrupt 5
{
   static unsigned char i;
TF2=0;
    i++;
if(i==5)
{
  i=0;
  flag=1;   
}
}
void main()
{
timer_init();
DCOUT=1;
while(1)
{
  if(flag==1)
  {
   flag=0;
   TR0=0;
   x=t0count*65536+TH0*256+TL0;  //测的电机速度不会超过每秒255转的
   t0count=0;
   TH0=0;
   TL0=0;
   TR0=1;
   SendByte(x);
  }
}
}
程序执行不到设置的断点,在执行二部就出现*** error 65: access violation at C:0x0100 : no 'execute/read' permission这错误了QQ截图20120715162519.png(10.27 KB)下载次数:0
5 小时前






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
lstcspring
1楼-- · 2019-07-16 11:01
你的断点设在哪儿呢,图片看不了
elevm
2楼-- · 2019-07-16 14:30
 精彩回答 2  元偷偷看……
kashsee
3楼-- · 2019-07-16 17:39
lstcspring 发表于 2012-7-15 22:43
你的断点设在哪儿呢,图片看不了

void TIM2(void) interrupt 5
{
   static unsigned char i;
TF2=0;   这边设了断点,定时器2的断点,可是程序进不到这,用的是stc89c54rd+芯片
   i++;
kashsee
4楼-- · 2019-07-16 22:19
lstcspring 发表于 2012-7-15 22:43
你的断点设在哪儿呢,图片看不了

一周热门 更多>