• 大小: 36KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签:

资源简介

51单片机驱动86及57步进电机,可配合红外或者按键实现步进电机的转动

资源截图

代码片段和文件信息

/***********************************************
程序功能:水果采摘装置电机驱动,当红外传感器检测
  到若干个苹果后,驱动电机转动一定角度。
详情简介:程序先进行电机、定时器、中断初始化,之
  后进行扫描按键/苹果,扫描一定数目后,开
  始转动一定角度,供果农收纳。
更新时间:2018.3.21
************************************************/
#include “reg52.h“
#define uint unsigned int 
#define uchar unsigned char

void delay(uint z);
void Key_Scan(void);
void Motor_Init(void);

sbit EN=P3^0;      //电机使能 
sbit DIR=P3^1;    //电机方向
sbit PUL=P3^2;    //脉冲

sbit KEY1=P3^3;   


uint CYCLE=0Pulse=0;  //定时器周期 脉冲数
uchar APPLE=0; //检测到苹果数目  
/****************************
函数名:main
函数参数:无
函数返回值:无
函数功能:水果收纳装置电机驱动
*****************************/
void main(void)
{
Motor_Init();
while(1)
{
Key_Scan();
}
}
/****************************
函数名:delay
函数参数:z
函数返回值:无
函数功能:延时函数
  当Z为1000是大约1秒
*****************************/
void delay(uint z)
{
uint ij;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
/****************************
函数名:Motor_Init
函数参数:无
函数返回值:无
函数功能:电机、定时器、中断初始化
*****************************/
void Motor_Init()
{
EN=1;  //电机使能 
DIR=1;  //电机方向
PUL=0;  //脉冲   

EA = 1;       //开总中断
CYCLE=1800;   //脉冲频率 定时器设置 10ms in 12M crystal 即100Hz
TMOD |=0x01;   //工作方式
TH0=(65536-CYCLE)/256; 
TL0=(65536-CYCLE)%256;
ET0  = 1;      //使能T0中断
TR0  = 0;      //关闭定时器

}
/****************************
函数名:Key_Scan
函数参数:无
函数返回值:无
函数功能:按键扫描函数
  检测按下4次后触发电机旋转
*****************************/
void Key_Scan(void)
{
if(KEY1==0)
{
delay(10);
if(KEY1==0)
{
APPLE++;
if(APPLE==1)
{
APPLE=0;
TR0=1;   //开定时器中断
}
}
}
while(KEY1==0);
}

/****************************
函数名:Time0_ISR
函数参数:无
函数返回值:无
函数功能:定时器中断函数
*****************************/
void Time0_ISR() interrupt 1 
{
  TH0=(65536-CYCLE)/256; 
  TL0=(65536-CYCLE)%256;

  PUL = ~PUL; //取反实现脉冲变化
  Pulse++;   //脉冲数算角度
  if(Pulse==800) 
  {
Pulse=0;
TR0=0;
  }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-07 20:30  步进电机驱动\
     文件        6376  2009-05-07 14:37  步进电机驱动\STARTUP.A51
     文件       14048  2017-10-06 20:23  步进电机驱动\STARTUP.LST
     文件         758  2017-10-06 20:23  步进电机驱动\STARTUP.OBJ
     文件        2326  2018-04-07 20:27  步进电机驱动\步进.c
     文件        5588  2018-04-07 20:27  步进电机驱动\步进.LST
     文件        4256  2018-04-07 20:27  步进电机驱动\步进.OBJ
     文件          34  2018-04-07 20:27  步进电机驱动\步进.__i
     文件        4718  2018-04-07 20:27  步进电机驱动\步进电机
     文件        2196  2018-04-07 20:27  步进电机驱动\步进电机.hex
     文件          60  2018-04-07 20:27  步进电机驱动\步进电机.lnp
     文件        8195  2018-04-07 20:27  步进电机驱动\步进电机.M51
     文件         343  2018-04-07 20:30  步进电机驱动\步进电机.plg
     文件       73001  2018-04-07 20:30  步进电机驱动\步进电机.uvopt
     文件       13410  2018-03-21 16:45  步进电机驱动\步进电机.uvproj
     文件       73001  2018-04-04 21:38  步进电机驱动\步进电机_uvopt.bak
     文件       13406  2017-10-06 20:23  步进电机驱动\步进电机_uvproj.bak

评论

共有 条评论

相关资源