单片机 大神帮我看下为什么我的这个控制一个LED灯闪烁,为什么在仿真实现不了~

是程序写错了还是仿真图有问题,在仿真图里,单片机工作的的一些电源,时钟,复位默认都是有的啊,可以不画的啊!
下面是LED灯的属性~

这个是程序#include<reg51.h> //包含单片机寄存器的头文件/****************************************函数功能:延时一段时间*****************************************/void delay(void) //两个 void 意思分别为无需返回值,没有参数传递{unsigned int i; //定义无符号整数,最大取值范围 65535for(i=0;i<20000;i++) //做 20000 次空循环; //什么也不做,等待一个机器周期}/*******************************************************函数功能:主函数 (C 语言规定必须有也只能有 1 个主函数)********************************************************/void main(void){while(1) //无限循环{P1=0xfe; //P1=1111 1110B, P1.0 输出低电平delay(); //延时一段时间P1=0xff; //P1=1111 1111B, P1.0 输出高电平delay(); //延时一段时间}}

    P1.0口加上270Ω上拉电阻,P1口是准双向口不能输出电流

    先将delay的时间变短一些,或去掉delay看看。计算机仿真的速度没那么快。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-13
发光二极管电路上应串连一个限流电阻,阻值根据P1.0管脚输出高电平的最大输出电流、电压来计算。
第2个回答  2014-02-12
换一个发光二极管吧。

这个不合适。
第3个回答  2014-02-13

我用你图中的元器件、你的程序仿真了一下,都没错啊。或者你可以把你的仿真文档发过来,我给你查看一下。

本回答被提问者采纳
相似回答