标题: 单片机uln2003按键控制步进电机正反转Proteus仿真程序 [打印本页]

作者: Mfb971016    时间: 2020-12-9 18:20
标题: 单片机uln2003按键控制步进电机正反转Proteus仿真程序
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机源程序如下:
  1. #include "reg51.h"
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. #define out  P2
  5. sbit pos=P0^0;
  6. sbit neg=P0^1;
  7. void delayms(uint);
  8. uchar code turn[]={0x07,0x06,0x0e,0x0c,0x0d,0x09,0x0b,0x03};
  9. uchar code turn1[]={0x02,0x06,0x04,0x0c,0x08,0x09,0x01,0x03};


  10. void main(void)
  11. {
  12.         uchar i;
  13.         out=0x03;
  14.         while(1)
  15.         {
  16.                 if(!pos)
  17.                 {
  18.                         //i = i < 8 ? i+1 : 0;
  19.                         if(i<8)
  20.                                 i=i+1;
  21.                         else
  22.                                 i=0;
  23.                         out=turn[i];
  24.                         delayms(1000);
  25.                 }
  26.                 else if(!neg)
  27.                 {
  28.                         i = i > 0 ? i-1 : 7;        
  29.                         out=turn[i];
  30.                         delayms(1000);
  31.                 }        
  32.         }
  33. }

  34. void delayms(uint j)
  35. {
  36.         uchar i;
  37.         for(;j>0;j--)
  38.           {
  39.                 i=250;
  40.                    while(--i);
  41.                    i=249;
  42.                    while(--i);
  43.            }
  44. }
复制代码

所有资料51hei提供下载:
JINBU.zip (52.94 KB, 下载次数: 53)






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1