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语言程序设计相关推荐

  1. 51单片机 驱动步进电机 C语言 lcd,基于51单片机的步进电机驱动程序

    一.步进电机分类 1.按构造分类 ①反应式: 由定子和转子构成,定子上有绕组,转子由软磁材料制成. ②永磁式: 转子由永磁体制成,转子极数与定子极数相等. ③混合式 定子有多相绕组,转子由永磁体构成, ...

  2. 51单片机蜂鸣器播放音乐C语言程序实例,51单片机蜂鸣器音乐之八月桂花播放源程序...

    /************************************************************************ [文件名]  C51音乐程序(八月桂花) [功能]  ...

  3. 51单片机c语言计数程序,51单片机INTOINT1中断计数c语言源程序.doc

    单片机C语言程序设计:INT0 中断计数 来源: \t "/jichuzhishi/mcu/program/2013-06-27/_blank" 21ic?作者: 关键字: \t ...

  4. 51单片机c语言电子琴程序,51单片机超级电子琴(C语言)

    /*说明:此程序是用矩阵按键和音乐实验组合而成的,先是写出矩阵键盘程序,得出键值.然后通过判断键值而分配各种音符,从而得到电子琴效果!硬件连接! 硬键连接:P1口接矩阵键盘,P3.5接蜂鸣器引脚*/ ...

  5. 洗衣机控制系统c语言编程,采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文.doc...

    采用C语言编辑基于51单片机的全自动洗衣机控制系统毕业论文 深 圳 大 学 本 科 毕 业 论 文(设计) 题目: 基于单片机设计的全自动 洗衣机控制器 姓名: 郑嘉泽 专业: 电子信息工程 学院: ...

  6. 51单片机学习1:C语言基础

    1 C 语言介绍 C 语言是在 70 年代初问世的. 一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C 语言. 同时由 B.W.Kernighan 和 D.M.Ritchit 合 ...

  7. 51单片机控制步进电机-电路连接

    51单片机控制步进电机-电路连接 概要:本案例讲解的内容是51单片机控制步进电机硬件连接部分.后续会分别讲解单片机程序,S曲线加减速方法,上位机等相关内容 硬件清单: 1.51单片机控制板一个 2.二 ...

  8. c语言单片机定时器的应用程序,51单片机定时器中断程序(C语言)

    51c程序 51单片机定时器中断程序(C语言) 用C语言实现的,先要定义好定时器的初值 不管你使用多大的晶振,使用51单片机,一般都是12分频出来,也就可以得出一个机器周期 机器周期=12/n(n指晶 ...

  9. 【033】基于51单片机的步进电机角度测量与速度设定Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的步进电机角度测量与速度设定proteus仿真设计一份: (2).基于51单片机的步进电机角度测量与速度设定proteus仿真设计keli源代码一份: (3) ...

最新文章

  1. java线程通信概念_java基础线程总结(线程概念、线程创建方式、线程间通信、线程重要方法)...
  2. DL之MobileNetV2:MobileNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  3. android如何获取默认的桌面程序
  4. 更改路由器的外网IP
  5. 位运算:二进制中1的个数
  6. 解决C#中ListView闪烁的办法
  7. 记一次守护日志导致硬盘空间告警问题
  8. python迅雷下载任务出错_迅雷任务包含违规内容无法继续下载 迅雷任务出错修改host方法...
  9. 课堂派“互动课件”文件下载
  10. 计算机和工业设计哪个就业前景大,工业设计专业就业前景
  11. Linux常用指令/知识点
  12. 关于特殊后缀名如vue vm less等文件在DW中高亮显示并且代码提示的解决方案
  13. Win7 64位静态过PG,文件修改记录,备忘
  14. 在中断函数和MAIN函数中同时调用同一个函数的有趣现象
  15. 三维目标检测论文阅读:PointPillars: Fast Encoders for Object Detection from Point Clouds
  16. 由感而发:离职的第四个理由
  17. 秋招算是结束了,写个总结吧!
  18. 中国外交部和中国驻英国使、领馆联系办法
  19. Latex中插图总结(一)
  20. Java 集合深入理解(10):Deque 双端队列

热门文章

  1. DM36x Rate Control Modes
  2. html个人中心网页,个人中心页面.html
  3. Aspose.Words for .NET使用教程(十二):在Word文档中使用图表轴
  4. python空间点赞_用Python登录好友QQ空间点赞的示例代码
  5. 行业资讯 | 深圳:BIM法定化,开历史之先河
  6. 计算机二级软件java_全国计算机等级考试使用的java软件版本
  7. Android EventBus Subscriber class XXXActivity has no public methods called onEvent
  8. 摸个鱼(算最大捕捞量)
  9. 从数据库中查询列表倒序排列(按照时间顺序)
  10. linux qq x64,QQ Linux 版时隔多年再次更新,支持 x64、ARM64 等多种架构