找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7335|回复: 21
收起左侧

如何用I/O口去控制led灯?

  [复制链接]
ID:69009 发表于 2014-12-9 10:31 | 显示全部楼层 |阅读模式
大家好,我是初学者  。目前还停留在亮灯的状态下。本来我的灯是用一个I/O口控制的,现在我想用其他三个口去控制却不知道该如何下手,请教各位朋友们我该怎么做啊 。急求高手指点啊 !!!这是我写的用P2口去控制的灯,现在我想用P0,P1,P3口去控制灯亮,该怎么做啊 ?
#include <reg52.h>
#define uchar unsigned char
sbit led=P2^0;
uchar time,i;
uchar codeled[15]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe};
void main()
{
        TMOD=0x01;
        TH0=0xf8;
        TL0=0x30;
        TR0=1;
        TF0=0;
        while(1)
        {
                if(TF0)
                {
                        TF0=0;
                        TH0=0xf8;
                        TL0=0x30;
                        P2=codeled[i];
                        time++;
                        if(time>=200)
                        {
                                time=0;
                                i++;
                                if(i>=15)
                                {
                                        i=0;
                                }
                        }
                }
        }       
}





回复

使用道具 举报

ID:1 发表于 2014-12-9 11:07 来自手机 | 显示全部楼层
这太简单了,你把程序里面的P2=codeled[i];,改为p3,就行了
回复

使用道具 举报

ID:69946 发表于 2014-12-9 17:11 | 显示全部楼层
同样的道理啊,sbit led=P2^0;将P2改一下就行了
回复

使用道具 举报

ID:69009 发表于 2014-12-9 18:13 | 显示全部楼层
就这么简单??
回复

使用道具 举报

ID:7485 发表于 2014-12-9 19:28 | 显示全部楼层
还需要扎实基础啊!没有捷径可走。
回复

使用道具 举报

ID:69009 发表于 2014-12-10 09:53 | 显示全部楼层
TY天网 发表于 2014-12-9 17:11
同样的道理啊,sbit led=P2^0;将P2改一下就行了

好像不能亮。。。
回复

使用道具 举报

ID:70512 发表于 2014-12-15 21:13 | 显示全部楼层
你现在是用的P2口控制的LED,若你要用其他I/O口控制LED,相应的硬件也需要更改。若你要用P3口控制LED, 你把程序里面的P2=codeled[i];,改为P3,同时硬件上把LED接到P3口。
回复

使用道具 举报

ID:70653 发表于 2014-12-17 22:10 | 显示全部楼层
用P3口时需要把程序下载都板子上,脱离上位机才能正常运行的
回复

使用道具 举报

ID:463702 发表于 2019-1-7 14:24 | 显示全部楼层
你现在是用的P2口控制的LED,若你要用其他I/O口控制LED,相应的硬件也需要更改。若你要用P3口控制LED, 你把程序里面的P2=codeled[i];,改为P3,同时硬件上把LED接到P3口。
回复

使用道具 举报

ID:463880 发表于 2019-1-7 16:32 | 显示全部楼层
你把程序里面的P2=codeled[i];,改为p3,就行了
回复

使用道具 举报

ID:463880 发表于 2019-1-7 16:33 | 显示全部楼层
你把程序里面的P2=codeled[i];,改为p3,就行了
回复

使用道具 举报

ID:89610 发表于 2019-1-7 17:27 | 显示全部楼层
找本硬件入门基础书看看
回复

使用道具 举报

ID:463518 发表于 2019-1-7 19:15 | 显示全部楼层
P2改成P3就可以了
回复

使用道具 举报

ID:464075 发表于 2019-1-7 20:10 | 显示全部楼层
找一下别的视频教程,照着做一遍,就会了
回复

使用道具 举报

ID:466908 发表于 2019-1-12 18:45 | 显示全部楼层
软件改了硬件肯定也要改。把led改过去,不过没必要怎麻烦,你可以试一下其他功能。
回复

使用道具 举报

ID:628917 发表于 2019-10-23 16:52 | 显示全部楼层
修改P口即可解决
回复

使用道具 举报

ID:760904 发表于 2020-5-25 17:04 | 显示全部楼层
sbit led=P2^0
回复

使用道具 举报

ID:761027 发表于 2020-5-25 19:43 | 显示全部楼层
需要仔细学习了
回复

使用道具 举报

ID:751452 发表于 2020-5-25 22:38 | 显示全部楼层
直接把你的第三行声明改了就可以了,即:【sbit led=P2^0;】里面的P2^0改成P1^0或P3^0
回复

使用道具 举报

ID:748788 发表于 2020-5-27 07:13 | 显示全部楼层
如果只想亮灯,程序可以简化,你的程序太复杂,初学者抓不住要点
回复

使用道具 举报

ID:762060 发表于 2020-5-27 14:14 | 显示全部楼层
在P2相应的地方改成P3就行了,如果是接线的,需要再板子上把接口从P2改成P3
回复

使用道具 举报

ID:711481 发表于 2020-5-27 17:43 来自手机 | 显示全部楼层
p?口有输出,结合外围电路分析,
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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