电子产业一站式赋能平台

PCB联盟网

搜索
查看: 2123|回复: 1
收起左侧

求助,0基础做毕设

[复制链接]

578

主题

858

帖子

4821

积分

四级会员

Rank: 4

积分
4821
发表于 2023-5-20 22:12:47 | 显示全部楼层 |阅读模式
想做一个用定时器控制步进电机转速的毕设,编译没问题,不知道为什么硬件不运行,硬件没问题,求各位大大们指教
求助,0基础做毕设-1.jpg
回复

使用道具 举报

0

主题

825

帖子

683

积分

二级会员

Rank: 2

积分
683
发表于 2023-5-20 22:13:43 | 显示全部楼层
这是我写的
#include "reg52.h"


typedef unsigned int u16; //对系统默认数据类型进行重定义
typedef unsigned char u8;


sbit IN1_A=P1^0;
sbit IN2_B=P1^1;
sbit IN3_C=P1^2;
sbit IN4_D=P1^3;
sbit KEY1=P3^1;
sbit KEY2=P3^0;
sbit KEY3=P3^2;
sbit KEY4=P3^3;


#define KEY1_PRESS 1
#define KEY2_PRESS 2
#define KEY3_PRESS 3
#define KEY4_PRESS 4
#define KEY_UNPRESS 0
#define STEPMOTOR_MAXSPEED        1  
#define STEPMOTOR_MINSPEED        5


void delay_10us(u16 ten_us)
{
while(ten_us--);
}


void time0_init(void)
{
TMOD|=0X01;//选择为定时器0模式,工作方式1
TH0=0X4c; //给定时器赋初值,定时1ms
TL0=0X00;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
}


void step_motor_28BYJ48_send_pulse(u8 step,u8 dir)
{
u8 temp=step;

if(dir==0) //如果为逆时针旋转
temp=7-step;//调换节拍信号
switch(temp)//8个节拍控制:A->AB->B->BC->C->CD->D->DA
{
case 0: IN1_A=1;IN2_B=0;IN3_C=0;IN4_D=0;break;
case 1: IN1_A=1;IN2_B=1;IN3_C=0;IN4_D=0;break;
case 2: IN1_A=0;IN2_B=1;IN3_C=0;IN4_D=0;break;
case 3: IN1_A=0;IN2_B=1;IN3_C=1;IN4_D=0;break;
case 4: IN1_A=0;IN2_B=0;IN3_C=1;IN4_D=0;break;
case 5: IN1_A=0;IN2_B=0;IN3_C=1;IN4_D=1;break;
case 6: IN1_A=0;IN2_B=0;IN3_C=0;IN4_D=1;break;
case 7: IN1_A=1;IN2_B=0;IN3_C=0;IN4_D=1;break;
default: IN1_A=0;IN2_B=0;IN3_C=0;IN4_D=0;break;//停止相序
}
}


void main()
{

time0_init();//定时器0中断配置


while(1)
{

}
}








   void delay_ms(u16 ms)
{
u16 n,j;
for(n=ms;n>0;n--)
for(j=110;j>0;j--);
}


void time0() interrupt 1 //定时器0中断函数
{ u8 key=0;
u8 dir=0;//默认逆时针方向
u8 speed=STEPMOTOR_MAXSPEED;//默认最大速度旋转
u8 step=0;
static u16 i;//定义静态变量i
TH0=0X4c;
TL0=0X00;
i++;
if(i==200)
{ if(speed<STEPMOTOR_MINSPEED)
speed=5;

}

if(i==400)
{
i=0;




}

if(i<200)
{
if(speed>STEPMOTOR_MAXSPEED)
   speed=1;




}
step_motor_28BYJ48_send_pulse(step++,dir);
if(step==8)step=0;
delay_ms(speed);
}
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表