打印

新手请教,请路过大神帮忙指点

[复制链接]
1087|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
周天星辰|  楼主 | 2022-11-12 20:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg52.h>
#include<intrins.h>                          //51使用手册总明确表示,使用循环左移函数必须带此头文件
#define uint unsigned int                   //define为宏定义,把 unit定义为unsigned int,以后想写unsigned int时,直接调用unit。切记把自己定义的写在前面,系统函数写在后面
#define uchar unsigned char                 //宏定义,切记把自己定义的写在前面,系统函数写在后面
uchar temp;                          //设置一个变量给单片机赋值,切记赋值的类型要和被赋值的类型一样
//即P1口是一个8位的寄存器,要是定义为一个整型的或者实型的肯定会出错误,所以要定义为一个字符型,字符型占8位寄存器!!!
void delay(uint);                              //子函数声明:主函数在调用子函数之前必须要对子函数进行声明!否则主函数不知道你调用的什么东西!!!
void mian( )
{
                temp = 0xfe;                 //主函数开始的时候给P1附一个值,fe赋值给P口,即转换为二进制为11111110
                P1=temp;                        //点亮第一个灯
        while(1)
        {

                temp=_crol_(temp,1);        //左移 :_crol_为使用手册中左移函数, 括号里:temp进行左移,1代表左移一位
                delay(100);
                P1=temp;
}
void delay(uint z)
{
        uint x,y;
        for(x=100;x>0;x--)
                for(y=z;y>0;y--);
}


报警!报警!!报警!!!
error C141:syntax error near “void”

使用特权

评论回复

相关帖子

沙发
周天星辰|  楼主 | 2022-11-12 20:43 | 只看该作者
找到了,while少了一个中括号。。。。
        while(1)
        {

                temp=_crol_(temp,1);        //左移 :_crol_为使用手册中左移函数, 括号里:temp进行左移,1代表左移一位
                delay(100);
                P1=temp;
        }

使用特权

评论回复
评论
周天星辰 2022-11-13 20:01 回复TA
@xch :找到问题点了,感谢 
xch 2022-11-12 22:21 回复TA
“花”括号 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

21

帖子

0

粉丝