找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2441|回复: 8
打印 上一主题 下一主题
收起左侧

10个二极管的流水灯没反映

  [复制链接]
跳转到指定楼层
楼主
ID:240591 发表于 2017-10-18 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我连的10个二极管的流水灯

不过为啥没反映

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define unit unsigned int
void delay();
uchar aa,bb;

void main()
{  P1=aa,P2=bb;
   while(1)
   {  
   aa=0x80,
   bb=0x0;
   delay();

   aa=0x40,
   bb=0x0;
   delay();

   aa=0x20,
   bb=0x0;
   delay();

   aa=0x10,
   bb=0x0;
   delay();

   aa=0x8,
   bb=0x0;
   delay();

   aa=0x4,
   bb=0x0;
   delay();

   aa=0x2,
   bb=0x0;
   delay();

   aa=0x1,
   bb=0x0;
   delay();

   aa=0x0,
   bb=0x2;
   delay();

   aa=0x0,
   bb=0x1;
   delay();        
   }
}


void delay()            
{
    unit x,y;
    for(x=100;x<0;x--)
       for(y=200;y>0;y--);
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2017-10-18 16:52 | 只看该作者
你可以直接对P1、P2赋值操作,如 :P1=0x80;P2=0x0;或宏定义#define aa P1   #define bb P2,这时对aa、bb的操作就是对P1、P2的操作,不可以用两个变量代替P1、P2。
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define unit unsigned int
#define aa P1
#define bb P2
void delay();
//uchar aa,bb;

void main()
{//  P1=aa,P2=bb;
   while(1)
   {  
   aa=0x80;
   bb=0x0;
   delay();

   aa=0x40;
   bb=0x0;
   delay();

   aa=0x20;
   bb=0x0;
   delay();

   aa=0x10;
   bb=0x0;
   delay();

   aa=0x8;
   bb=0x0;
   delay();

   aa=0x4;
   bb=0x0;
   delay();

   aa=0x2;
   bb=0x0;
   delay();

   aa=0x1;
   bb=0x0;
   delay();

   aa=0x0;
   bb=0x2;
   delay();

   aa=0x0;
   bb=0x1;
   delay();        
   }
}


void delay()            
{
    unit x,y;
    for(x=100;x<0;x--)
       for(y=200;y>0;y--);
}

评分

参与人数 1黑币 +5 收起 理由
lushaoqian + 5 赞一个!

查看全部评分

回复

使用道具 举报

板凳
ID:232524 发表于 2017-10-18 17:13 | 只看该作者
P1,P2定义不是这样的
#define aa P1
#define bb P2
回复

使用道具 举报

地板
ID:240669 发表于 2017-10-18 19:44 | 只看该作者
先看仿真有没有问题,如果仿真一遍没有问题但是实际中不能正常工作,估计是因为过载之类的问题吧
回复

使用道具 举报

5#
ID:155507 发表于 2017-10-18 20:24 | 只看该作者
aa,bb 赋值到P1,P2 , 不可以用两个变量代替P1、P2。

  1. #include<reg52.h>
  2. #include<intrins.h>

  3. #define uchar unsigned char
  4. #define unit unsigned int

  5. #define aa P1 // 宏定义
  6. #define bb P2 // 宏定义

  7. void delay();
  8. //uchar aa,bb;

  9. void main()
  10. {  //P1=aa,P2=bb;  // <--- 赋值到P1,P2,  P1,P2定义不是这样的, 不可以用两个变量代替P1、P2。
  11.         while(1)
  12.         {  
  13.                 aa=0x80,
  14.                 bb=0x0;
  15.                 delay();

  16.                 aa=0x40,
  17.                 bb=0x0;
  18.                 delay();

  19.                 aa=0x20,
  20.                 bb=0x0;
  21.                 delay();

  22.                 aa=0x10,
  23.                 bb=0x0;
  24.                 delay();

  25.                 aa=0x8,
  26.                 bb=0x0;
  27.                 delay();

  28.                 aa=0x4,
  29.                 bb=0x0;
  30.                 delay();

  31.                 aa=0x2,
  32.                 bb=0x0;
  33.                 delay();

  34.                 aa=0x1,
  35.                 bb=0x0;
  36.                 delay();

  37.                 aa=0x0,
  38.                 bb=0x2;
  39.                 delay();

  40.                 aa=0x0,
  41.                 bb=0x1;
  42.                 delay();        
  43.         }
  44. }


  45. void delay()            
  46. {
  47.         unit x,y;
  48.         for(x=100;x<0;x--)
  49.                 for(y=200;y>0;y--);
  50. }

复制代码
回复

使用道具 举报

6#
ID:240657 发表于 2017-10-18 21:42 | 只看该作者
P1=aa,P2=bb;aa,bb为不确定变量,不能直接赋值给P1,P2
回复

使用道具 举报

7#
ID:240657 发表于 2017-10-18 21:43 | 只看该作者
P1=aa,P2=bb;aa,bb不能直接赋值
回复

使用道具 举报

8#
ID:471889 发表于 2019-1-31 06:30 | 只看该作者

P1=aa,P2=bb;只能将P1与P2端口的值赋值给aa与bb,怎么能将名称赋给aa与bb呢?
要么用宏定义给P1与 P2取个别的名字,叫aa与bb.(注意,这里的aa与bb是不会同内存打交道的,你定义的变量是要同内存打交道的),要么直接用P1=0x80,   P2=0x0;   delay();......

评分

参与人数 4黑币 +40 收起 理由
钻牛尖滴刘尖尖 + 12 回帖助人的奖励!
sheng7533967 + 8 绝世好帖!
zhengchong60 + 10 很给力!
shuisheng60 + 10 很给力!

查看全部评分

回复

使用道具 举报

9#
ID:472325 发表于 2019-1-31 14:15 | 只看该作者
说的也是,变量怎么将变量名变了呢?神级操作啊!

评分

参与人数 2黑币 +18 收起 理由
sheng7533967 + 8 绝世好帖!
zhengchong60 + 10 赞一个!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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