没有合适的资源?快使用搜索试试~ 我知道了~
步进电机程序[定义].pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 34 浏览量
2021-10-12
04:41:34
上传
评论
收藏 146KB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/31704317/0001-9c19a7490f62c0ba74f38dcded2e6875_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
21页
步进电机程序[定义].pdf
资源推荐
资源详情
资源评论
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![synapse3](https://img-home.csdnimg.cn/images/20210720083646.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![](https://csdnimg.cn/release/download_crawler_static/31704317/bg1.jpg)
内容:本程序用于测试 4相步进电机常规驱动 4个按键分别控制加速、减速、开启、停止
数码管显示 01-18 速度等级,数字越大,速度越大
------------------------------------------------*/
#include <reg52.h>
#define KeyPort P3
#define DataPort P0 // 定义数据端口 程序中遇到 DataPort 则用 P0 替换
sbit LATCH1=P2^2;// 定义锁存使能端口 段锁存
sbit LATCH2=P2^3;// 位锁存
unsigned char code
dofly_DuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显 示 段 码 值
0~9
unsigned char code dofly_WeiMa[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};// 分别对应相
应的数码管点亮 ,即位码
unsigned char T empData[8]; // 存储显示值的全局变量
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;}//D 相通电,其他相断电
#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=1;
bit StopFlag;
void Display(unsigned char FirstBit,unsigned char Num);
![](https://csdnimg.cn/release/download_crawler_static/31704317/bg2.jpg)
void Init_Timer0(void);
unsigned char KeyScan(void);
/*------------------------------------------------
uS 延时函数,含有输入参数 unsigned char t ,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振 12M ,精确延时请使用汇编 ,大致延时
长度如下 T=tx2+5 uS
------------------------------------------------*/
void DelayUs2x(unsigned char t)
{
while(--t);
}
/*------------------------------------------------
mS 延时函数,含有输入参数 unsigned char t ,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振 12M ,精确延时请使用汇编
------------------------------------------------*/
void DelayMs(unsigned char t)
{
while(t--)
{
//大致延时 1mS
DelayUs2x(245);
DelayUs2x(245);
}
}
/*------------------------------------------------
主函数
------------------------------------------------*/
main()
{
unsigned int i=512;// 旋转一周时间
unsigned char num;
Init_Timer0();
Coil_OFF
while(1) // 正向
{
![](https://csdnimg.cn/release/download_crawler_static/31704317/bg3.jpg)
num=KeyScan(); //循环调用按键扫描
if(num==1)// 第一个按键 ,速度等级增加
{
if(Speed<18)
Speed++;
}
else if(num==2)// 第二个按键,速度等级减小
{
if(Speed>1)
Speed--;
}
else if(num==3)
{
Coil_OFF
StopFlag=1;
}
else if(num==4)
{
StopFlag=0;
}
TempData[0]=dofly_DuanMa[Speed/10];// 分 解 显 示 信 息 , 如 要 显 示 68 , 则 68/10=6
68%10=8
TempData[1]=dofly_DuanMa[Speed%10];
}
}
/*------------------------------------------------
显示函数,用于动态扫描数码管
输入参数 FirstBit 表示需要显示的第一位,如赋值 2表示从第三个数码管开始显示
如输入 0表示从第一个显示。
Num 表示需要显示的位数,如需要显示 99 两位数值则该值输入 2
------------------------------------------------*/
void Display(unsigned char FirstBit,unsigned char Num)
{
static unsigned char i=0;
DataPort=0; //清空数据,防止有交替重影
![](https://csdnimg.cn/release/download_crawler_static/31704317/bg4.jpg)
LATCH1=1; //段锁存
LATCH1=0;
DataPort=dofly_WeiMa[i+FirstBit]; // 取位码
LATCH2=1; //位锁存
LATCH2=0;
DataPort=TempData[i]; // 取显示数据,段码
LATCH1=1; //段锁存
LATCH1=0;
i++;
if(i==Num)
i=0;
}
/*------------------------------------------------
定时器初始化子程序
------------------------------------------------*/
void Init_Timer0(void)
{
TMOD |= 0x01; // 使用模式 1,16 位定时器, 使用 "|"符号可以在使用多个定时器时不受
影响
//TH0=0x00; //给定初值
//TL0=0x00;
EA=1; //总中断打开
ET0=1; //定时器中断打开
TR0=1; //定时器开关打开
PT0=1; //优先级打开
}
/*------------------------------------------------
定时器中断子程序
------------------------------------------------*/
void Timer0_isr(void) interrupt 1
{
static unsigned char times,i;
TH0=(65536-1000)/256; // 重新赋值 1ms
![](https://csdnimg.cn/release/download_crawler_static/31704317/bg5.jpg)
TL0=(65536-1000)%256;
Display(0,8);
if(!StopFlag)
{
if(times==(20-Speed))// 最大值 18 ,所以最小间隔值 20-18=2
{
times=0;
switch(i)
{
case 0:Coil_A1;i++;break;
case 1:Coil_B1;i++;break;
case 2:Coil_C1;i++;break;
case 3:Coil_D1;i++;break;
case 4:i=0;break;
default:break;
}
}
times++;
}
}
/*------------------------------------------------
按键扫描函数,返回扫描键值
------------------------------------------------*/
unsigned char KeyScan(void)
{
unsigned char keyvalue;
if(KeyPort!=0xff)
{
DelayMs(10);
if(KeyPort!=0xff)
{
keyvalue=KeyPort;
while(KeyPort!=0xff);
switch(keyvalue)
{
case 0xfe:return 1;break;
剩余20页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/default.jpg!1)
czq131452007
- 粉丝: 2
- 资源: 12万+
![benefits](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-1.c8e153b4.png)
下载权益
![privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-2.ec46750a.png)
C知道特权
![article](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-3.fc5e5fb6.png)
VIP文章
![course-privilege](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-4.320a6894.png)
课程特权
![rights](https://csdnimg.cn/release/downloadcmsfe/public/img/vip-rights-icon.fe0226a8.png)
开通VIP
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)