找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2056|回复: 21
打印 上一主题 下一主题
收起左侧

求助一下,51单片机代码出错了,找不到问题在哪

  [复制链接]
跳转到指定楼层
楼主
ID:954926 发表于 2021-7-27 00:02 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如图,谢谢解答。

16273152478721550856414946846634.jpg (1.83 MB, 下载次数: 31)

16273152478721550856414946846634.jpg

16273152919773452400005591095293.jpg (1.91 MB, 下载次数: 29)

16273152919773452400005591095293.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:504289 发表于 2021-7-27 07:44 | 只看该作者
??? 11行 函数原型 声明不对吧 参数类型定义呢
回复

使用道具 举报

板凳
ID:584814 发表于 2021-7-27 07:54 | 只看该作者
贴上原代码很困难么
回复

使用道具 举报

地板
ID:476415 发表于 2021-7-27 08:12 来自手机 | 只看该作者
楼上说的对,结合错误提示,要看看附近的行。
回复

使用道具 举报

5#
ID:546770 发表于 2021-7-27 08:29 | 只看该作者
你自己看看11行和12行,12行的函数申明的变量都还有数据类型,11行函数变量的数据类型呢???
回复

使用道具 举报

6#
ID:849376 发表于 2021-7-27 08:38 | 只看该作者
void xianshi()括号里的变量类型没声明
回复

使用道具 举报

7#
ID:386001 发表于 2021-7-27 08:40 | 只看该作者
你11行的形参没有指定类型的
回复

使用道具 举报

8#
ID:956696 发表于 2021-7-27 08:59 | 只看该作者
应该是第11的形参没有写类型吧
回复

使用道具 举报

9#
ID:223251 发表于 2021-7-27 09:10 | 只看该作者
图中第十一行,xianshi函数的声明不对;这个声明需要和你定义xianshi函数原型的地方保持一致;可以不要形参,但是数据类型必须要写出来。
回复

使用道具 举报

10#
ID:954926 发表于 2021-7-27 09:11 来自手机 | 只看该作者
谢谢大家解答
回复

使用道具 举报

11#
ID:549934 发表于 2021-7-27 09:21 | 只看该作者
函数声明里面不应该是数据类型吗?你这直接上的实参
回复

使用道具 举报

12#
ID:711539 发表于 2021-7-27 09:23 | 只看该作者
参数、变量需先定义
回复

使用道具 举报

13#
ID:956562 发表于 2021-7-27 10:04 | 只看该作者
第十一行,形参要先声明类型
回复

使用道具 举报

14#
ID:950946 发表于 2021-7-27 10:26 | 只看该作者
盲才,你的tt没有定义计算,比如tt++啥的,所以到不了tt==20,直接死循环
回复

使用道具 举报

15#
ID:954926 发表于 2021-7-27 11:40 来自手机 | 只看该作者
代码如下
回复

使用道具 举报

16#
ID:954926 发表于 2021-7-27 11:41 来自手机 | 只看该作者
man1234567 发表于 2021-7-27 07:54
贴上原代码很困难么

#include<reg52.h>
#define uint unsigned int;
#define uchar unsigned char;
uchar tt,num,ge,shi,bai;
sbit wei=P2^7;
sbit zi=P2^6;
uchar code table[]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void init();
void xianshi(uchar bai,shi,ge);
void delay(uint z);
void main()
{
    init();
          while(1)
                {
                    if(tt==20)
                                {
                                    tt=0;
                                          num++;
                                          if(num==100)
                                                {
                                                    num=0;
                                                }
                                    bai=num/100;
                                                shi=num%100/10;
                                                ge=num%10;
                                }
                                xianshi(uchar bai,shi,ge);
                }
}

void delay(uint z)
{
    uint x,y;
          for(x=110;x>0;x--)
              for(y=z;y>0;y--);
}

void init()
{
    num=0;
          TMOD=0x01;
          TH0=(65535-50000)/256;
          TL0=(65535-50000)%256;
          EA=1;
          ET0=1;
          TR0=1;
}

void xianshi(uchar bai,shi,ge)
{
    zi=1;
          P0=table[bai];
          zi=0;
          P0=0xff;
          wei=1;
          P0=0xfe;
          wei=0;
          delay(1);
       
          zi=1;
          P0=table[shi];
          zi=0;
          P0=0xff;
          wei=1;
          P0=0xfd;
          wei=0;
          delay(1);
       
          zi=1;
          P0=table[ge];
          zi=0;
          P0=0xff;
          wei=1;
          P0=0xfb;
          wei=0;
          delay(1);
}

void timer0() interrupt 1
{
          TH0=(65535-50000)/256;
          TL0=(65535-50000)%256;
          tt++;
}
回复

使用道具 举报

17#
ID:691028 发表于 2021-7-27 13:17 | 只看该作者
11行形参数据类型没有描述
回复

使用道具 举报

18#
ID:954926 发表于 2021-7-27 13:25 来自手机 | 只看该作者
0x00000000 发表于 2021-7-27 13:17
11行形参数据类型没有描述

请问一下具体怎么描述
我添加类型后就有更多的错误了
回复

使用道具 举报

19#
ID:161164 发表于 2021-7-27 13:33 | 只看该作者
本帖最后由 lkc8210 于 2021-7-27 13:37 编辑
WaWaLi 发表于 2021-7-27 13:25
请问一下具体怎么描述
我添加类型后就有更多的错误了
有更多的错误了<<<又不附上错误信息和代码,哪知道你怎么改?
回复

使用道具 举报

20#
ID:313048 发表于 2021-7-27 14:07 | 只看该作者
WaWaLi 发表于 2021-7-27 13:25
请问一下具体怎么描述
我添加类型后就有更多的错误了

我看到你源代码那个xianshi(char ge,shi,bai);这个位置你的原始函数是这么写的;
你把它改成xianshi(char ge ,char shi,char bai),就可以了吧,没见过在形参你这样定义的
回复

使用道具 举报

21#
ID:161164 发表于 2021-7-27 14:07 | 只看该作者
不要用#define
#define uint unsigned int;
#define uchar unsigned char;
改用 typedef
typedef unsigned int uint;
typedef unsigned char uchar;

回复

使用道具 举报

22#
ID:956836 发表于 2021-7-27 15:37 | 只看该作者
仔细看第7行上下有什么问题
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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