帮小白看看哪出问题了
51单片机吧
全部回复
仅看楼主
level 6
#include <reg51.h>
#define uint unsigned int
void delay(uint t)
{register uint x,y;
for(x=t;x>0;x--)
for(y=255;y>0;y--); }//时间函数
void main(void)
{while(1)
{P0=0xfe;
delay(200);
P0=0xff;
delay(200);
}}
我写的这个单led闪烁程序哪错了,为什么仿真的时候led常亮。
2016年01月23日 09点01分 1
level 5
仿真的时间不对。改下延时
2016年01月23日 09点01分 2
改哪?[乖]
2016年01月23日 09点01分
仿真比实际时间快好多。把200直接改5000试试。 仿真不代表实际。
2016年01月23日 09点01分
还有p0要上拉。
2016年01月23日 09点01分
level 13
接错引脚了?赋值语句改成P0=~P0;试试
2016年01月23日 09点01分 3
没用额。
2016年01月23日 09点01分
level 6
是用multisim12仿真的
2016年01月23日 09点01分 4
先把单片机最小电路接好,晶振、复位、EA
2016年01月23日 10点01分
proteus不用搭最小系统,multi没用过
2016年01月24日 03点01分
level 6
图改成楼下的,delay(200)改成delay(5000)也没用额。
2016年01月23日 11点01分 5
level 6
2016年01月23日 11点01分 6
level 6
应该是程序哪出问题了,我用proteus仿真也一样的问题。
2016年01月23日 12点01分 8
level 3
你的延迟函数把register去掉试试!看看最经典的延迟函数例子!
2016年01月23日 12点01分 9
level 3
看看这个延迟函数试试
2016年01月23日 12点01分 10
嗯谢谢,有空试试。
2016年01月23日 12点01分
level 6
今天用1楼的代码又正常了,什么鬼。。。
2016年01月24日 07点01分 11
multisim还是有问题,proteus正常。
2016年01月24日 07点01分
1