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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
42步进电机9 U2 m) a/ O. m: I- L
必须要和驱动器正确连接后才可以使用
9 _- E3 b2 G6 X; R' y单片机源程序如下:0 z/ O: H" m$ _" m" N
  • #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);
  •         }
  • }0 X7 D" u6 T3 i; e3 C# r3 W

0 S. F" ]& j3 x# g+ D9 e8 T( {# X6 ?. F& W  W: m

9 s% A3 A. K# C  O+ J* }! V' }* A. h, I4 [5 g
清祥 普中 可用
7 l% b) N0 K0 n% a, h: [0 Z
" Z# v* m( Z7 h+ ^
5 a  n8 L, i5 p6 \

该用户从未签到

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

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-13 04:52 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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