资源简介
步进电机控制细分驱动程序,用于单片机对步进电机的控制;程序包括了串口通信,参数设置等功能可以和上位机进行通信。

代码片段和文件信息
/********************************************************************************
* 标题: 细分驱动控制器的控制信号程序 *
* 功能:对细分模块进行控制 *
*********************************************************************************/
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit PWM=P1^0; //PWM波输出口
sbit DIR=P1^1; //正反转控制信号
sbit ENA=P1^2; //使能信号
/************************************************************************************************************************
* 系统频率设定 200Hz400Hz600Hz700Hz800Hz900Hz1000Hz1050Hz1100kHz1150kHz1200kHz1250kHz 1300kHz1350kHz *
************************************************************************************************************************/
uint code dsz[14]={ 0xfe0c0xff060xff590xff710xff830xff900xff9c0xffa00xffa5 0xffa90xffac0xffb00xffb30xffb5} ;
uint d_timer Z_B=2000; // d_timer 每次加载频率Z_B 每次加载的总步数;
uchar timer1keycountC_timers=0; // timer1 PWM波频率控制 key按键值设定 count每个频率段的步数C_timers加载次数
uchar temp=0scounter=0zhuangtai[7]; //串行通讯数据
char i=0;
/********************************************************************************
* 系统初始化 *
*********************************************************************************/
void system_Ini()
{
P1=0xfb;
P2=0xff;
d_timer=dsz[0] ;
TH0 = (uchar) (d_timer/256); // 设定定时器初始值
TL0 = (uchar) (d_timer%256);
TR0 = 0; //定时器开始计时
ET0 = 1; //开定时器T0中断
EA = 1; //开总中断
}
/********************************************************************************
* 串口初始化 *
*********************************************************************************/
void comm_init()
{
SCON=0x50; //串口控制字
PCON=0x00; //波特率不增倍
TMOD=0x21;//定时器0以工作方式1工作,定时器1以工作方式2工作
TH1=0xfd; //波特率为9600
TR1=; //启动定时器
ES=1;
ET1=0;
EA=1;
}
/********************************************************************************
* 延时函数0.1ms *
*********************************************************************************/
void delay(void)
{ uchar num=150;
while(num--)
{_nop_();
_nop_();
_nop_();}
}
/********************************************************************************
* 延时函数0.1ms *
*********************************************************************************/
void long_delay(void)
{ uchar num=200;
while(num--)
{_nop_();_nop_();_nop_();_nop_();_nop_();
}
}
/********************************************************************************
* 键值判断 *
*********************************************************************************/
uchar fkey(void )
{ uchar k=0;
if(~P2==0x01) {dela
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2006-02-19 10:42 细分驱动控制波已完成\
文件 86972 2010-10-17 10:51 细分驱动控制波已完成\Backup Of linxi.DBK
文件 86990 2010-10-16 22:04 细分驱动控制波已完成\Last Loaded linxi.DBK
文件 86973 2010-10-17 14:24 细分驱动控制波已完成\linxi.DSN
文件 819 2006-02-19 11:43 细分驱动控制波已完成\linxi.PWI
文件 8728 2006-02-19 10:43 细分驱动控制波已完成\PWM
文件 6519 2006-02-19 15:42 细分驱动控制波已完成\PWM.c
文件 2453 2006-02-19 10:43 细分驱动控制波已完成\PWM.hex
文件 38 2006-02-19 10:43 细分驱动控制波已完成\PWM.lnp
文件 11812 2006-02-19 10:43 细分驱动控制波已完成\PWM.LST
文件 10743 2006-02-19 10:43 细分驱动控制波已完成\PWM.M51
文件 10346 2006-02-19 10:43 细分驱动控制波已完成\PWM.OBJ
文件 200 2006-02-19 15:43 细分驱动控制波已完成\PWM.plg
文件 54867 2006-02-19 15:43 细分驱动控制波已完成\PWM.uvopt
文件 13224 2010-09-24 10:51 细分驱动控制波已完成\PWM.uvproj
文件 54867 2006-02-19 11:43 细分驱动控制波已完成\PWM_uvopt.bak
文件 0 2010-09-24 10:19 细分驱动控制波已完成\PWM_uvproj.bak
- 上一篇:变分法原理法则PDF
- 下一篇:频域盲源分离方法
相关资源
- 2018西门子杯中国智能制造挑战赛逻辑
- 自已写的 自习室预约小程序微信125
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- E4A无障碍跨程序操作类库(带源码、
- labview魔方程序
- 程序员专用字体YaHei.Consolas.1.11b42517
- scratch3.0 源程序(说相声)
- 欧姆龙CP1系列单轴定位PLC程序.cxp
- SVR算法程序可运行
- labview编程软件滤波器以及编写程序设
- 电力系统潮流计算程序集合
- 仿知乎界面小程序源代码
- STM32蓝牙和串口程序
- elantech触控板驱动程序 v13.6.11 官方最
- 根据硬件ID和程序ID生成注册码
- 用python编写的移动彩信的发送程序
- TCL-S1916 ,1924交换机管理程序
- 51单片机PWM程序,占空比、周期可调整
- 嵌入式图形界面MiniGUI的示例程序9例
- 数字频率合成dds正弦波基于FPGA的DDS产
- 28335CAN调试程序
- 导线测量平差程序 很实用
- USB转串口驱动,FT232R驱动程序,最新
- 改进的BP神经网络算法
- 通风网络解算程序 fortran90
- 编写简单的RMI程序 多线程web 服务器
- 图论软件包(图论里的程序)
- A星算法_原理讲解_例子
- MFC程序-碰撞的小球
评论
共有 条评论