找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1657|回复: 13
收起左侧

求大佬帮我看看单片机程序哪里有错,实在看不出了

[复制链接]
ID:891154 发表于 2021-7-27 16:52 | 显示全部楼层 |阅读模式
50黑币
#include<reg52.h>
unsigned long beats = 0;
void StartMotor (unsigned long angle);
void main()//zd
{
EA=1;
TMOD=0x01;
TH0 =0xF8;
ET0 =1;
TR0 =1;
        StartMotor(360*2);
  while (1);
}
void StartMotor (unsigned long angle);
{
EA=0;
beats=(angle*4076)/360;
EA=1;
}
void ZD0() interrupt 1
{ unsigned char tmp;
    static unsigned char index =0;
unsigned char code BeatCode [8]= {0xE,0xC,0xD,0x9, 0xB, 0x3, 0x7,};
TH0=0xF8;
TL0=0xCD;
if (beats!=0)
{
        tmp = P1;
tmp=tmp&0xF0;
tmp=tmp | BeatCode [index];
index++;
index=index &0x07
beats--;
}
else
{
P1=P1 |0x0F;
}
}

最佳答案

查看完整内容

改成这样 index=index &0x07; //
回复

使用道具 举报

ID:155507 发表于 2021-7-27 16:52 | 显示全部楼层
改成这样

index=index &0x07;   //<<--这一句后面要分号“;”   
beats--;
回复

使用道具 举报

ID:891154 发表于 2021-7-27 16:55 | 显示全部楼层
51hei图片20210727165401.jpg 这是错误提示
回复

使用道具 举报

ID:73435 发表于 2021-7-27 17:34 | 显示全部楼层
void StartMotor (unsigned long angle);这一句后面不要分号“;”

评分

参与人数 1黑币 +30 收起 理由
3042974988 + 30 赞一个!

查看全部评分

回复

使用道具 举报

ID:891154 发表于 2021-7-27 17:40 | 显示全部楼层
294479435 发表于 2021-7-27 17:34
void StartMotor (unsigned long angle);这一句后面不要分号“;”

屏幕截图 2021-07-27 173855.png 还有一个错误
回复

使用道具 举报

ID:824490 发表于 2021-7-27 17:50 | 显示全部楼层
提示都说的很清楚了。按提示的行去找就能发现问题。
回复

使用道具 举报

ID:891154 发表于 2021-7-27 17:59 来自手机 | 显示全部楼层
真不知道怎么改 ,我知道是那行,语法错误,可是我看不出有什么错
回复

使用道具 举报

ID:891154 发表于 2021-7-27 18:08 来自手机 | 显示全部楼层
angmall 发表于 2021-7-27 17:59
改成这样

index=index &0x07;   //

哇,这都没看到。。。。
回复

使用道具 举报

ID:476415 发表于 2021-7-27 20:10 来自手机 | 显示全部楼层
BeatCode定义为8,,花括号里面只有七个。

评分

参与人数 1黑币 +30 收起 理由
3042974988 + 30 赞一个!

查看全部评分

回复

使用道具 举报

ID:476415 发表于 2021-7-27 20:11 来自手机 | 显示全部楼层
angmall 发表于 2021-7-27 17:59
改成这样

index=index &0x07;   //

这个错也真是无敌了!新手小朋友,要仔细点啊!
回复

使用道具 举报

ID:891154 发表于 2021-7-27 20:12 | 显示全部楼层
isyido 发表于 2021-7-27 20:11
这个错也真是无敌了!新手小朋友,要仔细点啊!

哭~.....................
回复

使用道具 举报

ID:476415 发表于 2021-7-27 20:19 来自手机 | 显示全部楼层
感觉你的StartMotor方法没意义啊直接计算即可啊!如果你后面有其它用处,那你要仔细想想,里面的计算要考虑下angle是否会很大导致*4076是否越界
回复

使用道具 举报

ID:891154 发表于 2021-7-27 20:19 | 显示全部楼层
isyido 发表于 2021-7-27 20:10
BeatCode定义为8,,花括号里面只有七个。

好的,发现了谢谢你
回复

使用道具 举报

ID:891154 发表于 2021-7-27 20:33 | 显示全部楼层
isyido 发表于 2021-7-27 20:19
感觉你的StartMotor方法没意义啊直接计算即可啊!如果你后面有其它用处,那你要仔细想想,里面的计算要考虑 ...

啊,这是我照着一些例程弄的,我也不知道,步进电机我还在学
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表