收藏 分销(赏)

步进电机调速控制系统设计C语言程序及说明.doc

上传人:w****g 文档编号:3064932 上传时间:2024-06-14 格式:DOC 页数:5 大小:16.50KB 下载积分:6 金币
下载 相关 举报
步进电机调速控制系统设计C语言程序及说明.doc_第1页
第1页 / 共5页
步进电机调速控制系统设计C语言程序及说明.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
步进电机调速控制系统设计 C语言程序及说明 使用元器件: 单片机8051、步进电机17H185H-04A、128细分/3.0A步进电机驱动器、LED显示器。 实现控制功能: 以8051单片机为控制器,系统设四个按键:“工作/停止按键”、“加速按键”、“减速按键”、“正反向控制按键”。系统上电后,按下“正反向控制按键”,控制电机正反转;每按一次“加速按键”后,步进电机由低向高加速一级,每按一次“减速按键”后,由高向低减速一级;按“工作/停止按键”后,电机停止转动,系统回到等待状态。同时需要显示运行状态和转速(以实际转速或等级表示)。 程序清单及说明 #include<reg52.h> sbit EN=P2^0; //使能输出 sbit DIR=P2^1; //方向控制 sbit PWM=P2^2; //PWM输出 sbit zled=P2^6; //正转信号灯 sbit fled=P2^7; //反转信号灯 sbit sw1=P0^0; //启停按钮 sbit sw2=P0^1; //正反转按钮 sbit sw3=P0^2; //加速按钮 sbit sw4=P0^3; //减速按钮 unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; unsigned char i,j,k,temp=0,zkb=5,zkb1=0,speed=0; void delay() //延时10ms { for(i=20;i>0;i--) for(j=248;j>0;j--); } void InitTimer0(void) //T0定时器初始化 { TMOD = 0x00; //设置定时器方式0 TH0 = 0xef; //高8位送初值 TL0 = 0xdd; //低8位送初值 EA = 1; //开中断总允许 ET0 = 1; //开T0中断允许 TR0 = 1; //启动T0开始定时 } void main() //主程序 { InitTimer0(); EN=1; //初始使能端输出0 DIR=1; //方向端输出1 zled=0; //正传信号灯端口输出0,灯亮 fled=1; //反转信号灯输出1,灯不亮 while(1) { P1=table[speed]; //启停 if(sw1==0) //判断启停键按下 { delay(); //调用延时程序 if(sw1==0) //再判断,启停键按下 { while(sw1==0); //启停键按下,使能端取反 EN=~EN; } } //正反转子程序 if(sw2==0) //判断换向键是否按下 { delay(); if(sw2==0) { while(sw2==0); DIR=~DIR; //换向键按下,方向端口取反 fled=~fled; //正传指示灯控制端取反 zled=~zled; //反转传指示灯控制端取反 } } //加速子程序 if(sw3==0) //判断加速键是否按下 { delay(); if(sw3==0) { while(sw3==0); //加速键按下 if(speed>=5) //判断转速是否大于5 speed=5; //大于5,保持5级转速 else speed++; //小于5,加速一级 } } //减速子程序 if(sw4==0) //判断减速键是否按下 { delay(); if(sw4==0) { while(sw4==0); //减速键按下 if(speed==1) //转速为1,保持1级转速 speed=1; else speed--; //转速不为1,减速1级 } } } } void Timer0Interrupt(void) interrupt 1 switch(speed) //加减速按键按下,对应选择T0初值,进入终端产生不同频率脉冲 { case 1:TH0=0XDD;break; case 2:TH0=0XE1;break; case 3:TH0=0XE5;break; case 4:TH0=0XEa;break; case 5:TH0=0xf0;break; } TL0 = 0xdd; if(zkb1>=10) zkb1=0; zkb1++; if(zkb1<=5) PWM=1; else PWM=0; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服