基于单片机uln2003的步进电机控制系统(汇编及c语言程序各一个

基于单片机uln2003的步进电机控制系统(汇编及c语言程序各一个

ID:29711659

大小:79.50 KB

页数:12页

时间:2018-12-22

基于单片机uln2003的步进电机控制系统(汇编及c语言程序各一个_第1页
基于单片机uln2003的步进电机控制系统(汇编及c语言程序各一个_第2页
基于单片机uln2003的步进电机控制系统(汇编及c语言程序各一个_第3页
基于单片机uln2003的步进电机控制系统(汇编及c语言程序各一个_第4页
基于单片机uln2003的步进电机控制系统(汇编及c语言程序各一个_第5页
资源描述:

《基于单片机uln2003的步进电机控制系统(汇编及c语言程序各一个》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、图8总体电路图1.3.4软件设计通过分析可以看出,实现系统功能可以采用多种方法,由于随时有可能输入加速、加速信号和方向信号,因而采用中断方式效率最高,这样总共要完成4个部分的工作才能满足课题要求,即主程序部分、定时器中断部分、外部中断0和外部中断1部分,其中主程序的主要功能是系统初始参数的设置及启动开关的检测,若启动开关合上则系统开始工作,反之系统停止工作;定时器部分控制脉冲频率,它决定了步进电机转速的快慢;两个外部中断程序要做的工作都是为了完成改变速度这一功能。下面分析主程序与定时器中断程序及外部中断程序。(1)主程序设计主程序中要完成的工作主要有系统初始值的设置、系统状态的显

2、示以及各种开关状态的检测判断等。其中系统初始状态的设置内容较多,该系统中,需要初始化定时器、外部中断;对P1口送初值以决定脉冲分配方式,速度值存储区送初值决定步进电机的启动速度,对方向值存储区送初值决定步进电机旋转方向等内容。若初始化P1=11H、速度和方向初始值均设为0,就意味着步进电机按四相单四拍运行,系统上电后在没有操作的情况下,步进电机不旋转,方向值显示“0”,速度值显示“0”,主程序流程图如图9所示。开始初始化速度值为0?启动开关为0?停止计时器显示启动计时器延时停止计时器图9主程序流程图YNYN(2)定时中断设计步进电机的转动主要是给电机各绕组按一定的时间间隔连续不断

3、地按规律通入电流,步进电机才会旋转,时间间隔越短,速度就越快。在这个系统中,这个时间间隔是用定时器重复中断一定次数产生的,即调节时间间隔就是调节定时器的中断次数,因而在定时器中断程序中,要做的工作主要是判断电机的运行方向、发下一个脉冲,以及保存当前的各种状态。程序流程图如图10所示。中断返回T0中断入口发速度脉冲读方向指示重送相关状态恢复现场保护现场中断次数-1=0?NY图10定时中断程序流程图(3)外部中断设计外部中断所要完成的工作是根据按键次数,改变速度值存储区中的数据(该数据为定时器的中断次数),这样就改变了步进电机的输出脉冲频率,也就是改变了电机的转速。速度增加按钮S2为

4、INT0中断,其程序流程为原数据,当值等于7时,不改变原数值返回,小于7时,数据加1后返回;速度减少按钮S3,当原数据不为0,减1保存数据,原数据为0则保持不变。程序流程图如图11所示。外部中断入口保护现场延时去抖中断返回速度值±1恢复现场速度=上或限值?按钮是否弹起?NNNYY图11外部中断程序流程图1.3.5源程序(汇编、C语言程序各一个)汇编程序如下:SPEEDEQU10H;SPEED为转速等级标志,共7级,即1~7FXEQU11H;FX为方向标志COUNTEQU12H;COUNT中断次数标志ORG0000HAJMPMAINORG0003H;外部中断0入口地址,加速子程序A

5、JMPUPORG0013H;外部中断1入口地址,减速子程序AJMPDOWNORG000BH;定时器0中断入口地址,控制中断次数来达到控制转速AJMPZDT0ORG0030HMAIN:MOVSP,#60HMOVTMOD,#01H;工作于定时、软件置位启动!模式1(16位计时器)MOVTH0,#0CFHMOVTL0,#2CHMOVCOUNT,#01HSETBET0;定时/计数器允许中断CLRIT0;外部中断为电平触发方式,低电平有效CLRIT1SETBEX0;外部允许中断SETBEX1SETBEA;开总中断MOVR1,#11H;四相单四拍运行,共阳数码管方向显示8,速度值显示0MOV

6、SPEED,#00HMOVFX,#00HXIANS:MOVA,SPEEDMOVDPTR,#LEDMOVCA,@A+DPTR;查表获取等级对应数码管代码MOVP2,A;第二个数码管显示转速等级MOVA,FX;准备判断转向CJNEA,#11H,ELSMOVP0,#0F9H;第一个数码管显示1,表示正转AJMPQDELS:CJNEA,#00H,ZHENGMOVP0,#0C0H;第一个数码管显示0,表示不转AJMPQDZHENG:MOVP0,#0BFH;第一个数码管显示-,表示反转QD:JBP3.4,DD;P3.4接启动开关K1,P3.4=1时启动CLRTR0;停止定时/计数器MOVP0

7、,#0C0H;第一个数码管显示0,表示不转MOVP2,#0C0H;第二个数码管显示0,表示转速为0MOVSPEED,#00H;重新赋初值MOVFX,#00HAJMPQDDD:MOVA,SPEEDJNZGO;A不等于0,即初始速度不为零,则转移到GOCLRTR0;停止定时/计数器AJMPQDGO:SETBTR0;开启定时/计数器ACALLDELAYAJMPXIANSDELAY:MOVR6,#10;延时子程序DEL1:MOVR7,#250HERE1:DJNZR7,HERE1DJNZR

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。