首页 实验九 控制直流电机正反转

实验九 控制直流电机正反转

举报
开通vip

实验九 控制直流电机正反转 幻德科技 http://www.wonderchen.cn/ 1 实验九 控制直流电机正反转 【实验目的】 1.熟悉 KEIL的开发环境。 2.了解下载程序的方式。 3.懂得直流电机驱动原理。 【实验设备】 1.安装有 KEIL开发环境及 STC_ISP下载程序的 PC。 2. 成套智能小车 【实验说明】 本实验通过编写程序。主要对电机进行简单控制,如正反转。 可以通过按键设置两电机的的工作方式。 【实验步骤】...

实验九  控制直流电机正反转
幻德科技 http://www.wonderchen.cn/ 1 实验九 控制直流电机正反转 【实验目的】 1.熟悉 KEIL的开发环境。 2.了解下载程序的方式。 3.懂得直流电机驱动原理。 【实验设备】 1.安装有 KEIL开发环境及 STC_ISP下载程序的 PC。 2. 成套智能小车 【实验说明】 本实验通过编写程序。主要对电机进行简单控制,如正反转。 可以通过按键设置两电机的的工作方式。 【实验步骤】 1.可以建立 KEIL的工程,编写控制代码,或者采用我们的参考 源代码,生成 HEX文件。 2.下载 HEX文件到单片机。 3.观察实验效果。 4.修改相关参数,观察实验效果。 【硬件连接】 请参考《成套智能小车组装说明书》。 【程序范例】 详细程序,请查看源代码。 幻德科技 http://www.wonderchen.cn/ 2 //实验九 控制直流电机正反转 //Wonder Technology //单片机采用 22.1184M晶振 #include //包含 STC12C5A系列单片机的头文件 #include"1602.h" sbit LED1=P3^0; //定义两只 LED到 P3^0,P3^1 sbit LED2=P3^1; sbit beed=P2^7; sbit KEY1=P3^6; sbit KEY2=P3^7; sbit EN1=P2^0; sbit IN1=P2^1; sbit IN2=P2^2; sbit EN2=P2^4; sbit IN3=P2^5; sbit IN4=P2^6; unsigned char pattern; //定义一个变量用于记录电机运行状态 /**************software delay****************/ void delay(unsigned long t) { unsigned int j,k; for(t;t>0;t--) for(j=10;j>0;j--) for(k=100;k>0;k--); } /**************otor control program**********/ void farward() //左电机向前 右电机向前 { IN1=1; IN2=0; IN3=1; IN4=0; EN1=1; EN2=1; } void backward() //左电机向后 右电机向后 { IN1=0; IN2=1; IN3=0; IN4=1; EN1=1; EN2=1; } 幻德科技 http://www.wonderchen.cn/ 3 void turn_left() //左电机停止 右电机向前 { IN1=0; IN2=0; IN3=1; IN4=0; EN1=1; EN2=1; } void turn_right() //左电机向前 右电机停止 { IN1=1; IN2=0; IN3=0; IN4=0; EN1=1; EN2=1; } void rotate_left() //左电机向后 右电机向前 { IN1=0; IN2=1; IN3=1; IN4=0; EN1=1; EN2=1; } void rotate_right() //左电机向前 右电机向后 { IN1=1; IN2=0; IN3=0; IN4=1; EN1=1; EN2=1; } void stop() //左电机停止 右电机停止 { EN1=0; EN2=0; } main(void) { LED1=1; //高电平 LED不亮 LED2=1; // P4SW=0xff; //定义 ALE PSEN 。。三个引脚为 P4.4 P4.5 P4.6 用于控制 1602显示 屏 幻德科技 http://www.wonderchen.cn/ 4 CLK_DIV=0x01; //系统分频工作,速度太快,1602控制不了。 LCM2402_Init(); // 初如化 1602显示屏 EA=1; print(0x00,"WonderTechnology"); //在第一行第一位处从左向右打印"WonderTechnology" 字符串 print(0x40,"pattern:"); print2(0x48,pattern); while(1) { if(KEY1==0) //按下第一按键 { while(!KEY1); stop(); delay(50); pattern++; if(pattern>=7) pattern=0; print2(0x48,pattern); } if(KEY2==0) //按下第二按键 { pattern=0; stop(); } switch(pattern) { case 0: stop(); break; case 1: farward(); break; case 2: backward(); break; case 3: turn_left(); break; case 4: turn_right(); break; case 5: rotate_left(); break; case 6: rotate_right(); break; default: break; } } } 【实验结果】 下载范例的程序,可以看到 1602液晶屏第二行显示“pattern:0”, 幻德科技 http://www.wonderchen.cn/ 5 此时两电机处于停止状态。当按下第一只按键时,两电机向前转,对 应液晶屏上显示“pattern:1”,继续按第一个按键,两电机进入下一 种工作方式,直到显示“pattern:6”后,再次按第一个按键,两电机 变为停止状态。运行的方式,对于小车来说,共 7 种:停止,前进, 后退,左拐,右拐,左转,右转。第任意一种状态下,只要按下第二 个按键,两电机加复到停止状态。 【实验扩展】 1. 修改相应的程序,可以让小车按顺序执行动作。如前进一 段时间;向左转;向前走;再右拐等。 2.在每种工作方式切换过程加入蜂鸣器叫声。如第种一种响一 下,第 5种响 5下。 3.更多效果自己修改参数并验证。
本文档为【实验九 控制直流电机正反转】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_560404
暂无简介~
格式:pdf
大小:132KB
软件:PDF阅读器
页数:5
分类:互联网
上传时间:2012-11-27
浏览量:172