我在用用protues仿真单片机流水灯程序,但是调试了好多遍了,流水灯依旧不亮,希望有人帮一下。

代码:
#include<reg51.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void Delay_ms(uint xms) //延时程序,xms是形式参数
{
uint i, j;
for(i=xms;i>0;i--)
for(j=115;j>0;j--);
}
void main()
{
uchar led_data=0x7f;
// P0=0xff;
while(1)
{
P0=led_data;
Delay_ms(500); //延时0.5s
led_data=_cror_(led_data,1);//移位函数,使led_date向右循环移动1位
}
}

第1个回答  2012-12-13
我看你的仿真图中,51单片机P0口没有接上拉电阻,如果你不想加,可以换P2口进行实验!追问

我试了一下,依旧不亮。不知道还有没有其余的问题

追答

建议你用P2口!

追问

这样

追答

是的
,还是不行吗?

追问

嗯,万事具备啊,到底差什么?

追答

你加我百度HI

本回答被提问者采纳
第2个回答  2012-12-13

可能是仿真设置的问题,我看了 图没错,程序用KEIL运行也正常。加驱动试试,电路没错的,按你P0口的连接方式已经具备上拉功能了,应该是正常的。你连接的P2口已经正常仿真了,LED不亮你可以看看设置。