- 9
- 0
- 约1.13万字
- 约 30页
- 2016-05-24 发布于重庆
- 举报
实验9步进电机控制实验1207082107陈永超
《单片机原理与应用》实验报告
实验序号:09 实验项目名称: 步进电机控制实验
学 号 1207082107 姓 名 陈永超 专业、班 12物联网 实验地点 实验楼1#416 指导教师 许华荣 实验时间 一、实验目的
1.了解KEIL C51 集成开发环境及软件仿真;
2. 掌握单片机烧写方法;
3. 理解步进电机的工作原理;
4. 熟练步进电机的控制。
二、实验设备(环境)及要求
硬件:PC机,51单片机开发板;
软件:PC机操作系统windows XP,KEIL C51集成开发环境。
三、实验内容与步骤
参考书上的例程,三个按键K1、K2、K3和LED1、LED2、LED3及一个步进电机。按下K1,步进电机正传3圈,LED1灯亮。按下K2,步进电机反转3圈,K2灯亮。按下K3,步进电机停止,且LED3灯亮。
四、实验结果与数据处理
#include reg52.h
sbit Motor_A = P1^5; // 步进电机的A相位
sbit Motor_B = P1^6; // 步进电机的B相位
sbit Motor_C = P1^7; // 步进电机的C相位
sbit Motor_D = P3^5; // 步进电机的D相位
static unsigned char MotorRunPhase = 0;
/**********************************************
功能:
延时
输入参数:
n: 延时时长
输出参数:
无
返回值:
**********************************************/
//顺时针转:
void MotorRunCW(void)
{
/*电机是一拍一拍运转,我们用switch case 语句来实现*/
switch(MotorRunPhase)
{
case 0://第一拍
/*注意采用的是ULN2003,反相器*/
Motor_A = 1;
Motor_B = 0;
Motor_C = 0;
Motor_D = 0;
break;
case 1://第二拍
Motor_A = 1;
Motor_B = 1;
Motor_C = 0;
Motor_D = 0;
break;
case 2://第三拍
Motor_A = 0;
Motor_B = 1;
Motor_C = 0;
Motor_D = 0;
break;
case 3://第四拍
Motor_A = 0;
Motor_B = 1;
Motor_C = 1;
Motor_D = 0;
break;
case 4://第五拍
Motor_A = 0;
Motor_B = 0;
Motor_C = 1;
Motor_D = 0;
break;
case 5://第六拍
Motor_A = 0;
Motor_B = 0;
Motor_C = 1;
Motor_D = 1;
break;
case 6://第七拍
Motor_A = 0;
Motor_B = 0;
Motor_C = 0;
Motor_D = 1;
break;
case 7://第八拍
Motor_A = 1;
Motor_B
您可能关注的文档
最近下载
- 反应机理(研)-高等无机化学.ppt VIP
- 218SS-PKE 摩托车操作说明书.pdf
- 2025年高考甘肃卷物理真题.docx VIP
- 凯恩帝K1TBIII-A-As数控系统用户手册.pdf
- 杭州电子科技大学信息工程学院2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 第2章 有理数的运算(单元测试·培优卷)含答案-2024人教版七年级数学上册.pdf VIP
- 中考1600词汇对照表(英译汉).doc VIP
- 杭州电子科技大学2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 香农三大定理详解.ppt VIP
- 【初中物理】专项练习:物体的密度及其测定40题(附答案).pdf VIP
原创力文档

文档评论(0)