课程设计任务书封面.docx

上传人:b****6 文档编号:15417979 上传时间:2023-07-04 格式:DOCX 页数:13 大小:2.71MB
下载 相关 举报
课程设计任务书封面.docx_第1页
第1页 / 共13页
课程设计任务书封面.docx_第2页
第2页 / 共13页
课程设计任务书封面.docx_第3页
第3页 / 共13页
课程设计任务书封面.docx_第4页
第4页 / 共13页
课程设计任务书封面.docx_第5页
第5页 / 共13页
课程设计任务书封面.docx_第6页
第6页 / 共13页
课程设计任务书封面.docx_第7页
第7页 / 共13页
课程设计任务书封面.docx_第8页
第8页 / 共13页
课程设计任务书封面.docx_第9页
第9页 / 共13页
课程设计任务书封面.docx_第10页
第10页 / 共13页
课程设计任务书封面.docx_第11页
第11页 / 共13页
课程设计任务书封面.docx_第12页
第12页 / 共13页
课程设计任务书封面.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

课程设计任务书封面.docx

《课程设计任务书封面.docx》由会员分享,可在线阅读,更多相关《课程设计任务书封面.docx(13页珍藏版)》请在冰点文库上搜索。

课程设计任务书封面.docx

课程设计任务书封面

 

山东理工大学计算机学院

课程设计

(嵌入式系统设计A)

 

班级

姓名

学号

指导教师

 

二○一五年一月十五日

课程设计任务书及成绩评定

1、设计题目:

控制电机转速

2、题目的设计内容和要求:

(1)编程实现根据在超级终端中输入不同的字符,控制电机的启、停、正反转、速度快慢。

(2)在led数码管显示转速档位。

3、设计任务和要求:

3.1程序设计、调试:

要求画出程序框图,设计出全部程序并给出程序设计说明和程序注释,并在实验系统上调试通过。

3.2课程设计说明书内容:

a、本次课程设计的目的和意义。

b、设计报告:

字数约2000~3000字(不包括程序清单),内容包括:

设计题目;

系统的主要功能、作用以及主要技术性能指标;

总体设计方案、工作和组成原理(框图)或设计说明、采用的技术路线等;

系统设计:

接口电路设计,程序设计(程序框图和程序清单及注释)其他有关的理论分析和计算;

设计总结:

对整个设计工作过程进行归纳和综合,对设计中所存在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识、收获和提高。

c、作品的使用或操作说明。

d、设计图纸或图表(如接口电路原理图等)。

装订时将课程设计说明书附在该3页之后。

3.3设计内容不允许抄袭和复印,否则取消设计成绩。

4、工作安排:

(设计进度及完成情况)

●第一阶段:

选择设计项目,根据题目要求查阅资料构思设计方案、进行电路原理图设计和程序设计以及其它准备工作。

●第二阶段:

对第一阶段完成的设计内容进行详细的检查或修改无错后,按照设计方案自行在实验系统上进行程序的输入和调试。

为便于调试和查错,程序最好采用模块化结构,一部分一部分的调试,通过反复的调试或修改直到达到设计要求为止。

●第三阶段:

按照3中的内容和要求撰写课程设计说明书。

日期

内容

2014-12-20

收集资料,分析问题

2014-12-30

软硬件设计

2015-01-07

软硬件调试

2015-01-14

编写,提交设计报告

2015-01-15

答辩与总结

5、主要参考文献及资料:

《ARM体系结构与接口技术》刘洪涛电子工业出版社

《UP-CUPS210经典实验指导书》

电机转动控制实验例程

 

学科部主任___________(签字)

 

6、成绩评定:

评语:

 

设计成绩:

指导老师:

(签字)

 

二○年月日

 

控制电机转速课程设计

1、设计目的

1.通过课程设计,使学生掌握常用嵌入式系统接口应用和软硬件开发技术,提高学生的综合设计能力和程序调试能力。

2.培养学生理论联系实际的能力,训练学生综合分析问题及解决问题的能力。

2、设计内容和要求

控制电机转速:

(1)编程实现根据在超级终端中输入不同的字符,控制电机的启、停、正反转、速度快慢。

(2)在led数码管显示转速档位。

硬件:

ARM嵌入式开发平台、PC机Pentium100以上、用于ARM920T的JTAG仿真器、串口线、电机、led数码显示器。

软件:

PC机操作系统Win2000或WinXP、ARMADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序

 

3、设计方案

由于S3C2410芯片自带定时器,控制部分省去了三角波产生电路,脉冲调制电路和PWM信号延迟及信号分配电路,取而代之的是S3C2410芯片的定时器0、1组成的双极性PWM发生器。

PWM发生器用到的寄存器主要有TCFG0定时器配置寄存器

TGFG1定时器配置寄存器;TCON定时器控制寄存器;TCNTB0&TCMPB0定时器计数缓冲区寄存器和比较缓冲寄存器;TCNT00定时器观察寄存器。

开启设备时,配置IO口为定时器工作方式,配置定时器的各个控制寄存器;在S3C2410中提供调速功能接口,调用此接口亦可实现电机速度调整。

电机工作同时,还可以通过串口发送指令,来控制电机转速的快慢,并通过LED数码管显示出来。

 

4、课程设计流程图

 

 

5、硬件原理图

1、显示电路图

2、电机驱动图

6、运行与调试

1、连线:

串口线、并口JTAG、电源线

2、设置超级终端(波特率115200,数据位8,无奇偶校验,停止位1,无数据流控制。

3、打开实验箱电源,按任意键,进入vivi

4、用ADS打开电机设计程序,阅读程序代码。

(主要是启动代码Startup.s和主程序main.c)

5、启动JTAG驱动,并进行JTAG初始化,处理器选择ARM9。

6、用AXD进行硬件在线调试。

(1)启动AXD。

(2)AXD设置:

option—configuretarget----选择ADP,进行硬件在线运行。

具体设置参考UARMJTAG说明文档。

(3)下载映像文件:

loadimage----寻找生成的*.axf文件。

7、全速运行,用终端控制电机的转动。

8、单步运行,查看程序流程;分析汇编启动程序Startup.s的功能。

7、运行结果

在超级终端输入0,电机停止转动;输入1,电机慢速转动;输入2,电机快速转动;输入3更快的转动;输入4,电机反向转动。

 

输入2,电机慢速速转动

输入4,电机反向转动

 

8、关键程序代码

intmain(void)

{

inti,j,ADData,lastADData,count=0,flagg=1,ff=3;

charRevdata[10];

intnum[5]={0xc0,0xf9,0xa4,0xb0,0x99};

//intnum[5]={0xc0,0xf9,0xa4,0xb0,0x99};//---------------------------

lednum2con=0xc0;//

lednum1con=0xc0;//

ARMTargetInit();//开发版初始化

init_MotorPort();

init_ADdevice();

//------------------------------更改部分-------------------------

Uart_Printf(0,"\nPress1-stop,2-highspeed,3-lowspeed,4-reversespeedtocontrol.\n");

//Uart_Printf(0,"addata=%d",ADData);

//intflagg;//1不翻转,-1翻转

flagg=1;

lednum1con=0xff;

lednum2con=0xb0;

for(;;)

{

for(i=0;i<2;i++)

ADData=GetADresult(0);

if(ff!

=0)

SetPWM(flagg*((ADData-ff*128)*MOTOR_CONT/1024));

else

SetPWM(0);

hudelay(10);

if((rUTRSTAT0&0x1))//有输入,则跳出1f92a43b0499

{

*Revdata=RdURXH0();

printf("%c\n",*Revdata);

if(*Revdata=='0'){

ff=0;

lednum2con=0xc0;

SetPWM(0);//stop

Uart_Printf(0,"\nPress0-stop,1-lowspeed,2-highspeed,3-higherspeed,4-reversespeedtocontrol.\n");

lastADData=GetADresult(0);

hudelay(10);

}

elseif(*Revdata=='1'){

ff=1;

//lednum1con=0xc0;

lednum2con=0xf9;

//addspeed;

SetPWM(flagg*(ADData-128)*MOTOR_CONT/1024);

Uart_Printf(0,"\nPress0-stop,1-lowspeed,2-highspeed,3-higherspeed,4-reversespeedtocontrol.\n");

lastADData=GetADresult(0);

hudelay(10);

}

elseif(*Revdata=='2'){

ff=2;

//lednum1con=0xc0;

lednum2con=0xa4;

//begin;

hudelay(10);

SetPWM(flagg*(ADData-256)*MOTOR_CONT/1024);

hudelay(10);

}

elseif(*Revdata=='3'){

ff=3;

//lednum1con=0xbf;

lednum2con=0xb0;

//turnpoint;

SetPWM(flagg*((ADData-384)*MOTOR_CONT/1024));

Uart_Printf(0,"\nPress0-stop,1-lowspeed,2-highspeed,3-higherspeed,4-reversespeedtocontrol.\n");

lastADData=GetADresult(0);

hudelay(10);

}

elseif(*Revdata=='4'){

if(flagg==1)

lednum1con=0xff;

else

lednum1con=0xbf;

flagg=-1*flagg;

SetPWM(flagg*((ADData-ff*128)*MOTOR_CONT/1024));

Uart_Printf(0,"\nPress0-stop,1-lowspeed,2-highspeed,3-higherspeed,4-reversespeedtocontrol.\n");

lastADData=GetADresult(0);

hudelay(10);

}

else

printf("TheWrongNumber!

\n");

}

}

//------------------------------更改部分-------------------------

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2