请选择 进入手机版 | 继续访问电脑版

普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 7549|回复: 19

在C51单片机里,如何只点亮第二个LED

 关闭 [复制链接]

2

主题

12

帖子

32

积分

新手上路

Rank: 1

积分
32
发表于 2017-2-21 17:42:29 | 显示全部楼层 |阅读模式
我在光盘里带的“点亮第一个LED”灯的main.c的文件里,把sbit  led=p2^0    改成 p2^1 保存后再烧进开发板里, 是不是就能单独点亮第二个led等呢,但是结果还是第一个led等亮,请老师指点一下,多谢!
回复

使用道具 举报

42

主题

563

帖子

1907

积分

金牌会员

Rank: 6Rank: 6

积分
1907
发表于 2017-2-21 22:12:39 | 显示全部楼层
首先P要大写,其次你改好的程序有没有烧录进去
回复 支持 1 反对 0

使用道具 举报

2

主题

12

帖子

32

积分

新手上路

Rank: 1

积分
32
 楼主| 发表于 2017-2-22 10:44:29 | 显示全部楼层

#include "reg52.h"    //此文件中定义了单片机的一些特殊功能寄存器

sbit led=P2^5;           //将单片机的P2.0端口定义为led
     

/*******************************************************************************
* 函 数 名       : main
* 函数功能                 : 主函数
* 输    入       : 无
* 输    出             : 无
*******************************************************************************/
void main()
{
        while(1)
        {
                led=0;        //P2.0端口设置为低电平
        }               
}
我想单独点亮第六个LED灯,上面的程序对吗,怎么还是从开发板上不行呢
回复 支持 反对

使用道具 举报

2

主题

12

帖子

32

积分

新手上路

Rank: 1

积分
32
 楼主| 发表于 2017-2-22 10:51:15 | 显示全部楼层
大瓶子凌凌漆 发表于 2017-2-21 22:12
首先P要大写,其次你改好的程序有没有烧录进去


#include "reg52.h"    //此文件中定义了单片机的一些特殊功能寄存器

sbit led=P2^5;           //将单片机的P2.0端口定义为led
     

/*******************************************************************************
* 函 数 名       : main
* 函数功能                 : 主函数
* 输    入       : 无
* 输    出             : 无
*******************************************************************************/
void main()
{
        while(1)
        {
                led=0;        //P2.0端口设置为低电平
        }               
}
烧录成功了,麻烦给看看哪里的问题呢?想单独点亮后面的一个LED灯
回复 支持 反对

使用道具 举报

20

主题

1343

帖子

8345

积分

论坛元老

Rank: 8Rank: 8

积分
8345
发表于 2017-2-22 10:56:27 | 显示全部楼层
学好单片机 发表于 2017-2-22 10:51
#include "reg52.h"    //此文件中定义了单片机的一些特殊功能寄存器

sbit led=P2^5;           //将单片机 ...

什么板子?要不要接线?
ES板子不接线,你的程序点亮第六个灯。
EM板子要接线,接线情况不同,可能亮灯的位置也不同。
回复 支持 反对

使用道具 举报

2

主题

12

帖子

32

积分

新手上路

Rank: 1

积分
32
 楼主| 发表于 2017-2-22 11:11:54 | 显示全部楼层
本帖最后由 学好单片机 于 2017-2-22 11:13 编辑
HC6800-ES-V2.0 发表于 2017-2-22 10:56
什么板子?要不要接线?
ES板子不接线,你的程序点亮第六个灯。
EM板子要接线,接线情况不同,可能亮灯 ...

HC6800-ES  V2.0,从原理图看,P2.0对应LED的1,P2.1对应LED的2....往下是一一对应的关系,不需要接线,烧录也正常,但是还是LED1灯亮

回复 支持 反对

使用道具 举报

2

主题

12

帖子

32

积分

新手上路

Rank: 1

积分
32
 楼主| 发表于 2017-2-22 11:16:25 | 显示全部楼层
HC6800-ES-V2.0 发表于 2017-2-22 10:56
什么板子?要不要接线?
ES板子不接线,你的程序点亮第六个灯。
EM板子要接线,接线情况不同,可能亮灯 ...

HC6800-ES  V2.0,从原理图看,P2.0对应LED的1,P2.1对应LED的2....往下是一一对应的关系,不需要接线,烧录也正常,但是还是LED1灯亮
回复 支持 反对

使用道具 举报

20

主题

1343

帖子

8345

积分

论坛元老

Rank: 8Rank: 8

积分
8345
发表于 2017-2-22 11:16:44 | 显示全部楼层
学好单片机 发表于 2017-2-22 11:11
HC6800-ES  V2.0,从原理图看,P0对应LED的1,P1对应LED的2....往下是一一对应的关系,不需要接线

我也是这块板子。
那就没问题了啊,你想点亮最后的两个灯,就要这样
定义:sbit LED6=P2^6;sbit LED7=P2^7;
后面:LED6=0;LED7=0;
这不就点亮后面两个灯了!
回复 支持 反对

使用道具 举报

2

主题

12

帖子

32

积分

新手上路

Rank: 1

积分
32
 楼主| 发表于 2017-2-22 11:22:19 | 显示全部楼层
HC6800-ES-V2.0 发表于 2017-2-22 11:16
我也是这块板子。
那就没问题了啊,你想点亮最后的两个灯,就要这样
定义:sbit LED6=P2^6;sbit LED7=P ...

程序我真看不出有什么问题了,改完后我直接保存在原位置,烧录也正常,奇怪了,难道板子本身有问题?
回复 支持 反对

使用道具 举报

2

主题

12

帖子

32

积分

新手上路

Rank: 1

积分
32
 楼主| 发表于 2017-2-22 11:26:30 | 显示全部楼层
大瓶子凌凌漆 发表于 2017-2-21 22:12
首先P要大写,其次你改好的程序有没有烧录进去

P是大写的,读也成功了,给分析下还会有什么可能呢
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-3-29 22:50 , Processed in 0.094413 second(s), 32 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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