#include"reg52.h"
#include"intrins.h"
#define uchar unsigned char
sbit EN=P1^0;
sbit CW=P1^1;
sbit CLK=P1^2;
sbit HOT=P1^3;
sbit RES=P1^4;
sbit key1=P0^0; //启动电机
sbit key2=P0^1; //关闭电机
sbit key3=P0^2; //电机正转
sbit key4=P0^3; //电机反转
sbit key5=P0^4; //加速转动
sbit key6=P0^5; //减速转动
uchar sykey=0;
#define T_50MS (65536 - (12000000/ (12 * 20)))
#define T_50MS_H ((T_50MS+18) / 256)
#define T_50MS_L ((T_50MS+18) % 256)
#define T_10MS (65536 - (12000000/ (12 * 100)))
#define T_10MS_H ((T_10MS+18) / 256)
#define T_10MS_L ((T_10MS+18) % 256)
/****************************************************************
* 函数名称:delay() *
* 函数功能:延时 *
* 入口参数:无 *
* 返 回 值:无 *
* 描 述: *
****************************************************************/
void delay(void)
{
uchar i;
for(i=300;i>0;i--);
}
/****************************************************************
* 函数名称:timer(uchar a,uchar b) *
* 函数功能:定时 *
* 入口参数:a,b定时初值 *
* 返 回 值:无 *
****************************************************************/
void timer(uchar a,uchar b)
{
TMOD=0x01;
TH0=a;
TL0=b;
TF0=0;
TR0=1;
while(!TF0);
TR0=0;
}
/****************************************************************
* 函数名称:start() *
* 函数功能:电机工作 *
* 入口参数:无 *
* 返 回 值:无 *
****************************************************************/
void start(void)
{
int i,j;
RES=1;
delay();
P1=0x00;
delay();
for(i=9;i>1;i--)
{
CLK=1;
timer(T_10MS_H,T_10MS_L);
timer(T_10MS_H,T_10MS_L);
for(j=i/2;j>0;j--)
{
timer(T_10MS_H,T_10MS_L);
timer(T_10MS_H,T_10MS_L);
}
}
while(1)
{
CLK=1;
timer(T_10MS_H,T_10MS_L);
timer(T_10MS_H,T_10MS_L);
CLK=0;
timer(T_10MS_H,T_10MS_L);
timer(T_10MS_H,T_10MS_L);
// timer(T_50MS_H,T_50MS_L);
/* if(P0&0x3F!=0x3F)
{
delay();
if(P0&0x30!=0x30)
sykey=P0;
switch(sykey)
{
case (0x3E):P0=0x10;break;
case (0x3B):CW=1;break;
case (0x38):CW=0;break;
default :break;
}
}*/
}
}
/*************************************************
主函数
*************************************************/
void main(void)
{
P1=0x0F;
P0=0x3F;
start();
/*do
{
if(key1==0)
{
delay(); //按键去抖动
if(key1==0)
start();
}
} while(1); */
}
bujindianji.rar_bujindianji_步进电机_速度 MSP430
版权申诉
138 浏览量
2022-09-19
19:13:00
上传
评论
收藏 3KB RAR 举报
![avatar](https://profile-avatar.csdnimg.cn/6a7aa99d23544fe38965063dcf203f49_weixin_42664597.jpg!1)
小贝德罗
- 粉丝: 71
- 资源: 1万+
最新资源
- 基于jsp+servlet+mysql蛋糕甜品店购物网站源码+数据库(期末大作业).zip
- Java项目:在线蛋糕商城系统(java+jsp+mysql)源码+数据库+期末大作业.zip
- ZapyaClient10_7-1.apk
- 织梦cms站长导航网站源码.zip
- 基于SSM+MySQL的网络投票调查问卷系统源码+数据库(java期末大作业).zip
- 基于jsp+servlet的宠物商城网站系统源码+数据库(java期末大作业).zip
- 基于Python+Tensorflow实现声纹识别+源代码+文档说明.zip
- java-leetcode题解之第112题路径总和.zip
- java-leetcode题解之第111题二叉树的最小深度.zip
- java-leetcode题解之第110题平衡二叉树.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)