步进电机应用c语言程序设计实例,51单片机调节步进电机应用C语言程序设计
51单片机调节步进电机应用C语言程序设计
//步进电机应用C语言程序设计
#include
#define uchar unsigned char
sbit dula=P2^6; //数码管显示段选I/O口定义
sbit wela=P2^7; //数码管显示位选I/O口定义
sbit jia_key=P3^6; //电机加速I/O口定义
sbit jian_key=P3^7; //电机减速I/O口定义
sbit zf_key=P3^5; //电机正反转I/O定义
bit flag=0; //电机正反转标志位
uchar num=0,show_num=2,maichong=4,table_begin=0;
uchar code table1[]={0x01,0x02,0x04,0x08,0x08,0x04,0x02,0x01};
//uchar code table1[]={0x09,0x03,0x06,0x0c,0x08,0x04,0x02,0x01};
//uchar code table1[]={0x01,0x04,0x02,0x08,0x08,0x02,0x04,0x01};
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
void delay(uchar i) //延时函数
{
uchar j,k;
for(j=i;j>0;j--)
for(k=125;k>0;k--);
}
void display() //显示函数
{
dula=0;
P0=table[show_num];
dula=1;
dula=0;
wela=0;
P0=0xfe;
wela=1;
wela=0;
delay(5);
P0=table[0];
dula=1;
dula=0;
P0=0xfd;
wela=1;
wela=0;
delay(5);
}
void key () //按键检测处理函数
{
if(jia_key==0)
{
delay(5); //加速键按下,消抖
if(jia_key==0)
{
num++; //速度标示加1
if(num==4)
num=3; //达到最大3则保持
while(jia_key==0); //等待松开按键
}
}
if(jian_key==0)
{
delay(5); //减速键按下
if(jian_key==0)
{
if(num!=0)
num--; //速度标示减1
else
num=0; //达到最小0则保持
while(jian_key==0);
}
}
if(zf_key==0)
{
delay(5); //正反转按键按下
if(zf_key==0)
{
flag=~flag; //正反转标识取反
while(zf_key==0);
}
}
}
void dispose() //根据速度标识进行数据处理
{
switch(num)
{
case 0:
show_num=2; //数码管第一位显示的数字
maichong=5; //利用maichong数据控制送给电机脉冲的频率,控制速度
break;
case 1:
show_num=4;
maichong=4;
break;
case 2:
show_num=6;
maichong=3;
break;
case 3:
show_num=8;
maichong=2;
break;
}
if(flag==0)
{
table_begin=0; //flag为0,正转
}
else
table_begin=4; //flag为1,反转
}
void qudong() //电机速度,和正反转控制
{
uchar i,j;
for(j=0+table_begin;j<4+table_begin;j++)
{
P1=table1[j]; //读取控制电机转动I/O口表
for(i=0;i&
lt;maichong;i++)
{
display(); //利用显示函数起延时作用,控制电机速度
} //这样也不影响数码管显示,一举两得
}
}
void main()
{
while(1)
{
key();
disp
步进电机应用c语言程序设计实例,51单片机调节步进电机应用C语言程序设计相关推荐
- 51单片机 驱动步进电机 C语言 lcd,基于51单片机的步进电机驱动程序
一.步进电机分类 1.按构造分类 ①反应式: 由定子和转子构成,定子上有绕组,转子由软磁材料制成. ②永磁式: 转子由永磁体制成,转子极数与定子极数相等. ③混合式 定子有多相绕组,转子由永磁体构成, ...
- 51单片机蜂鸣器播放音乐C语言程序实例,51单片机蜂鸣器音乐之八月桂花播放源程序...
/************************************************************************ [文件名] C51音乐程序(八月桂花) [功能] ...
- 51单片机c语言计数程序,51单片机INTOINT1中断计数c语言源程序.doc
单片机C语言程序设计:INT0 中断计数 来源: \t "/jichuzhishi/mcu/program/2013-06-27/_blank" 21ic?作者: 关键字: \t ...
- 51单片机c语言电子琴程序,51单片机超级电子琴(C语言)
/*说明:此程序是用矩阵按键和音乐实验组合而成的,先是写出矩阵键盘程序,得出键值.然后通过判断键值而分配各种音符,从而得到电子琴效果!硬件连接! 硬键连接:P1口接矩阵键盘,P3.5接蜂鸣器引脚*/ ...
- 洗衣机控制系统c语言编程,采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文.doc...
采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文 深 圳 大 学 本 科 毕 业 论 文(设计) 题目: 基于单片机设计的全自动 洗衣机控制器 姓名: 郑嘉泽 专业: 电子信息工程 学院: ...
- 51单片机学习1:C语言基础
1 C 语言介绍 C 语言是在 70 年代初问世的. 一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C 语言. 同时由 B.W.Kernighan 和 D.M.Ritchit 合 ...
- 51单片机控制步进电机-电路连接
51单片机控制步进电机-电路连接 概要:本案例讲解的内容是51单片机控制步进电机硬件连接部分.后续会分别讲解单片机程序,S曲线加减速方法,上位机等相关内容 硬件清单: 1.51单片机控制板一个 2.二 ...
- c语言单片机定时器的应用程序,51单片机定时器中断程序(C语言)
51c程序 51单片机定时器中断程序(C语言) 用C语言实现的,先要定义好定时器的初值 不管你使用多大的晶振,使用51单片机,一般都是12分频出来,也就可以得出一个机器周期 机器周期=12/n(n指晶 ...
- 【033】基于51单片机的步进电机角度测量与速度设定Proteus仿真设计
一.压缩包资料内容 (1).基于51单片机的步进电机角度测量与速度设定proteus仿真设计一份: (2).基于51单片机的步进电机角度测量与速度设定proteus仿真设计keli源代码一份: (3) ...
最新文章
- java线程通信概念_java基础线程总结(线程概念、线程创建方式、线程间通信、线程重要方法)...
- DL之MobileNetV2:MobileNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
- android如何获取默认的桌面程序
- 更改路由器的外网IP
- 位运算:二进制中1的个数
- 解决C#中ListView闪烁的办法
- 记一次守护日志导致硬盘空间告警问题
- python迅雷下载任务出错_迅雷任务包含违规内容无法继续下载 迅雷任务出错修改host方法...
- 课堂派“互动课件”文件下载
- 计算机和工业设计哪个就业前景大,工业设计专业就业前景
- Linux常用指令/知识点
- 关于特殊后缀名如vue vm less等文件在DW中高亮显示并且代码提示的解决方案
- Win7 64位静态过PG,文件修改记录,备忘
- 在中断函数和MAIN函数中同时调用同一个函数的有趣现象
- 三维目标检测论文阅读:PointPillars: Fast Encoders for Object Detection from Point Clouds
- 由感而发:离职的第四个理由
- 秋招算是结束了,写个总结吧!
- 中国外交部和中国驻英国使、领馆联系办法
- Latex中插图总结(一)
- Java 集合深入理解(10):Deque 双端队列
热门文章
- DM36x Rate Control Modes
- html个人中心网页,个人中心页面.html
- Aspose.Words for .NET使用教程(十二):在Word文档中使用图表轴
- python空间点赞_用Python登录好友QQ空间点赞的示例代码
- 行业资讯 | 深圳:BIM法定化,开历史之先河
- 计算机二级软件java_全国计算机等级考试使用的java软件版本
- Android EventBus Subscriber class XXXActivity has no public methods called onEvent
- 摸个鱼(算最大捕捞量)
- 从数据库中查询列表倒序排列(按照时间顺序)
- linux qq x64,QQ Linux 版时隔多年再次更新,支持 x64、ARM64 等多种架构