-
大小: 2.3MB文件类型: .rar金币: 1下载: 0 次发布日期: 2023-11-20
- 语言: 其他
- 标签: 嵌入式 STC89C52RC 步进电机 驱动
资源简介
51单片机实现步进电机(39BYG316/28BYJ48)的启停,圈数设定,正反转,速率调整,LCD1602显示等调节硬件实现(原理图,PCB)+软件实现(keil4代码)
代码片段和文件信息
#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_M\DC_M.PrjPcb
文件 217088 2019-03-04 20:49 具体方案\Step_motor_M\DC_M.SchDoc
文件 4851 2019-03-05 12:51 具体方案\Step_motor_M\Free Documents.OutJob
文件 2664448 2019-03-04 20:49 具体方案\Step_motor_M\Step_motor.PcbDoc
文件 84380 2019-03-03 18:51 具体方案\Step_motor_M\__Previews\DC_M.$$$Preview
文件 83668 2019-03-05 12:49 具体方案\Step_motor_M\__Previews\DC_M.SchDocPreview
文件 3603 2016-09-06 08:44 具体方案\Step_motor_test\lcd.c
文件 966 2019-01-11 21:38 具体方案\Step_motor_test\lcd.h
文件 6552 2019-01-12 17:13 具体方案\Step_motor_test\lcd.LST
文件 3480 2019-01-12 17:13 具体方案\Step_motor_test\lcd.OBJ
文件 8191 2019-03-05 12:52 具体方案\Step_motor_test\main.c
文件 15984 2019-03-03 16:07 具体方案\Step_motor_test\main.LST
文件 16876 2019-03-03 16:07 具体方案\Step_motor_test\main.OBJ
文件 10950 2019-01-11 21:12 具体方案\Step_motor_test\st7565.LST
文件 8840 2019-01-11 21:12 具体方案\Step_motor_test\st7565.OBJ
文件 6376 2016-09-06 08:44 具体方案\Step_motor_test\STARTUP.A51
文件 14053 2019-01-11 21:12 具体方案\Step_motor_test\STARTUP.LST
文件 749 2019-01-11 21:12 具体方案\Step_motor_test\STARTUP.OBJ
文件 14056 2019-03-03 16:07 具体方案\Step_motor_test\template
文件 3082 2019-03-03 16:07 具体方案\Step_motor_test\template.hex
文件 44 2019-03-03 16:07 具体方案\Step_motor_test\template.lnp
文件 19938 2019-03-03 16:07 具体方案\Step_motor_test\template.M51
文件 209 2019-03-05 20:53 具体方案\Step_motor_test\template.plg
....... 71448 2019-03-05 20:53 具体方案\Step_motor_test\template.uvgui.Administrator
....... 71511 2019-03-05 12:53 具体方案\Step_motor_test\template.uvgui_Administrator.bak
....... 5391 2019-03-05 20:53 具体方案\Step_motor_test\template.uvopt
文件 13415 2019-03-03 14:24 具体方案\Step_motor_test\template.uvproj
文件 5591 2016-09-06 08:44 具体方案\Step_motor_test\template_uvopt.bak
............此处省略32个文件信息
相关资源
- HC-SR04超声波模块(包含基于51stm32配套
- 鸣志 步进电机选型手册
- STM32F407. 基于PID速度环的步进电机速度
- STM32F407 基于232或485的57&42;步进电机旋
- arm嵌入式jepg图片显示lcd源码
- stm32f4控制步进电机程序
- 倒立摆调试,使用步进电机,完全成
- STM32F1指南者步进电机驱动
- 2019年下半年软考中级嵌入式系统设计
- CHAdeMO 3.0
- 用stm32精确控制步进电机角度的程序
- 基于嵌入式的安防视频监控
- 五相步进电机.ppt
- STM32F103的4轴步进电机加减速控制工程
- 国嵌嵌入式必修实验手册
- 嵌入式 L inux C 语言应用程序设计.pd
- 蓝桥杯嵌入式五届到八届完成全部源
- GBT28171-2011嵌入式软件可靠性测试方法
- 28BYJ-48步进电机(STM32F1)
-
em
bedded Deep Learning - 嵌入式实时操作系统 uC/OS-II第二版
- QT之模仿手机主界面左右滑动翻页,带
- 实时UML:开发嵌入式系统高效对象
- 嵌入式实时操作系统μC/OS-III-原版书
- 基于“聚芯SoC”的嵌入式系统设计.
- 嵌入式组态软件HMImaker绿色版人机界面
- 底层工作者手册之嵌入式操作系统内
- Linux Device Driver Development
- 计算机三级嵌入式系统学习思维导图
- 疲劳驾驶监测嵌入式设计
评论
共有 条评论