普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 1451|回复: 3

端口设置

[复制链接]

1

主题

2

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2023-6-9 17:32:20 | 显示全部楼层 |阅读模式
为啥在LED流水灯程序内必须要对端口定义,如#define led P2,如果直接用P2输入程序混乱.void main() {
      P2=~0x01;
          delay(50000);
         while(1)
        {
          for(i=0;i<7;i++)
          {
          P2=_crol_(P2,1);
          delay(50000);
          }


回复

使用道具 举报

14

主题

48

帖子

258

积分

中级会员

Rank: 3Rank: 3

积分
258
发表于 2023-6-10 10:10:49 | 显示全部楼层
本帖最后由 zhong_zhiqi 于 2023-6-10 10:12 编辑

“为啥在LED流水灯程序内必须要对端口定义,如#define led P2...”- 不是必须的,这个宏定义只是为了写代码和读代码方便而已,可以直接让读代码的人立即明白管脚的目的是操作LED。
把#define led P2注释掉然后在后续的代码中直接用P2操作也是可以的,例如把你的代码完善后就是:

# include "reg52.h"
# include "intrins.h"

//#define led P2
typedef unsigned int u16;
typedef unsigned char u8;

void delay(u16 ten_us)
{
        while(ten_us--);
}

void main()
{
        u8 i;
        P2=~0x01;
        

        delay(50000);
        while(1)
        {
                for(i=0;i<7;i++)
                {
                        P2=_crol_(P2,1);
                        delay(50000);
                }
        }
}

编译和执行也都是正常的。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

1

主题

2

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2023-6-12 14:42:09 | 显示全部楼层
谢谢啦  刚开始学  理解不够
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-4-24 19:15 , Processed in 0.089367 second(s), 34 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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