单片机课设报告.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课设报告创新

单片机课设报告一:课设目的1:了解步进电机控制的基本原理2:掌控步进电机的转动的编程方法3:了解单片机控制外部设备的常用电路二:设计要求用8255扩展端口控制步进电机,编写程序输出脉冲序列到8255的PA口,控制步进电机正转、反转、加速、减速。三:设备1:LAB6000微控制器实验系统2:PC机一台3:实验导线四:参考电路及连线连线连线孔 1连线孔 218255-csCS02PA0步进电机A3PA1步进电机B4PA2步进电机C5PA3步进电机D五:说明、步进电机驱动原理是通过对每组线圈中的电流的顺序切换来使步进电机旋转。切换是通过单片机输出脉冲来实现的。所以调节脉冲信号的频率便可以改变步进电机的转速改变各相脉冲的先后顺序可以改变电机的旋转方向。步进电机的转速应由慢到快逐步加速。电机驱动方式可以采用双四拍(AB-BC-CD-DA-AB)方式,也可以采用单四拍(A-B-C-D-A)方式,或单、双八拍(A-AB-B-BC-C-CD-D-DA-A)方式。各种工作方式的时序图如下:六、程序框图七:原始程序#includereg51.h#includeabsacc.h#define PA XBYTE[0x7FFC]#define PB XBYTE[0x7FFD]#define PC XBYTE[0x7FFE]#define con XBYTE[0x7FFF]#define uchar unsigned char#define uint unsignedintuchar code move[]={0x01,0x02,0x04,0x08};sbit A=P0;sbit C=P3; int flag=0;int speed=10;void delay(uint z);void move();void main(){switch(C)case 0x00: move(speed);break;case 0x01: flag=!flag;move();break;case 0x02: speed=speed+10;move(speed);break;case 0x03: speed=speed-10;move(speed);break;}void move(){ inti;if(flag==1)for(i=0;i4;i++){A=0XFF;A=0x90;PA=move[i];delay(speed); }elsefor(i=4;i0;i--){A=0XFF;A=0x90;PA=move[i];delay(speed);}}void delay(uint z){uintx,y;for(x=z;x0;x--)for(y=110;y0;y--);}八:现程序/*-----------------------------------------------名称:步进电机 ------------------------------------------------*/#include reg52.h#include absacc.h#define IN XBYTE[0X08001] //键盘输入口#define OUTBIT XBYTE[0X08002] //位控制口sbit A1=P1^0; //定义步进电机连接端口sbit B1=P1^1;sbit C1=P1^2;sbit D1=P1^3;#define Coil_AB1 {A1=1;B1=1;C1=0;D1=0;}//AB相通电,其他相断电#define Coil_BC1 {A1=0;B1=1;C1=1;D1=0;}//BC相通电,其他相断电#define Coil_CD1 {A1=0;B1=0;C1=1;D1=1;}//CD相通电,其他相断电#define Coil_DA1 {A1=1;B1=0;C1=0;D1=1;}//DA相通电,其他相断电#define Coil_A1 {A1=1;B1=0;C1=0;D1=0;}//A相通电,其他相断电#define Coil_B1 {A1=0;B1=1;C1=0;D1=0;}//B相通电,其他相断电#define Coil_C1 {A1=0;B1=0;C1=1;D1=0;}//C相通电,其他相断电#define Coil_D1 {A1=0;B1=0;C1=0;D1=1;}//D相通电,其他相断电#define Coil_OFF {A1=0;B1=0;C1=0;D1=0;}//全部断电unsigned char Speed; //速度变量bit StopFlag; //停止标志bit flag; //正反转标志void Init_Timer0(void);unsigned char keytest(void);/*-----------------

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档