欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機控制步進電機正反轉的proteus仿真與源碼 [打印本頁]

作者: LYH123    時間: 2018-5-2 20:15
標題: 51單片機控制步進電機正反轉的proteus仿真與源碼
51單片機用C實現控制步進電機正反轉
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  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)



作者: a1240197210    時間: 2018-12-5 22:05
ganxie
作者: chenfynh    時間: 2019-1-15 10:45
感謝分享,
作者: 哥的一把刀    時間: 2019-3-30 14:51
感謝分項哦,
作者: tyk2012    時間: 2019-4-3 15:42
感謝分享
作者: sjy123    時間: 2019-5-1 00:28
感謝分享
作者: 3九2七    時間: 2019-6-18 19:24
為啥我按開關電機不轉

作者: 1036951883    時間: 2019-11-25 09:13
太感謝了
作者: 不羈大康哥    時間: 2019-12-4 14:36
正需要。謝謝
作者: 壞牧羊人    時間: 2020-5-9 09:43
for(i=0;i<5*n;i++)  請問為什么要加這句啊
作者: 末末末么    時間: 2020-6-15 16:14
為什么反轉不動呢




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1