微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 流水灯实验 89C51 哪位高手帮看看 怎么不能编译出来呢 小...

流水灯实验 89C51 哪位高手帮看看 怎么不能编译出来呢 小...

时间:10-02 整理:3721RD 点击:
/*流水灯实验  89C51 哪位高手帮看看 怎么不能编译出来呢 小弟在此感激不尽*/
#include<reg51.h>
#define uchar unsigned char
void liushui();
void flash();
void delay(uchar k);
void main()
{
P1=0xff;
while (1)
{
switch (P1&0x81)
case 0x00: P3=0xff; break;
case 0x01: liushui; break;
case 0x10: P3=0x00; break;
case 0x11: flash; break;
}
}
void delay(uchar k)
{
uchar i,j;
for (i=0,i<j,i++ )
for (j=0,j<k,j++ )
;
}
void liushui()
{
uchar i,w;
w=0x01;
for(i=0,i<8,i++)
{
P3=~w;
w=w<<1;
delay(100);
}
}
void flash()
{
P3=0x00;
delay(100);
P3=0xff;
delay(100);
}

switch (P1&0x81)后 少了一个括号  
void delay(uchar k) 函数中for循环加上括号可以使程序结构清晰,这一点请不要偷懒!for (i=0,i<j,i++ )中
分隔符是“;” 正确写法 for (i=0;i<j;i++ )  
建议delay()函数这样写!
void delay(uchar k)
{
    uchar i,j;
    for (i=0;i<k;i++){
       for (j=0;j<200;j++){
       }
    }
}
后面还有一处for循环分隔符错了!

按楼上说的改了试一下,虽然程序有很多编辑错误,但说明是自己写有,这样也很不错,多调多试,学会自己找问题

一楼给力

关键是自己写的

ddddddddddd

加油哇

你好  我已经更改了你提出的错误  程序已经出来   真的非常感谢  第一次写程序 谢谢你的帮助

谢谢 鼓励

谢谢鼓励  程序已经出来

太乱

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top