找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10213|回复: 10
收起左侧

51单片机控制步进电机正反转的proteus仿真与源码

  [复制链接]
ID:320732 发表于 2018-5-2 20:15 | 显示全部楼层 |阅读模式
51单片机用C实现控制步进电机正反转
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
0.png 0.png

单片机源程序如下:
  1.   #include<reg52.h>
  2. #define uint  unsigned int
  3.         #define uchar unsigned char //------8拍-----  
  4.         uchar code zz[]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};   //正转
  5.          uchar code fz[]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};    //反转   
  6. void delay(uint ms)
  7. {  uint t;  
  8. while(ms--)   
  9. for(t=0;t<120;t++);
  10. }  
  11. void motor_zz(uint n)
  12. {  uint i,j;  
  13. for(i=0;i<5*n;i++)
  14. {   for(j=0;j<8;j++)  
  15. {    if(P3==0xfb)   
  16.   break;   
  17. P1=zz[j];   
  18. delay(20);   
  19. }   
  20. }
  21. }   
  22. void motor_fz(uint n)
  23. {  uint i,j;  
  24. for(i=0;i<5*n;i++)  
  25. {
  26. for(j=0;j<8;j++)
  27. {if(P3==0xfb)
  28. break;
  29. P1=fz[j];
  30. delay(20);

  31. }
  32. }
  33. }

  34. void main()
  35. {
  36. uint N=3;
  37. while(1)
  38. {
  39. P3=0xff;
  40. if(P3==0xfe)
  41. {while(P3==0xfe);
  42. P0=0xfe;
  43. motor_zz(N);
  44. if(P3==0xfb)

  45. break;
  46. }

  47. else if(P3==0xfd)
  48. {
  49. while(P3==0xfd);
  50. P0=0xfd;
  51. motor_fz(N);
  52. if(P3==0xfb)

  53. break;}
  54. else
  55. {


  56. P0=0xfb;
  57. P1=0x03;
  58. }
  59. }
  60. }
复制代码

所有资料51hei提供下载:
51控制步进电机正反转.rar (15.84 KB, 下载次数: 336)
回复

使用道具 举报

ID:440478 发表于 2018-12-5 22:05 | 显示全部楼层
ganxie
回复

使用道具 举报

ID:383856 发表于 2019-1-15 10:45 | 显示全部楼层
感谢分享,
回复

使用道具 举报

ID:501176 发表于 2019-3-30 14:51 | 显示全部楼层
感谢分项哦,
回复

使用道具 举报

ID:431364 发表于 2019-4-3 15:42 | 显示全部楼层
感谢分享
回复

使用道具 举报

ID:525417 发表于 2019-5-1 00:28 | 显示全部楼层
感谢分享
回复

使用道具 举报

ID:566057 发表于 2019-6-18 19:24 | 显示全部楼层
为啥我按开关电机不转
回复

使用道具 举报

ID:648806 发表于 2019-11-25 09:13 | 显示全部楼层
太感谢了
回复

使用道具 举报

ID:655937 发表于 2019-12-4 14:36 来自手机 | 显示全部楼层
正需要。谢谢
回复

使用道具 举报

ID:742297 发表于 2020-5-9 09:43 | 显示全部楼层
for(i=0;i<5*n;i++)  请问为什么要加这句啊
回复

使用道具 举报

ID:778414 发表于 2020-6-15 16:14 | 显示全部楼层
为什么反转不动呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表