AT89S52的问题.

[复制链接]
2578|9
 楼主| 懒懒的石块 发表于 2008-4-21 17:00 | 显示全部楼层 |阅读模式
弱弱的问大家一个问题.
我现在碰到了个问题,我们单位设计好了板子,现在用了LED来测试下.
但是写好了程序之后,出现了问题.
程序烧进去了之后,LED出现了不亮的问题.
我将程序,写出来给大家看看.

#include <reg52.h>
#include <stdlib.h>
#include <math.h>
#include <intrins.h>



#define uchar unsigned char
#define uint unsigned int
sfr WDTRST = 0xA6;

unsigned char  com,dat;

 unsigned char xdata h1add _at_ 0xff7f;

nitWD(void)
{
_nop_();
WDTRST=0x1E;
WDTRST=0xE1;//初始化看门狗。
         }

     void LongDelay(uint i)
{
    uint j;
    for(;i>0;i--)
        { for(j=1000;j>0;j--);}
    }




void main(void)
{
 h1add=0xff;
         
P0=h1add;    
}

LED的片选信号为FF7F
czha1 发表于 2008-4-21 17:39 | 显示全部楼层

c不懂

c不懂
qjy_dali 发表于 2008-4-21 18:05 | 显示全部楼层

操作存贮器空间的方法不对

  看一下生成的汇编代码你就知道了。C51定义了几个操作存贮器空间的宏,要用那些宏。很明显LZ对C51不是很熟悉,你现在的操作是GPIO操作,不是存贮器操作,无法生成MOVX
3.3v 发表于 2008-4-21 18:49 | 显示全部楼层

main里面加个什么while之类的也许能解决你的问题

mohanwei 发表于 2008-4-21 19:07 | 显示全部楼层

用XBYTE[]吧

myfaith 发表于 2008-4-21 19:14 | 显示全部楼层

#define h1add XBYTE[0xff7f]访问外部存储器

P0要接上拉电阻才亮
 楼主| 懒懒的石块 发表于 2008-4-22 09:54 | 显示全部楼层

谢谢qjy_dali mohanwei myfaith 我的问题就是这个.

谢谢大家了,我的问题已经解决了.就象大家说的一样.
主要我是新人.不是很懂的。
qjy_dali 发表于 2008-4-22 11:43 | 显示全部楼层

存贮器操作方式时,P0不需要上拉电阻

gyt 发表于 2008-4-22 12:38 | 显示全部楼层

解决了就好:)

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

本版积分规则

6

主题

15

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部