STC89C52之直流电机 ----自学笔记
一、什么是直流电机
1.1、直流电机简述
- 直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转化成直流电能(直流发电机)的旋转电机。
- 它能实现直流电能和机械能相互转换的电机。
- 当它作电动机运行时直流电动机,将电能转化为机械能;作发电机运行时是直流发电机,将机械能转化为电能。
1.2、本单片机中直流电机的组成
二、ULN2003 芯片
2.1、简述
- ULN2003 是一个单片高电压、高电流的达林顿晶体管阵列集成电路。
- 它是由 7 对 NPN 达林顿管组成的,它的高电压输出特性和阴极箝位二极管可以转换感应负载。
2.2、特点
- 500mA 额定集电极电流(单个输出)
- 高电压输出:50V
- 输入和各种逻辑类型兼容
- 继电器驱动器
2.3、原理图
三、代码
3.1、让电机一直旋转
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;sbit moto=P1^0; /*******************************************************************************
* 函 数 名 : delay
* 函数功能 : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{while(i--); delay(1000); // 递归:函数字节调用字节 使电机一直工作
}void main()
{ u8 i;moto=0; //关闭电机for(i=0;i<100;i++) //循环100次,也就是大约5S{moto=1; //开启电机delay(1000); //大约延时50ms}moto=0; //关闭电机while(1){ }
}
3.2、电机旋转5s
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include<intrins.h> //因为要用到左右移函数,所以加入这个头文件typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;sbit moto=P1^0; /*******************************************************************************
* 函 数 名 : delay
* 函数功能 : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{while(i--); // 递归:函数字节调用字节 使电机一直工作
}void main()
{ u8 i;moto=0; //关闭电机for(i=0;i<100;i++) //循环100次,也就是大约5S{moto=1; //开启电机delay(1000); //大约延时50ms}moto=0; //关闭电机while(1){ }
}
STC89C52之直流电机 ----自学笔记相关推荐
- 字节跳动大佬的Python自学笔记.pdf
1. 字节跳动大佬的Python自学笔记 这是我的一个朋友自学资料包,通过这个资料包自学拿到了字节跳动的Offer, 下面是他之前入门学习Python时候的学习资料,非常全面,从Python基础.到w ...
- JAVA自学笔记07
JAVA自学笔记07 1.构造方法 1) 例如:Student s = new Student();//构造方法 System.out.println(s);// Student@e5bbd6 2)功 ...
- MySQL自学笔记2--select的5个子句
MySQL自学笔记 使用的MySQL自带命令客户端,其中具体的操作是在自建的数据库下room303表中进行的,表中的列有:id.name.age.email.tel.salary.riqi.class ...
- JAVA自学笔记24
JAVA自学笔记24 1.能使用同步代码块就使用同步代码块,除非锁对象是this,就可以考虑使用同步方法.静态方法的锁是类的字节码对象. 2.JDK5新特性 1)接口Lock void Lock()/ ...
- 怎么用vc采集ni卡数据_SystemLink自学笔记(6):SystemLink架构和数据服务
1. SystemLink架构和数据服务 1.1. 架构和特点 现在在对SystemLink的功能有了一个大概的了解后,可以进一步从它的整体架构学习这门新技术了.NI官网给出了白皮书,原文是英文资料, ...
- JAVA自学笔记22
JAVA自学笔记22 1.操作基本数据类型的流 DataInputStream DataOutputStream 数据输出流允许应用程序以适当方式将基本的Java数据类型写入输出流中.然后,应用程序可 ...
- 字节、阿里等大厂的技术如何?看看这些Java程序员的自学笔记
这份笔记涉及JVM.JAVA集合.JAVA多线程并发.JAVA基础.Spring原理.微服务.Netty与RPC.网络.日志.Kafka.RabbitMQ.Hbase.MongoDB.设计模式.负载均 ...
- 深入理解弹性盒布局(fiex-box)——Web前端系列自学笔记
文章目录 弹性盒布局 弹性盒布局概述 弹性盒布局属性 display flex-flow justify-content align-items order flex align-self 总结 弹性 ...
- JAVA自学笔记21
JAVA自学笔记21 1.转换流 由于字节流操作中文不是非常方便,因此java提供了转换流 字符流=字节流+编码表 1)编码表 由字符及其对应的数值组成的一张表 图解: 2)String类的编码和解码 ...
最新文章
- 让SpringBoot不再需要Controller、Service、Mapper,这款开源工具绝了!!!
- 一直学不明白的「递归」与「动态规划」原来这么简单
- 用php对文件的操作
- java代码中何处以main开始,Gradle-user guide-第7章 Java 快速开始
- [HDU1394]Minimum Inversion Number
- Property 'submit' of object #HTMLFormElement is not a function
- 博途pcpg接口无法选择_博途TIA功能,如何创建一个S7-1200的项目及硬件组态?
- 2020牛客暑期多校训练营(第六场)
- 工作244:根据页面的内容调用
- mysql group by cube_SparkSQL 中group by、grouping sets、rollup和cube方法详解
- 【CSAPP笔记】14. 异常控制流和进程
- 数据分析不能落地?快来围观,学会数据分析应用,一起升职加薪
- Jquery 查看DOM上绑定的事件列表
- 项目中的每个层的理念是什么?
- 现实世界的Windows Azure:采访Gizmox 研发中心的副总裁Itzik Spitzen先生
- html查看ie版本,如何查看ie版本?三种IE版本查看方法介绍
- 微信小程序前端编程踩过的坑实战记录
- Effective C++中文版
- Ribbon的基本使用
- 华为交换机配置基础命令