第一篇:单片机课程设计任务书(步进电机控制)
湖北工程学院新技术学院课程设计任务书
课程单片机原理及仿真课程设计
题目单片机控制步进电机
专业姓名学号
主要内容、基本要求、主要参考资料等
1、主要内容:
根据单片机课程所学内容,结合其他相关课程知识,设计步进电机控制,以加深对单片机知识的理解,锻炼实践动手能力,为以后的毕业设计和工作打下坚实基础。
2、基本要求:
本设计以MCS-51系列单片机为核心,采用常用电子器件设计。根据要求设计一个单片机仿真控制,要求:设计一个数码管;一个外中断通过门电路连接五个按键,这五个按键分别控制步进电机的正转反转暂停、加速与减速;正转时,数码管上显示‘Z’,反转时显示“F”,暂停时显示“S”,按加速键时,电机加速,按减速键时,电机减速。
(1)用PROTOUS设计出步进电机控制工作原理实验电路图
(2)通过对AT89S51单片机编程,编写定步进电机控制程序,实现用步进电机控制。
(3)上交相应仿真的电路图与编程文档。
(4)写出详细的设计原理说明小论文。
3、主要参考资料:
[1] 李泉溪,倪水平.单片机原理与应用实例仿真.北京:北京航空航天大学出版社,2012.[2] 张友德,赵志英,徐时亮.单片微机原理应用与实验.上海:复旦大学出版社,2010.[3] 单片机仿真实验系统说明书.完成期限
指导教师
2012年12月2 日
第二篇:单片机实验报告_步进电机
步进电机控制实验
一、实验目的
了解步进电机的工作原理,掌握它的转动控制方式和调速方法。
二、实验设备及器件
IBM PC 机 一台
DP-51PROC 单片机综合仿真实验仪 一台
三、实验内容
1.编写程序,通过单片机的P1 口控制步进电机的控制端,使其按一定的控制方式进行转动。
2.分别采用双四拍(AB→BC→CD→DA→AB)方式、单四拍(A→B→C→D→A)方式和单双八拍(A→AB→B→BC→C→CD→D→DA→A)方式编程,控制步进电机的转动方向和转速。
3.观察不同控制方式下,步进电机转动时的振动情况和步进角的大小,比较这几种控制方式的优缺点。
四、实验要求
学会步进电机的工作原理和控制方法,掌握一些简单的控制电路和基本的电机基础知识。
五、实验步骤
1.安装C10 区JP6 接口上的短路帽,将C10 区BA、BB、BC、BD与A2 区的P10~P13对应相连。
2.打开程序调试软件,下载运行编写好的软件程序,观察步进电机的转动情况。
3.修改步进电机的控制程序,再次运行程序,比较它们的不同控制效果。
六、实验程序
#include
sbit K7=P2^7;//1正转0反转
#define Coil_A1 {A1=0;B1=1;C1=1;D1=1;}//A相通电,其他相断电,低电平有效,若你的驱动电路是高电平有效则改为(1,0,0,0)
#define Coil_B1 {A1=1;B1=0;C1=1;D1=1;}//B相通电,其他相断电 #define Coil_C1 {A1=1;B1=1;C1=0;D1=1;}//C相通电,其他相断电 #define Coil_D1 {A1=1;B1=1;C1=1;D1=0;}//D相通电,其他相断电 #define Coil_AB1 {A1=0;B1=0;C1=1;D1=1;}//AB相 #define Coil_BC1 {A1=1;B1=0;C1=0;D1=1;}//BC相 #define Coil_CD1 {A1=1;B1=1;C1=0;D1=0;}//CD相 #define Coil_DA1 {A1=0;B1=1;C1=1;D1=0;}//DA相 #define Coil_OFF {A1=1;B1=1;C1=1;D1=1;}//全部断电 unsigned char Speed;void DelayUs2x(unsigned char t){
while(--t);} void DelayMs(unsigned char t)
{
while(t--){
//大致延时1mS
DelayUs2x(245);
DelayUs2x(245);} } //******************************************************************************* void danshuangbapai(unsigned char Sp){ Coil_A1
DelayMs(Sp);
Coil_AB1
DelayMs(Sp);
Coil_B1
DelayMs(Sp);
Coil_BC1
DelayMs(Sp);
Coil_C1
DelayMs(Sp);
Coil_CD1
DelayMs(Sp);
Coil_D1
DelayMs(Sp);
Coil_DA1
DelayMs(Sp);} void danshuangbapaif(unsigned char Sp){
Coil_DA1
DelayMs(Sp);
Coil_D1
DelayMs(Sp);
Coil_CD1
DelayMs(Sp);
Coil_C1
DelayMs(Sp);
Coil_B1
DelayMs(Sp);
Coil_AB1
DelayMs(Sp);
Coil_A1
DelayMs(Sp);} void dansipai(unsigned char Sp){
Coil_A1
DelayMs(Sp);
Coil_B1
DelayMs(Sp);
Coil_C1
DelayMs(Sp);
Coil_D1
DelayMs(Sp);} void dansipaif(unsigned char Sp){
Coil_D1
DelayMs(Sp);
Coil_C1
DelayMs(Sp);
Coil_B1
DelayMs(Sp);
Coil_A1
DelayMs(Sp);} void shuangsipai(unsigned char Sp){ Coil_AB1 DelayMs(Sp);Coil_BC1 DelayMs(Sp);Coil_CD1 DelayMs(Sp);Coil_DA1 DelayMs(Sp);} void shuangsipaif(unsigned char Sp){ Coil_DA1 DelayMs(Sp);Coil_CD1 DelayMs(Sp);Coil_BC1 DelayMs(Sp);Coil_AB1 DelayMs(Sp);}
//******************************************************************************* void main(void){ while(1){ if(K0==1)//最低速
Speed=20;if(K1==1)Speed=15;if(K2==1)Speed=10;if(K3==1)//最高速
Speed=5;if(K4==1&&K7==1)//单双八拍正
danshuangbapai(Speed);if(K4==1&&K7==0)//单双八拍反
danshuangbapaif(Speed);if(K5==1&&K7==1)//单四拍正
dansipai(Speed);if(K5==1&&K7==0)//单四拍反
dansipaif(Speed);if(K6==1&&K7==1)//双四拍正
shuangsipai(Speed);if(K6==1&&K7==0)//双四拍反
shuangsipaif(Speed);if((K3==0&&K2==0&&K1==0&&K1==0))Speed=0;} }
七、实验结果
如图所示接线,并且在完成程序的编译和烧录后,单片机上的步进电机开始转动,改变相应的延时和完成的方式,步进电机的转动情况会发生一定的改变,也可以通过P口将步进电机的输入反映到LED灯上,这样就可以观察步进电机的工作原理。
八、调试中遇到的问题与解决办法
步进电机是通过给每个端口输入不同的位置,让电机在每个时刻所在的位置不同,然后通过循环实现转动的。如果将循环的次数加以控制,或者将延时边长,就可以看出或者是计算出不同的方式,步进电机每一拍的转动情况,例如单双八拍的步进电机,每一怕所转动的角度就是9度。
九、心得体会 通过这次实验,掌握了单片机步进电机的工作原理和他的几种不同的工作方式,并且对他的不同工作方式的差异有了自己的想法。
第三篇:单片机课程设计任务书
“单片机课程设计”任务书
一、设计目的通过该课程设计,主要达到以下目的:
①使学生增进对单片机系统的感性认识,加深对单片机理论方面的理解,为顺利完成毕业设计打基础。
②使学生掌握对单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口和串行口通讯等。
③进一步深化和巩固所学基础理论、专业知识及实验技能,提高学生的技术应用能力,使学生了解和掌握单片机应用系统的软、硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。
④进一步深化和巩固所学基础理论、专业知识及实验技能,提高学生的技术应用能力,使学生了解和掌握单片机应用系统的软、硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。
⑤这一环节对掌握单片机技术在生产实践中的应用,对后续专业课程的学习及对培养造就应用型、创造型的工程技术人才将起到较大的促进作用。
⑥培养学生综合运用所学专业知识分析问题和解决问题的能力。使学生在树立正确的人生观、养成严谨、踏实的工作作风等思想素质方面受到教育和培养。
二、设计要求
①巩固和加深对单片机原理和接口技术知识的理解;
②培养学生根据课题需要选学参考书籍、查阅手册和文献资料的能力;③学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;④掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法。⑤了解与课题有关的硬件元器件的工程规范,能按课程设计任务书的要求编写课程设计说明书,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。
三、设计条件
Protues软件,keil软件,电脑。
四、设计所需参考资料
五、设计的具体任务及进度安排
① 查资料、审题 1天;
② 确定系统总体方案 1天;
③ 确定系统硬件电路图(包括设备模块选择、搭接线路、计算参数等)1天;
④ 绘制系统软件框图,编制程序 1天;
⑤ 系统调试,撰写课程设计报告及答辩 1天。
六、指导方法与步骤
集中讲解原理及设计报告的撰写。平时设计时对每个小组进行具体指导。设计完成后教研室组织答辩。
七、可培养和锻炼哪种能力
使学生掌握对单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口和串行口通讯等。进一步深化和巩固所学基础理论、专业知识及实验技能,提高学生的技术应用能力,使学生了解和掌握单片机应用系统的软、硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。
八、教研室评审意见
九、院审核意见
教研室主任主管院长年月年月日日
第四篇:单片机课程设计任务书
单片机课程设计任务书
题目:基于单片机的温度数据采集系统设计
一.设计要求
1.被测量温度范围:0~500℃,温度分辨率为0.5℃。
2.被测温度点:4个,每2秒测量一次。
3.显示器要求:通道号1位,温度4位(精度到小数点后一位)。
显示方式为定点显示和轮流显示。
4.键盘要求:
(1)定点显示设定;(2)轮流显示设定;(3)其他功能键。
二.设计内容
1.单片机及电源管理模块设计。
单片机可选用AT89S51及其兼容系列,电源管理模块要实现高精密稳压输出,为单片机
及A/D转换器供电。
2.传感器及放大器设计。
传感器可以选用镍铬—镍硅热电偶(分度号K),放大器要实现热电偶输出的mV级信号
到A/D输入V级信号放大。
3.多路转换开关及A/D转换器设计。
多路开关可以选用CD4052,A/D可选用MC14433等。
4.显示器设计。
可以选用LED显示或LCD显示。
5.键盘电路设计。
实现定点显示按键;轮流显示按键;其他功能键。
6.系统软件设计。
系统初始化模块,键盘扫描模块,显示模块,数据采集模块,标度变换模块等。
三.设计报告要求
设计报告应按以下格式书写:
(1)封面;
(2)设计任务书;
(3)目录;
(4)正文;
(5)参考文献。
其中正文应包含以下内容:
(1)系统总体功能及技术指标描述;
(2)各模块电路原理描述;
(3)系统各部分电路图及总体电路图(用PROTEL绘制);
(4)软件流程图及软件清单;
(5)设计总结及体会。
四、参考资料
1、李全利,单片机原理及接口技术,高等教育出版社,20042、于永,51单片机常用模块与综合系统设计实例精讲,电子工业出版社,2007
第五篇:步进电机实验报告
步进电机调速实验报告
班级:
xx
姓名:
xx
学号:
xxx
指导老师: :
xx
步进电机调速实验报告
一、实验目得及要求: 1、熟悉步进电机得工作原理 2、熟悉 51 系列单片机得工作原理及调试方法 3、设计基于 51 系列单片机控制得步进电机调速原理图(要求实现电机得速度反馈测量,测量方式:数字测量)4、实现 51 系列单片机对步进电机得速度控制(步进电机由实验中心提供,具体型号 42BYG)由按钮控制步进电机得启动与停止;实现加速、匀速、与减速控制.速度设定由键盘设定,步进电机得反馈速度由 LED 数码管显示。
二、实验原理:
1、一般电动机都就是连续旋转,而步进电动却就是一步一步转动得,故叫步进电动机。步进电机就是数字控制电机,它将脉冲信号转变成角位移,即给一个脉冲信号,步进电机就转动一个角度,因此非常适合于单片机控制。步进电动机得转子为多极分布,定子上嵌有多相星形连接得控制绕组,由专门电源输入电脉冲信号,每输入一个脉冲信号,步进电动机得转子就前进一步。由于输入得就是脉冲信号,输出得角位移就是断续得,所以又称为脉冲电动机.随着数字控制系统得发展,步进电动机得应用将逐渐扩大。
进电动机需配置一个专用得电源供电,电源得作用就是让电动机得控制绕组按照特定得顺序通电,即受输入得电脉冲控制而动作,这个专用电源称为驱动电源.步进电动机及其驱动电源就是一个互相联系得整体,步进电动机得运行性能就是由电动机与驱动电源两者配合所形成得综合效果。
2、对驱动电源得基本要求
(1)驱动电源得相数、通电方式与电压、电流都要满足步进电动机得需要;(2)要满足步进电动机得起动频率与运行频率得要求;(3)能最大限度地抑制步进电动机得振荡;(4)工作可靠,抗干扰能力强;(5)成本低、效率高、安装与维护方便。
3、驱动电源得组成 步进电动机得驱动电源基本上由脉冲发生器、脉冲分配器与脉冲放大器(也称功率放大器)三部分组成, 三、实验源程序:
/***************
writer:shopping、w
******************/ #include 〈reg52、h〉 #define uint unsigned int #define uchar unsigned char uchar code FFW[]= {
0 90x0,80x0,c0x0,40x0,60x0,20x0,30x0,10xﻩ};uchar code REV[]= {
0 10x0,30x0,20x0,60x0,40x0,c0x0,80x0,90xﻩ};sbit K1 = P3^0; sbit K2 = P3^1;sbit K3 = P3^2;void DelayMS(uint ms)
{
uchar i;
while(ms-—)
{
;)++i;021〈i;0=i(rofﻩ } } void SETP_MOTOR_FFW(uchar n){
uchar i,j;
for(i=0;i〈5*n;i++)
{ﻩ
for(j=0;j<8;j++)
{ﻩ ﻩ
if(K3 == 0)break;
ﻩﻩ P1 = FFW[j];
;)52(SMyaleDﻩﻩ }ﻩﻩ } } void SETP_MOTOR_REV(uchar n){
uchar i,j;
for(i=0;i<5*n;i++)
{)++j;8 ﻩ ;kaerbﻩ)0 == 3K(fiﻩ P1 = REV[j]; ﻩ DelayMS(25); ﻩ } } } void main() {uchar N = 3;)1(elihwﻩ {if(K1 == 0) {;efx0 = 0Pﻩ ﻩﻩ SETP_MOTOR_FFW(N); ﻩ if(K3 == 0)break; }ﻩﻩ ﻩ else if(K2 == 0) ﻩ { P0 = 0xfd; ﻩ ;)N(VER_ROTOM_PTESﻩ ;kaerb)0 == 3K(fiﻩﻩ }ﻩﻩ ﻩ else {ﻩﻩ ﻩ ;bfx0 = 0Pﻩﻩ;30x0 = 1Pﻩ } }ﻩ} 四、实验心得: 本次实验让我了解了步进电动机得工作原理,掌握了怎样用单片机编程来控制步进电机得正反转及调速。通过这次实验,我更加深刻得认识到将单片机编程知识应用到实践中得重要性。同时,在理论知识方面,我还有很多欠缺。在以后得学习中要注意实践性,不能只满足于理论知识。