独立按键控制直流电机转动

这次先写一个简单的直流电机转动项目吧,下次写一个高级的多种模块一起与电极联动的项目。

直流电机介绍
直流电机是把直流电能变为机械能。作为机电执行元部件,直流电机内部有一个闭合的主磁路。主磁通在主磁路中流动,同时与两个电路交联,其中一个电路是用以产生磁通的,称为激磁电路;另一个电路是用来传递功率的,称为功率回路或电枢回路。现行的直流电机都是旋转电枢式,也就是说,激磁绕组及其所包围的铁芯组成的磁极为定子,带换向单元的电枢绕组和电枢铁芯结合构成直流电机的转子。

直流电机和单片机连接原理图

直流电机与单片机连接实物图

独立按键检测

程序分析
首先定义头文件,然后再对数据类型进行声明,根据原理图定义直流电机和独立按键端口,定义延时函数,编写单片机的按键检测程序时,一般在检测案件按下时加入去抖延时,第二个if判断语句再次判断按键是否按下,将点击状态取反,用while语检测按键是否被松开。

#include<reg52.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit moto=P1^0;          //定义直流电机端口
sbit k1=P3^1;        //定义k1端口
void delay(u16 i)     //定义延时函数
{while(i--);
}
void keypros()            //按键处理函数,判断按键K1是否按下
{if(k1==0)              //检测按键K1是否按下{delay(1);          //消抖if(k1==0)         //再次判断按键是否按下{moto=~moto;      //电机状态取反}             while(~k1);                 //检测按键是否被松开}
}
void main()
{   moto = 0;              //关闭电机while(1){ keypros();  //按键处理函数    }
}

独立按键控制直流电机转动相关推荐

  1. 8个独立按键控制LED

    8个独立按键控制LED

  2. K_A08_004 基于 STM32等单片机驱动MX1919模块按键控制直流电机正反转加减速启停

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 1.MX1919模块驱动时序 2.对应程序: 3.PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+MX1919 ...

  3. 03独立按键控制LED移动

    51单片机学习记录04 一.独立按键控制LED单向移动 单项右移 单项左移 二.独立按键控制LED移动 总结 一.独立按键控制LED单向移动 代码分为两个部分:"主函数"+&quo ...

  4. 51单片机实现独立按键控制LED灯

    本节博客主要实现以下效果: 3-1独立按键控制LED亮灭 本段代码主要使用了if...else...语句实现按下按下灯亮,松开按键时灯灭 #include <REGX51.H>void m ...

  5. K_A08_013 基于 STM32等单片机驱动大功率MOS管模块按键控制直流电机加减速启停

    目录 一.资源说明 二.基本参数 参数 引脚说明 三.驱动说明 大功率MOS模块驱动 对应程序: 四.部分代码说明 接线说明 STC89C52RC+大功率MOS模块 STM32F103C8T6+大功率 ...

  6. c语言按键控制的步进电机程序,独立按键控制步进电机运转c语言程序

    独立按键控制步进电机运转c语言程序 /* * 名称:步进电机 * * 晶振:12MHZ * * 修改:无 * * 内容: 主程序中用 3 个按键,加速.减速.启动和停止.定时器做数码* * 管动态扫描 ...

  7. 第二十二节:独立按键控制跑马灯的方向

    第二十二节:独立按键控制跑马灯的方向. 开场白: 上一节讲了多任务并行处理两路跑马灯的程序.这一节要教会大家一个知识点:如何通过一个中间变量把按键跟跑马灯的任务有效的关联起来. 具体内容,请看源代码讲 ...

  8. 51单片机和3个74HC245和6个独立按键控制24个3组LED移动亮灭

    51单片机和3个74HC245和6个独立按键控制24个3组LED移动亮灭 先上proteus仿真图: 74HC245:八路数据缓冲器

  9. K_A08_003 基于 STM32等单片机驱动L9110模块按键控制直流电机正反转加减速启停

    目录 一.资源说明 二.基本参数 1.参数 2.引脚说明 三.驱动说明 L9110模块驱动时序 对应程序: PWM信号 四.部分代码说明 接线说明 1.STC89C52RC+L9110模块 2.STM ...

最新文章

  1. 多线程技术(四)线程的优先级
  2. 语言 上课点名 缺勤_主播日记5 | “云端”传递的C语言程序设计实验课
  3. 熟悉linux的安全与优化
  4. 宝塔php7.1地址在哪里,宝塔Linux面板安全入口地址忘了(方法一)
  5. [转]ASP.NET Core 指定环境发布(hosting environment)
  6. hbase shell中命令无法删除?
  7. 世纪大争论:Linux还是GNU/Linux?
  8. Java数据结构与算法(26) - ch12堆(堆实现)
  9. Angular4.x+Ionic3 踩坑之路之打包时出现JAVASCRIPT HEAP OUT OF MEMORY的几种解决办法
  10. 透明色的rgb值是多少_一文掌握PPT主题色原理及使用技巧
  11. bartlett方差齐性检验_数据总体分布检验
  12. 【python】装饰器小结(被装饰函数有/无返回值情况,保留被装饰函数信息)
  13. html文件用excel打开乱码,都是兼容惹的祸 用excel打开xls文件出现乱码的解决方法...
  14. 单位换算:s(秒),ms(毫秒),μs(微秒),ns(纳秒),ps(皮秒)
  15. 51单片机之 IE,TCON,TMOD 寄存器 (超详细解读-内含详细代码)
  16. Three.js地球开发—1.经纬度转球面坐标
  17. 弱水三千,只取一瓢,当图像搜索遇见PostgreSQL(Haar wavelet)
  18. img标签,图片占位
  19. 干货|最全焊接不良汇总,你知道如何避免吗?
  20. 图文解说百兆和千兆网线制作方法

热门文章

  1. cocos2d-x 在simulator中运行闪退显示thread 1:breakpoint 1.1的解决方法
  2. c# 与c++接口间调用时传递结构体
  3. 图论5:Tarjan!塔尖!
  4. 如何删除暴风影音中的影视库
  5. 计算机教育多元化,高校非计算机专业计算机教育多元化
  6. (五十六)假设检验(t检验、卡方检验)
  7. 编码UTF8,Unicode,GBK
  8. 计算机很快就会冷却,不会产生热量
  9. HP 惠普打印机,打印是时候 显示 需要用户干预
  10. 通过网络调试助手连接阿里云