步进电机驱动电源的软件设计论文

重庆理工大学毕业设计 三相步进电机驱动电源软件设计

向、发下一个脉冲,以及保存当前的各种状态。

T0中断入口 保护现场 N 中断次数-1=0? Y 读方向指示 发速度脉冲 重送相关状态 恢复现场 中断返回 图4-8 定时中断程序流程 在本设计中,当有按键按下时,需要改变电机运行状态是采用外部中断INT0请求,低电平有效,由P3.2引脚输入。在步数计数和加速减速子程序中都要采用T0计数器0溢出中断请求,由引脚P3.4输入。在步数运行完后,申请中断,电机停止运行。在加速过程中速度达到给定值,申请中断,调用匀速运行子程序。

29

重庆理工大学毕业设计 三相步进电机驱动电源软件设计

4.7 步进电机脉冲产生子程序

本设计中采用的是三相步进电机的单三拍控制,其中正转给定脉冲相序为A--B--C,反转给定脉冲的相序为A--C--B。因此,我们可编写相应的模型程序如下:

{ //定时器0中断,定时1ms// TH0=(65536-1000)/256; TL0=(65536-1000)%6; time++; }

void delay(uint n) { //一般延时 while(--n); }

void delay(uint dtime) { //延时 TR0=1;

while(time<=dtime); time=0; TR0=0; }

void moto(bit cf,uchar n,uint dtime){ //电机驱动子程序, uchar idata zhpai[4]={0x78,0xb8,0xd8,0xe8}; uchar idata fpai[4]={0xe8,0xd8,0xb8,0x78}; uchar i,l=0;

if(cf==0) //正转,A-B-C-A for(i=0;i

30

重庆理工大学毕业设计 三相步进电机驱动电源软件设计

{

P1=zhpai[l];//P1.7~1.4为输出口,分别为A、B、C、D l++; delay(dtime); if(l==4) l=0; }

else{ //反转,C-B-A-C for(i=0;i

P1=fpai[l]; l++; delay(dtime); if(l==4) l=0; } } }

31

重庆理工大学毕业设计 三相步进电机驱动电源软件设计

第五章 实验仿真

5.1 Keil C51集成开发环境

软件是一个系统的灵魂,是在硬件平台的基础上完成的。随着单片机开发技术的不断发展,从普遍的汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展。Keil软件是目前最流行开发MCS-51系列单片机的软件,这从今年来各仿真机厂商纷纷宣布全面支持Keil即可看出。 Keil C51是德国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。Keil C51提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境μVision3将这些部分组合在一起。在μVision3中,可以完成从源程序编写、编译、连接定位到目标文件的仿真调试等全部工作系统正是在μVision3环境下进行软件开发的。μVision3是一种基于Windows的多窗口软件仿真器,它可以在完全没有8051单片机硬件的情况下模拟调试各种应用程序,即使是对单片机内部特殊集成功能的编程,也可以找到对应的模拟。

图5-1 生成hex文件

32

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4