mdsk.net
当前位置:首页 >> C语言编程流水灯利用protEus仿真只亮一个灯 >>

C语言编程流水灯利用protEus仿真只亮一个灯

没有任何问题如果你是第一次用proteus,那么我有理由怀疑你是LED用错了那个带箭头的发光LED是不会发光的,要用RGB那三种LED如图:用你的程序仿真的,能跑

#include<reg52.h>#include <intrins.h> void main() { unsigned int x,y; P1=0xfe; while(1) { P1=_crol_(P1,1); for(x=500;x>0;x--) for(y=113;y>0;y--); } } P1接二极管(低电平有效)每隔x毫秒流动一下(可改变x的值) 震荡周期为11.0592MHz 把上面的P1=0xfe;改为P1=0x01;!!!高电平也许要用上拉电阻!!

建议不要用AT89C51,因为程序太难擦写进去了,用STC89C51比较好,只用串口就可以写程序进去了.想做硬件有个办法:买以下材料.洞洞板,STC89C51,12M晶振,22pF的电容*2,10K电阻,10uF电容,按键开关一个,发光二极管*8,1K电阻*8,导线若干.找到原理图,把上面的元件正确焊接起来,通过串口把程序下载进去.OK!

好了,搞定啦!要花不少时间,有什么学习上的问题可以跟我讨论(一起学习!),或发现错误之处望指出(让我知道)原图和源代码我保留了,需要的联系QQ97055236 (请注明“我爱单片机”) proteus仿真电路图(以通过调试): C程

假设P1口接8个LED灯,通过灌电流驱动(即0亮1灭).编译器keilC代码如下:#include&lt;reg51.h&gt;#include&lt;intrins.h&gt; //包含循环左移函数 _cro_l头文件unsigned char tmp; //中间变量/////////////////////////////////////////////////////////////////////////////////////////

void delay_500ms() // 延时改一下吧 { unsigned int z,y; for(z=1000;z>0;z--) for(y=50;y>0;y--); }

keil与proteus模拟仿真流水灯

流水灯?1、控制管脚高低电平,也就是0或12、流水不就是一个1 其余0?交替点亮 3、走到头的时候记得加判断 置回到最初4、1秒?写个延时 或者用定时器

汇编: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV A,#0FEH MOV R2,#8 LOOP: MOV P0,A CLR C RLC A LCALL DELAY DJNZ R2,LOOP SJMP MAIN DELAY: MOV R3,#200 DLY: MOV R4,#250 DJNZ R4,$ DJNZ R3,DLY RET END C语

1. 首先纠正一下,根据图纸.你的单片机是ATmega8的,不是ATmega16的.请在确认. 2. 你用的C语言写的程序.所以要用GCCAVR(或者其他的编译器)编译好了以后才能使用.PROTEUS不支持AVR的C语言编译器的.只支持汇编编译器

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com