资源简介
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
- 上一篇:Gambit 无限期 可导入模型 证书
- 下一篇:骆驼wrl模型
评论
共有 条评论