找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2588|回復(fù): 1
收起左側(cè)

步進(jìn)電機(jī)正轉(zhuǎn) 51單片機(jī)程序

[復(fù)制鏈接]
ID:112317 發(fā)表于 2016-4-6 18:28 | 顯示全部樓層 |閱讀模式

正轉(zhuǎn),轉(zhuǎn)四相步進(jìn)電機(jī),每相間隔70ms。C51程序 51單片機(jī)通用
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uint time

  5. void timer1(void) interrupt 1 using 1{ //定時(shí)器0中斷,定時(shí)1ms//
  6. TH0=(65536-1000)/256;
  7. TL0=(65536-1000)%256;
  8. time++;
  9. }

  10. void delay(uint n){ //一般延時(shí)
  11. while(--n);
  12. }

  13. void delay(uint dtime){ //延時(shí)
  14. TR0=1;
  15. while(time<=dtime);
  16. time=0;
  17. TR0=0;
  18. }

  19. void moto(bit cf,uchar n,uint dtime){ //電機(jī)驅(qū)動(dòng)子程序,
  20. uchar idata zhpai[4]={0x78,0xb8,0xd8,0xe8};
  21. uchar idata fpai[4]={0xe8,0xd8,0xb8,0x78};
  22. uchar i,l=0;
  23. if(cf==0) //正轉(zhuǎn),A-B-C-A
  24. for(i=0;i<n;i++){
  25. P1=zhpai[l];//P1.7~1.4為輸出口,分別為A、B、C、D
  26. l++;
  27. delay(dtime);
  28. if(l==4)l=0;
  29. }
  30. else{ //反轉(zhuǎn),C-B-A-C
  31. for(i=0;i<n;i++){
  32. P1=fpai[l];
  33. l++;
  34. delay(dtime);
  35. if(l==4)l=0;
  36. }
  37. }
  38. }

  39. void main(){
  40. TMOD=0x01;
  41. TH0=(65536-1000)/256;
  42. TL0=(65536-1000)%256;
  43. EA=1;
  44. ET0=1;
  45. while(1){
  46. moto(0,4,70);//正轉(zhuǎn),轉(zhuǎn)四相,每相間隔70ms
  47. delay(10000);
  48. moto(1,4,70);//反轉(zhuǎn),轉(zhuǎn)四相,每相間隔70ms
  49. delay(10000);
  50. }
  51. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

ID:183396 發(fā)表于 2017-3-26 14:27 | 顯示全部樓層
C(22):錯(cuò)誤c237:“_delay”:功能已經(jīng)有了一個(gè)身體。       這是什么問題    求助
   
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表