找回密码
 注册
关于网站域名变更的通知
查看: 157|回复: 2
打印 上一主题 下一主题

单片机通过串口控制 42步进电机的程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-7-5 10:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
42步进电机
- @1 h4 E% Q1 m. x必须要和驱动器正确连接后才可以使用. Y, v5 T+ m& a* C0 h5 {
单片机源程序如下:# w* D2 Z6 {7 s/ h
  • #include<reg52.h>
  • //??????
  • sbit CLK  = P1^0;
  • sbit ENA  = P1^1;
  • sbit DIR  = P1^2;
  • bit Run_Status=0;
  • bit CY_status=0;
  • unsigned int CYCLE=1,x=0,y=0;
  • unsigned int cy_count=0;
  • unsigned PWM_count=0;
  • void Init_time();
  • void Step(unsigned int );
  • void Ord(unsigned int );
  • void main()
  • {
  •         ENA=1;
  •         CLK=0;
  •         DIR=0;                   //?????
  •         TMOD=0X22;
  •         IP=0X10;
  •         Init_time();   //??????
  •         DIR=1;
  •         Step(1);
  •         DIR=0;
  •         Step(1);
  •         while(1);
  • }
  • void Init_time()                                 //??????
  • {
  •         TH0=(65536-CYCLE)/256;                  //?time0???
  •         TL0=(65536-CYCLE)%256;
  •         PCON=0X80;
  •         TH1=0XF3;
  •         TL1=0XF3;
  •   IE = 0x92;
  •         //PT1=1;                       //??time1??????time0
  •         TR0=1;                                         //??????
  •         TR1=1;
  •         REN=1;
  •         SM0=0;
  •         SM1=1;
  • }
  • void Enter_Timer0() interrupt 1                                //???????
  • {
  •         TH0=(65536-CYCLE)/256;
  •         TL0=(65536-CYCLE)%256;
  •         CLK=~CLK;
  •         PWM_count++;
  •         if(PWM_count==(2*cy_count)&&CY_status)
  •         {
  •                 PWM_count=0;
  •                 TR0=0;
  •                 ENA=0;
  •         }
  • }
  • void UART() interrupt 4
  • {
  •                          if(RI)
  •                          {
  •                                 RI = 0;
  •                                 x=SBUF;
  •                                 SBUF=x;
  •                           Ord(x);
  •                          }
  •                          if(TI)
  •                                 TI = 0;
  • }
  • /***********************??????*************************/
  • void Step(unsigned int step_count)
  • {
  •   IE = 0x92;
  •         PWM_count=0;
  •         CY_status=1;
  •         cy_count=step_count;
  •         ENA=1;
  •         TR0=1;
  • }
  • /*********************????????*************************/
  • void Ord(unsigned int order)
  • {
  •         if(order==0)
  •         {
  •         DIR=1;
  •         Step(1);
  •         DIR=0;
  •         Step(1);
  •     }
  •         if(order==3)
  •         {
  •          DIR=1;
  •          Step(60);
  •         }
  •         if(order==4)
  •         {
  •          DIR=0;
  •          Step(60);
  •         }
  •         if(order==5)
  •         {
  •          DIR=1;
  •          Step(2000);
  •         }
  •         if(order==6)
  •         {
  •          DIR=0;
  •          Step(2000);
  •         }
  • }
    , M; K+ @; P- u# L) O& m5 [- M4 U2 c
" }8 j0 l# l! l
8 A& \2 C( a6 \. k
  S3 e1 z: @9 h+ D5 X0 Q  w
) [: ?+ }5 d* r
清祥 普中 可用
; M/ i# M6 G5 k# F, m8 G2 \
$ k: C( {) E/ ?! |: i9 k. s  @, K; A$ A

该用户从未签到

2#
发表于 2022-7-5 13:37 | 只看该作者
温故而知新,帮别人解决问题,自己也能提升Thanks♪(・ω・)ノ

该用户从未签到

3#
发表于 2022-7-5 13:51 | 只看该作者
感谢楼主的默默付出
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-4 17:53 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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