avr atmega16 步进电机驱动程序

avr atmega16 步进电机驱动程序

ID:9960993

大小:34.00 KB

页数:7页

时间:2018-05-17

avr atmega16 步进电机驱动程序_第1页
avr atmega16 步进电机驱动程序_第2页
avr atmega16 步进电机驱动程序_第3页
avr atmega16 步进电机驱动程序_第4页
avr atmega16 步进电机驱动程序_第5页
资源描述:

《avr atmega16 步进电机驱动程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、AVRATMega16步进电机驱动程序这两天做步进电机的驱动成功,现将程序共享,愿起到抛砖引玉的作用。此程序可驱动五引线步进电机,通过按键可控制步进电机的转速、方向、三种驱动方式,三种驱动方式分别为:单四拍驱动、双四拍驱动、单双八拍驱动,其中以单双八拍驱动转速最慢。具体联接方式在程序中有说明。/*************************************      步进电机的M16驱动程序      **功  能:用M16驱动步进电机      **        实现三种驱动方式      *

2、*        单四拍驱动、双四拍驱动  **        单双八拍驱动        **驱动芯片:ULN2803              **联接方式:PC0-3分别通过2803接A-D  **        步进电机公共端接+5V电源  **建立日期:2008年04月05日        **作  者:铜河              **版  本:V1.0              **修改日期:2008年04月06日        **主控芯片:M16                **时钟频率

3、:外部晶体7.3728MHZ      **编译器:ICCAVR6.31A        *************************************/#include#include#include"delay.h"#defineRD_KEY()((~(PINC

4、0x0F))>>4)//四按键接于PC4-PC7unsignedchari=0;        //转动计数unsignedcharm=1;        //驱动方式参数unsignedcha

5、rn=0;        //转动方向参数unsignedintzhuansu=61500;  //转速数据/*****************************      端口配置函数      *****************************/voidport_init(void)  {  PORTA=0x40;  DDRA=0x40;  PORTB=0x00;  DDRB=0x00;  PORTC=0xF0;  DDRC=0x0F;  PORTD=0x00;  DDRD=0x00;  }

6、/*****************************      正转操作函数      **入  口:a三种工作方式  *****************************/voidbj_fs(unsignedchara)  {  switch(a)    {    case1:          //单四拍方式驱动        PORTC

7、=1<=4)i=0;        break;    case2:  

8、        //双四拍方式驱动        if(i!=4)      //AB、BC、CD、DA驱动          PORTC

9、=(1<

10、(1<<(i-1));        else          PORTC

11、=(1<<(i-1))

12、1;        i++;        if(i>=5)i=1;        break;    case3:          //单双八拍方式驱动        if(i%2)        //A、AB、B、BC、C、CD、D、DA驱动    

13、      {          if(i!=7)            PORTC

14、=(1<<(i/2))

15、(1<<(i/2+1));          else            PORTC

16、=(1<<(i/2))

17、1;          }        else          {          PORTC

18、=1<<(i/2);          }        i++;        if(i>=8)i=0;        break;    default:break;    }  }

19、/*****************************      反转操作函数      **入  口:a三种工作方式  *****************************/voidbj_fsf(unsignedchara)  {  switch(a)    {    case1:              //单四拍方式驱动        PORTC

20、=1<<(3-i);  //D、

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

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

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