基于51单片机的步进电机控制系统-单片机课程设计报告

内容发布更新时间 : 2025/1/10 18:44:30星期一 下面是文章的全部内容请认真阅读。

附件

一、 电路原理图

二、 电路PCB图

三、 电路实物图

四、 源程序

#include

#include //内部包含延时函数 _nop_();

#define uchar unsigned char #define uint unsigned int

#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};

uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9}; //正转相序编码

uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};

sbit K1 = P3^0; //运行与停止 sbit K2 = P3^1; //设圈数 sbit K3 = P3^2; //方向转换 sbit K4 = P3^3; //转速加

sbit K5 = P3^4; //点动 sbit K6 = P3^5; sbit K7 = P3^6; sbit K8 = P3^7;

sbit LCD_RS = P2^0; sbit LCD_RW = P2^1; sbit LCD_EN = P2^2;

bit on_off=0,on_off1=0; //运行与停止标志 bit direction=1; //方向标志 bit rate_dr=1; //速率标志 bit snum_dr=1; //圈数标志

uchar code cdis1[ ] = {%uchar code cdis2[ ] = {%uchar code cdis3[ ] = {%uchar code cdis4[ ] = {%uchar code cdis5[ ] = {%uchar code cdis6[ ] = {\

uchar m,v=0,q=0,q1;

uint number=0,number1=0;

uchar snum=10,snum1=10,number2=0; //预设定圈数 uchar rate=2,rate_ctr; //预设定速率 uchar data_temp,data_temP1,data_temp2;

/********************************************************/ /* /* 延时t毫秒

/* 11.0592MHz时钟,延时约1ms /* /********************************************************/ void delay(uint t) //tms { uchar k; while(t--) {

for(k=0; k<12

>>展开全文<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi