1、因为 51 单片机的 IO 输出电流难以到达驱动电机,因此需要加一个驱动 IC(ULN2003 系列)驱动小型电机,需要注意的是 protues 仿真中 ULN2003 的输,出需要加上拉电阻,原理图如下,Nominalvoltage 额定电压,coilresistance 线圈电阻,coilinductance 电感线圈,zeroloadRPM 空载转速,Load/maxtorque%负载/最大扭矩,effectivemass 有效质量,下面的例子控制电机的转身用延时函数来,实现,程序如下:,找到了,章晓叹了一口气说道,是一本散文集。他小心翼翼地翻着书的扉页,includereg51.h,d
2、efineuintunsignedint,defineucharunsignedchar,voidmotor1();,voidmotor2();,voidmotor3();,voiddelay_ms(uint);,voiddelay_50us(uint);,voidkey();,sbitkey1=P32;/正转,sbitkey2=P33;/反转,sbitkey3=P34;/停止,ucharflag1;,ucharflag2;,找到了,章晓叹了一口气说道,是一本散文集。他小心翼翼地翻着书的扉页,ucharflag3;,voidmain(),while(1),key();,if(flag1=1),
3、flag1=1;,flag2=0;,flag3=0;,while(!key1);,if(key2=0)/反转,找到了,章晓叹了一口气说道,是一本散文集。他小心翼翼地翻着书的扉页,delay_ms(10);,if(key2=0),flag1=0;,flag2=1;,flag3=0;,while(!key2);,if(key3=0)/停止,delay_ms(10);,if(key3=0),找到了,章晓叹了一口气说道,是一本散文集。他小心翼翼地翻着书的扉页,flag1=0;,flag2=0;,flag3=1;,while(!key3);,voidmotor1()/正转,P0=0X01;,delay_
4、50us(1);/调速,voidmotor2()/反转,找到了,章晓叹了一口气说道,是一本散文集。他小心翼翼地翻着书的扉页,P0=0X02;,delay_ms(20);/调速,voidmotor3()/停止,P0=0X00;,delay_ms(200);/调速,voiddelay_ms(uintz)/ms 级延时子程序,uintx,y;,for(x=z;x0;x-),for(y=110;y0;y-);,找到了,章晓叹了一口气说道,是一本散文集。他小心翼翼地翻着书的扉页,voiddelay_50us(uintz)/50us 级延时子程,序,uchary;,for(;z0;z-),for(y=19;y0;y-);,51 单片机 protues 仿真学习(共 26 篇)上一,篇:继电器|下一篇:2 相 4 线直流电机,1cp0f4c9a 易博,