找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3184|回复: 10
收起左侧

新手求教程序编译不成功

  [复制链接]
ID:89591 发表于 2015-9-15 19:34 | 显示全部楼层 |阅读模式
以下程序编译不成功,求教#include <reg51.h>
sbit led1=p1^0
void main()
{
    led1=0x00;
}
回复

使用道具 举报

ID:61840 发表于 2015-9-15 22:51 | 显示全部楼层
sbit led1=p1^0后面有分号 “;”
所有字符输入必须为英文状态输入,切记
回复

使用道具 举报

ID:91436 发表于 2015-10-1 13:03 | 显示全部楼层
本帖最后由 心随心动 于 2015-10-1 13:06 编辑

1、每写完一句都要加上分号";"  注意不要在打字状态下输入,否则会报错!
2、你位定义了led1,赋值就不要用16进制数了,0,1赋值就行。除非是端口整体赋值,在给P1赋值16进制。
3、定义的p1^0中,P最好是大写。
回复

使用道具 举报

ID:68416 发表于 2015-10-4 17:49 | 显示全部楼层
这是编程是要仔细检查哦
回复

使用道具 举报

ID:84299 发表于 2015-10-6 12:09 | 显示全部楼层
P1^0是P1的最低位,而你却赋值一个字节。直接led1=0就好了。
回复

使用道具 举报

ID:91796 发表于 2015-10-8 16:30 | 显示全部楼层
加; 第二行那里
回复

使用道具 举报

ID:91944 发表于 2015-10-9 06:56 来自触屏版 | 显示全部楼层
新手要仔细检查程序偶避免出现这种错误
回复

使用道具 举报

ID:91954 发表于 2015-10-9 09:55 | 显示全部楼层
漏了分号吧
回复

使用道具 举报

ID:91956 发表于 2015-10-9 10:28 | 显示全部楼层
你赋值了  led1=p1^0      led1就是一位了 不用0x00
回复

使用道具 举报

ID:91964 发表于 2015-10-9 11:55 | 显示全部楼层
本帖最后由 snakelu 于 2015-10-9 11:58 编辑

定义错误,第一个led=P1^0是位定义,也就是说你定义的只有P1^0这个口,你也只能控制这个口,然后你用总线控制方式0x00.的意思是控制八个其他口,当然不行了,要么改成led = 0;要么把P1^0定义取消。还有P1的P是大写的,小写不行。你可以在#include<reg52.h>上面点击右键,就能看到里面的定义了,P都是大写的。小写编译不了。
回复

使用道具 举报

ID:91966 发表于 2015-10-9 12:10 | 显示全部楼层
少了封号吧
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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