一、资料内容(私信)
- (1)、基于51单片机的pwm加速减速步进电机proteus仿真设计一份;
- (2)、基于51单片机的pwm加速减速步进电机proteus仿真设计keli源代码一份;
- (3)、基于51单片机的pwm加速减速步进电机设计Altium designer 原理图一份;
- (4)、基于51单片机的pwm加速减速步进电机设计Altium designer PCB一份;
- (5)、基于51单片机的pwm加速减速步进电机设计元器件清单一份;
- (6)、基于51单片机的pwm加速减速步进电机proteus仿真设计视频讲解一份;
二、设计要求
- 1、完成51单片机最小系统的设计与仿真搭建;
- 2、通过单片机编程实现步进电机的加速;
- 3、通过单片机编程实现步进电机的减速;
- 4、根据上述要求完成实物制作与仿真;
三、相关资料截图
图1. 系统proteus仿真界面截图
图2. 系统Keil编程界面源代码截图
图3. 系统原理图工程文件
图4. PCB工程文件
图5. 系统实物照片
四、视频讲解
部分代码:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code step1[]={0x03,0x06,0x0c,0x09}; //正转,双四拍,ab-bc-cd-da
uchar code step2[]={0x09,0x0c,0x06,0x03}; //反转,双四拍,da-cd-bc-ab
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90}; //共阳数码管段码0-9
sbit PWM=P2^7; //LM298使能
sbit K1=P2^0; //方向选择键
sbit K2=P2^1; //细分增加键
sbit K3=P2^2; //细分减少键
sbit We=P3^0;
uchar count,n;
bit flag; //方向标志
void delay(uint z)
{
uint i,j;
for(i=110;i>0;i--)
for(j=z;j>0;j--);
}
void delayus(uint z)
{
while(z--);
}
void init()
{
flag=1; //方向标志置1
n=1; //速度级别置1
TMOD=0x10; //定时器1方式1,定时时间为5ms
TH1=(65536-5000)/256; //定时器赋初值,5ms定时
TL1=(65536-5000)%256;
EA=1; // 开总中断
ET1=1; //开T1中断
TR1=1; //启动T1
}