#include<reg51.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } void main() { P0=0xfe; while(1) {P0=_crol_(P0,1); DelayMS(150);
} }
这是改过的 但问题跟刚刚一样 还是不亮
可是确实有生成的hex文件啊 程序应该怎么改呢??
追答你是想做成流水灯 led电亮是从左至右依次点亮对不对
追问恩恩 对 帮帮忙
追答给你说一个思路吧,第一次点亮第一led灯,然后延时,在点亮第二个led灯,在延时,再点亮第3个led灯 就这样依次循环
追问可是具体我应该怎么改呢 能不能帮我改一下 谢谢了
追答你先定义一个数组 把点亮led的值放进去,然后再来一个for循环,每循环一次就把数组里面的值送一个进去,,再把电阻改小一点 10k,太大了,
关于单片机流水灯 为什么我的灯都不亮啊??与proteus联调时还说代码没...
这个函数=_crol_在哪里 很明显你的HEX文件没有生成,而且你的二极管负端全部都接的高电平,按照你这种接法 必须让你二极管的正端的电压高于VCC,那是不可能的。所以你重新看哈hex文件是否生成,再把二极管换过来
用proteus做的流水灯,很简单的,怎么不亮呀?
3、应该将电阻接地端改为接电源,LED负极接P0口,这样,输出低电平时,LED正常发光。检查一下单片机的晶振和复位电路,看看单片机是否工作了。用Proteus仿真时,单片机的RST复位引脚是不起作用的,即在RST引脚加高电平,单片机也不会复位的,要实现相当于复位的功能,可以在某个I\/O引脚加一个按钮,当这个...
大家好,我现在用proteus作at89c51的“从左到右的流水灯实验”,但不知...
1、P0口如果不加上拉电阻的话是高阻态,这是没办法识别高低电平的,也就是无论你对P0赋什么值,它都不会出现0或1的结果。解决办法:加一个10K的上拉排阻到P0口。2、图中你的P0口和LED并没有真正连接上吧,你用了总线的接法,但是没有用网络连接的方式将LED连接到对应的IO。解决方法:点击Prot...
单片机proteus 的8位流水灯,LED灯不亮,只是旁边的小点亮,怎么回事啊...
1.二极管支路中的电阻,阻值太大了,应改成 470欧姆~1K左右。2.二极管,你画的方向,是向右的,那么,左边就不应该接地了,应该接上+5V。
学习单片机是用成品的开发板好还是用面包板自己安装好?
这时你需要额外学习电路设计方面的知识,比如新手很容易忘记使用下拉电阻之类的事……然后,当你制作一些小设备去使用时,面包板也是无法满足需要的,你可能需要打孔板,就是那种一小块电路板,上面密密麻麻的都是铜“中文句号”的那种电路板,它让你能制作一个“凑合”的电路,你在一面旋转电子元件,另...
...Led的流水灯的单片机程序 希望是能够仿真运行的啊!急求
你的LED用错模型了,要用LED-RED 那几个后面带颜色的。include<reg51.h> include<intrins.h> define uint unsigned int define uchar unsigned char uchar i,j;void delay(uint ms){ uchar k;while(ms--)for(k=0;k<123;k++);} void main(){ while(1){ i=0xfe;for(j=0;j<7;j++...