51单片机控制步进电机软硬件实现
51单片机实现步进电机(39BYG316/28BYJ48)的启停,圈数设定,正反转,速率调整,LCD1602显示等调节硬件实现(原理图,PCB)+软件实现(keil4代码)
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 52695 2019-03-05 12:51 具体方案DC_M.pdf
文件 0 2019-03-03 21:32 具体方案Readme.txt
文件 38961 2019-03-04 20:49 具体方案Step_motor_MDC_M.PrjPcb
文件 217088 2019-03-04 20:49 具体方案Step_motor_MDC_M.SchDoc
文件 4851 2019-03-05 12:51 具体方案Step_motor_MFree Documents.OutJob
文件 2664448 2019-03-04 20:49 具体方案Step_motor_MStep_motor.PcbDoc
文件 84380 2019-03-03 18:51 具体方案Step_motor_M\__PreviewsDC_M.$$$Preview
文件 83668 2019-03-05 12:49 具体方案Step_motor_M\__PreviewsDC_M.SchDocPreview
文件 3603 2016-09-06 08:44 具体方案Step_motor_testlcd.c
文件 966 2019-01-11 21:38 具体方案Step_motor_testlcd.h
文件 6552 2019-01-12 17:13 具体方案Step_motor_testlcd.LST
文件 3480 2019-01-12 17:13 具体方案Step_motor_testlcd.OBJ
文件 8191 2019-03-05 12:52 具体方案Step_motor_testmain.c
文件 15984 2019-03-03 16:07 具体方案Step_motor_testmain.LST
文件 16876 2019-03-03 16:07 具体方案Step_motor_testmain.OBJ
文件 10950 2019-01-11 21:12 具体方案Step_motor_testst7565.LST
文件 8840 2019-01-11 21:12 具体方案Step_motor_testst7565.OBJ
文件 6376 2016-09-06 08:44 具体方案Step_motor_testSTARTUP.A51
文件 14053 2019-01-11 21:12 具体方案Step_motor_testSTARTUP.LST
文件 749 2019-01-11 21:12 具体方案Step_motor_testSTARTUP.OBJ
文件 14056 2019-03-03 16:07 具体方案Step_motor_test emplate
文件 3082 2019-03-03 16:07 具体方案Step_motor_test emplate.hex
文件 44 2019-03-03 16:07 具体方案Step_motor_test emplate.lnp
文件 19938 2019-03-03 16:07 具体方案Step_motor_test emplate.M51
文件 209 2019-03-05 20:53 具体方案Step_motor_test emplate.plg
....... 71448 2019-03-05 20:53 具体方案Step_motor_test emplate.uvgui.Administrator
....... 71511 2019-03-05 12:53 具体方案Step_motor_test emplate.uvgui_Administrator.bak
....... 5391 2019-03-05 20:53 具体方案Step_motor_test emplate.uvopt
文件 13415 2019-03-03 14:24 具体方案Step_motor_test emplate.uvproj
文件 5591 2016-09-06 08:44 具体方案Step_motor_test emplate_uvopt.bak
............此处省略32个文件信息
#include “lcd.h“
/*******************************************************************************
* 函 数 名 : Lcd1602_Delay1ms
* 函数功能 : 延时函数,延时1ms
* 输 入 : c
* 输 出 : 无
* 说 名 : 该函数是在12MHZ晶振下,12分频单片机的延时。
*******************************************************************************/
void Lcd1602_Delay1ms(uint c) //误差 0us
{
uchar ab;
for (; c>0; c--)
{
for (b=199;b>0;b--)
{
for(a=1;a>0;a--);
}
}
}
/*******************************************************************************
* 函 数 名 : LcdWriteCom
* 函数功能 : 向LCD写入一个字节的命令
* 输 入 : com
* 输 出 : 无
*******************************************************************************/
#ifndef LCD1602_4PINS //当没有定义这个LCD1602_4PINS时
void LcdWriteCom(uchar com) //写入命令
{
LCD1602_E = 0; //使能
LCD1602_RS = 0; //选择发送命令
LCD1602_RW = 0; //选择写入
LCD1602_DATAPINS = com; //放入命令
Lcd1602_Delay1ms(1); //等待数据稳定
LCD1602_E = 1; //写入时序
Lcd1602_Delay1ms(5); //保持时间
LCD1602_E = 0;
}
#else
void LcdWriteCom(uchar com) //写入命令
{
LCD1602_E = 0; //使能清零
LCD1602_RS = 0; //选择写入命令
LCD1602_RW = 0; //选择写入
LCD1602_DATAPINS = com; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改
Lcd1602_Delay1ms(1);
LCD1602_E = 1; //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;
LCD1602_DATAPINS = com << 4; //发送低四位
Lcd1602_Delay1ms(1);
LCD1602_E = 1; //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;
}
#endif
/*******************************************************************************
* 函 数 名 : LcdWriteData
* 函数功能 : 向LCD写入一个字节的数据
* 输 入 : dat
* 输 出 : 无
*******************************************************************************/
#ifndef LCD1602_4PINS
void LcdWriteData(uchar dat) //写入数据
{
LCD1602_E = 0; //使能清零
LCD1602_RS = 1; //选择输入数据
LCD1602_RW = 0; //选择写入
LCD1602_DATAPINS = dat; //写入数据
Lcd1602_Delay1ms(1);
LCD1602_E = 1; //写入时序
Lcd1602_Delay1ms(5); //保持时间
LCD1602_E = 0;
}
#else
void LcdWriteData(uchar dat) //写入数据
{
LCD1602_E = 0; //使能清零
LCD1602_RS = 1; //选择写入数据
LCD1602_RW = 0; //选择写入
LCD1602_DATAPINS = dat; //由于4位的接线是接到P0口的高四位,所以传送高四位不用改
Lcd1602_Delay1ms(1);
LCD1602_E = 1; //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;
LCD1602_DATAPINS = dat << 4; //写入低四位
Lcd1602_Delay1ms(1);
LCD1602_E = 1; //写入时序
Lcd1602_Delay1ms(5);
LCD1602_E = 0;
}
#endif
/*******************************************************************************
* 函 数 名 : LcdInit()
* 函数功能 : 初始化LCD屏
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
#ifndef LCD1602_4PINS
void LcdInit() //LCD初始化子程序
{
LcdWriteCom(0x38); //开显示
LcdWriteCom(0x0c); //开显示不显示光标
LcdWriteCom(0x06); //写一个指针加1
LcdWriteCom(0x01); //清屏
LcdWriteCom(0x80); //设置数据指针起点
}
#else
void Lcd
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 52695 2019-03-05 12:51 具体方案DC_M.pdf
文件 0 2019-03-03 21:32 具体方案Readme.txt
文件 38961 2019-03-04 20:49 具体方案Step_motor_MDC_M.PrjPcb
文件 217088 2019-03-04 20:49 具体方案Step_motor_MDC_M.SchDoc
文件 4851 2019-03-05 12:51 具体方案Step_motor_MFree Documents.OutJob
文件 2664448 2019-03-04 20:49 具体方案Step_motor_MStep_motor.PcbDoc
文件 84380 2019-03-03 18:51 具体方案Step_motor_M\__PreviewsDC_M.$$$Preview
文件 83668 2019-03-05 12:49 具体方案Step_motor_M\__PreviewsDC_M.SchDocPreview
文件 3603 2016-09-06 08:44 具体方案Step_motor_testlcd.c
文件 966 2019-01-11 21:38 具体方案Step_motor_testlcd.h
文件 6552 2019-01-12 17:13 具体方案Step_motor_testlcd.LST
文件 3480 2019-01-12 17:13 具体方案Step_motor_testlcd.OBJ
文件 8191 2019-03-05 12:52 具体方案Step_motor_testmain.c
文件 15984 2019-03-03 16:07 具体方案Step_motor_testmain.LST
文件 16876 2019-03-03 16:07 具体方案Step_motor_testmain.OBJ
文件 10950 2019-01-11 21:12 具体方案Step_motor_testst7565.LST
文件 8840 2019-01-11 21:12 具体方案Step_motor_testst7565.OBJ
文件 6376 2016-09-06 08:44 具体方案Step_motor_testSTARTUP.A51
文件 14053 2019-01-11 21:12 具体方案Step_motor_testSTARTUP.LST
文件 749 2019-01-11 21:12 具体方案Step_motor_testSTARTUP.OBJ
文件 14056 2019-03-03 16:07 具体方案Step_motor_test emplate
文件 3082 2019-03-03 16:07 具体方案Step_motor_test emplate.hex
文件 44 2019-03-03 16:07 具体方案Step_motor_test emplate.lnp
文件 19938 2019-03-03 16:07 具体方案Step_motor_test emplate.M51
文件 209 2019-03-05 20:53 具体方案Step_motor_test emplate.plg
....... 71448 2019-03-05 20:53 具体方案Step_motor_test emplate.uvgui.Administrator
....... 71511 2019-03-05 12:53 具体方案Step_motor_test emplate.uvgui_Administrator.bak
....... 5391 2019-03-05 20:53 具体方案Step_motor_test emplate.uvopt
文件 13415 2019-03-03 14:24 具体方案Step_motor_test emplate.uvproj
文件 5591 2016-09-06 08:44 具体方案Step_motor_test emplate_uvopt.bak
............此处省略32个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)