找回密码
 立即注册

QQ登录

只需一步,快速开始

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

谁能帮我解决这个问题

[复制链接]
跳转到指定楼层
楼主
ID:21955 发表于 2011-3-2 20:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

在51hei-5这个型号的单片机学习开发系统上,我想让LED其中的三个依次亮,搞了很久还没有搞定,谁能帮我指出下面的 程序问题在哪里,不胜感激。

include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar num;
uchar  temp[]={0xfe,0xfd,0xfc};/*LED显示*/
sbit a=P2^6;/*74H573锁存使能控制位,0时锁存*/
sbit b=P1^4;/*LED允许位,低电平有效*/
void delaytime();
void main()
{a=1;
 P0=0xff;
 a=0;
 b=0; 
 while(1)
   { for(num=0;num<3;num++)
      { a=1;
       P0=temp[num];
       a=0;
       delaytime();
       }
    }
}
void delaytime()
{int x,y;
  for(x=0;x<200;x++)
    for(y=0;y<200;y++); 
}

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

使用道具 举报

沙发
ID:28293 发表于 2011-3-3 12:54 | 只看该作者

P0口作为输入输出口使用时需要外加上拉电阻。

 

不知道你的3个led是不是分别对应P0.0~P0.2

如果是的话你应该将uchar  temp[]={0xfe,0xfd,0xfc};/*LED显示*/
修改为uchar  temp[]={0xfe,0xfd,0xfb};/*LED显示*/

不知道我的回答对你是否有些帮助?

 

 

 

 

 

 

 

 

 

 

 

 

回复

使用道具 举报

板凳
ID:21955 发表于 2011-3-13 13:33 | 只看该作者

谢谢,你的帮助 ,这是我的 QQ348440333,多交流,加我时,注上:"51单片机"

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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