c51单片机error C267: 'delayms': requires ANSI-style prototype

#include<reg51.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint//数... #include<reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
//数码管
sbit LE1=P1^0;
sbit LE2=P1^1;
unsigned char dis0=0xf9;
unsigned char dis1=0xa4;
unsigned char dis2=0xb0;
unsigned char dis3=0x99;
//点阵屏
sbit DAT_LDQA=P1^2;
sbit CLK=P1^3;
sbit OE=P1^4;
sbit STR=P1^5;
sbit DAT_LD1=P1^6;
uchar XX[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
uchar YY[3][8]={0x7e,0xbd,0xdb,0xe7,0xe7,0xdb,0xbd,0x7e,
0xe7,0xdb,0xbd,0x7e,0x7e,0xbd,0xdb,0xe7,
0xe7,0xdb,0xbd,0xbd,0xbd,0xbd,0xbd,0xc3};
//独立开关
sbit key1=P3^0;
sbit key2=P3^1;
sbit key3=P3^2;
sbit key4=P3^3;
//延时函数1
void delay(void)
{
unsigned int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<121;j++);
}
}
//点阵屏程序
void HC595_send_char(uchar dat_ldqa,dat_ld1)
{
uchar i;
for(i=0;i<8;i++)
{
DAT_LDQA=dat_ldqa&1<<i;
DAT_LD1=dat_ld1&1<<i;
CLK=1;
CLK=0;
}
STR=1;
STR=0;
}
void dzp()
{
uchar i,j,k;
uint numb;
OE=0;
while(1)
{
for(i=0;i<3;i++)
{
for(numb=0;numb<200;numb++)
{
for(j=0;j<8;j++)
{
HC595_send_char(YY[i][j],XX[j]);
for(k=0;k<20;k++);
}
}
}
}
}
//数码管程序
void smg()
{
while(1)
{
P0=0x01;
LE1=1;
LE1=0;
P0=dis0;
LE2=1;
LE2=0;
delay();
P0=0x02;
LE1=1; LE1=0;
P0=dis1;
LE2=1; LE2=0;
delay();
P0=0x04;
LE1=1; LE1=0;
P0=dis2;
LE2=1; LE2=0;
delay();
P0=0x08;
LE1=1; LE1=0;
P0=dis3;
LE2=1; LE2=0;
delay();
}
}
//LED
void led()
{
uchar i;
P1=0Xfe;

for(i=0;i<8;i++)
{
delayms(10);
P1<<=1;
P1=P1|0x01;
}
}
//主函数
void main()
{
while(1)
{
int num;
num = keyscan();
if(num==1)
{
dzp();
}
else if(num==2)
{
smg();
}
else if(num==3)
{
led();
}
}
//循环定义
uchar keyscan()
{
uchar key;
if(key1==0)
{
delayms(10);
if(key1==0)
{
key=1;
while(!key 1);
return 1;
}
}
if(key2==0)
{
delayms(10);
if(key 2==0)
{
key=2;
while(!key2);
return 2;
}
}
if(key3==0)
{
delayms(10);
if(key3==0)
{
key=3;
while(!key3);
return 3;
}
}
/* if(key 4==0)
{
delayms(10);
if(key 4==0)
{
key=4;
while(!key4);
return 4;
}
}*/
}
}
展开
 我来答
犬虫门心西安
2014-12-16 · TA获得超过163个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:112万
展开全部
delayms()函数你定义了么?我只看到delay()函数。
更多追问追答
追问
我C51学渣啊。。。。大神救我。。怎么改
追答
这么丑的程序,谁写的啊?
加一个函数,
//延时函数1
void delay(void)
{
unsigned int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<121;j++);
}
}
// *********************加着这里:
void delayms(unsigned int dt)
{
while(dt--)
delay();

}
//点阵屏程序
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
修者世界
2014-12-19 · TA获得超过5852个赞
知道大有可为答主
回答量:5984
采纳率:61%
帮助的人:861万
展开全部
delayms这个函数你没有申明。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
查晓筠0i5
2014-12-16 · TA获得超过2753个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:5066万
展开全部

发给我看看

工程

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-12-24
展开全部
亲,你从哪拷贝的程序,被人坑了吧。delayms()没定义声明
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式