基于单片机的步进电机控制单片机课程设计_第1页
基于单片机的步进电机控制单片机课程设计_第2页
基于单片机的步进电机控制单片机课程设计_第3页
基于单片机的步进电机控制单片机课程设计_第4页
基于单片机的步进电机控制单片机课程设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的步进电机控制单片机课程设计单片机课程设计 江南大学物联网工程学院课程设计报告课程名称:单片机原理及应用设计题目:班级:姓名:学号:指导教师:评分:年月日目录一、设计要求目的错误!未定义书签。二、设计要求及任务错误!未定义书签。三、仪器设备2四、硬件线路图及芯片说明错误!未定义书签。1、总体设计框图32、主要硬件线路图3、ULN2003芯片说明五、系统工作原理头文件程序定义及变量声明#defineuintunsignedint宏定义#defineucharunsignedchar宏定义ucharcodeZF8=0 xO190 x0390 x0290 x06,0 xO490 x0c90

2、 x08,0 x09;正转编码表ucharcodeFF8=0 x09,0 x08,0 x0c,0 x04,0 x06,0 x02,0 x03,0 x01;反转编码表ucharcodeSM10=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;数码表sbitk1=P3A2;定义K1为启动/停止按键sbitk2=P3A3;定义K2为加速按键sbitk3=P3A4;定义K3为减速按键sbitk4=P3A5;定义K4为正/反转按键ucharj=0;uinttime=12000;/time为每两拍之间的间隔时间uinttemp2;vo

3、iddelay(ucharz)延时函数uchars,v;for(s=0;svz;s+)for(v=0;v125;v+);/一个for循环8个机器周期(125*8*1us=1ms)voiddisplay(uchara,ucharb,ucharc,uchard)显示函数if(f%2)p2=0Xfe;P0=0 xbf;f为奇数时代表反转,则第一个数码管显示“-”否则不显示del町;P0=0 xff;消隐P2=0 xfd;P0=SMa;显示十位del町;P0=0 xff;消隐P2=0 xfb;P0=SMb&0 x7f;显示个位(带小数点)delay(1);P0=0 xff;消隐P2=0 xf7;P0=

4、SMc;显示小数点后第一位小数delay(1);P0=0 xff;消隐P2=0 xef;P0=SMd;显示小数点后第二位小数delay(1);P0=0 xff;消隐13单片机课程设计 voiddispose。数值处理函数temp1=14648/time;h=temp1/10;十位w=temp1%10;个位temp2=14648%time;p=temp2/1000;/小数点后第一位小数q=temp2%1000*10/1000;/小数点后第二位小数voidmain()主函数uchark;TMOD=0 x01;EA=1;ET0=1;TH0=(65536-time)/256;TL0=(65536-ti

5、me)%256;TR0=1;while(1)if(k1=0)delay(5);定义定时器0工作方式1/开总中断开定时器0中断装定时器初值开定时器0延时消抖if(k1=0)TR0=TR0;k+;启动/停止while(!k1);if(k2=0)delay(5);if(k2=0)time=time-150;加速while(!k2);if(k3=0)delay(5);if(k3=0)time=time+150;减速while(!k3);if(k4=0)delay(5);if(k4=0)f+;/正/反转while(!k4);dispose();if(k%2)display(0,0,0,0);elsedi

6、splay(h,w,p,q);/等待按键释放延时消抖/等待按键释放延时消抖/等待按键释放延时消抖/等待按键释放停止时显示00.00正常运转时调用显示函数单片机课程设计 voidtimerO()interrupt1定时器0中断处理函数if(f%2)if(j=8)j=0;P1=FFj+;/f为奇数时代表反转,则送反转编码到P1口elseif(j=8)j=0;P1=ZFj+;/否则送正转编码到P1口TH0=(65536-time)/256;TL0=(65536-time)%256;/重新装初值八、设计体会这一学期我们学习了单片机原理及其应用这门课程,作为一名自动化专业的大三学生,我觉得做单片机课程设

7、计是十分有意义的,而且是十分必要的。在课程设计环节中,我觉得最困难的是程序设计,首先要理解原理,然后进行流程设计,转化为程序,进行调试,我们在调试的时候出现很多错误,改错的过程是非常痛苦的,好在我们耐心的一一克服了,最后敲定了合理的程序。但问题并没有因此结束,当我们装上步进电机后,转速等级之间的转速差别,是否能够带动电机,显示闪烁快慢,转速变慢时出现转动打嗝和颤抖的情况,往往让我感到手足无措,但是在老师的指导和同学的帮助下我们小组都一一克服了,最后得到了较为满意的结果,在此感谢老师的悉心指导。还有一点体会就是要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便,通过这次设计,我懂得了学习的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论