历史上的今天
今天是:2024年11月03日(星期日)
2021年11月03日 | STC89C52之直流电机 ----自学笔记
2021-11-03 来源:eefocus
一、什么是直流电机
1.1、直流电机简述
直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转化成直流电能(直流发电机)的旋转电机。
它能实现直流电能和机械能相互转换的电机。
当它作电动机运行时直流电动机,将电能转化为机械能;作发电机运行时是直流发电机,将机械能转化为电能。
1.2、本单片机中直流电机的组成

二、ULN2003 芯片
2.1、简述
ULN2003 是一个单片高电压、高电流的达林顿晶体管阵列集成电路。
它是由 7 对 NPN 达林顿管组成的,它的高电压输出特性和阴极箝位二极管可以转换感应负载。

从上图可以很容易理解该芯片的使用方法,其内部实际上就相当于非门 电路,即 输入高输出为低,输入低输出高 。 若使用该芯片驱动直流电机,只可实 现单方向控制 ,电机一端接电源正极,另一端接芯片的输出口。若想控制五线四相步进电机,则可将四路输出接到 步进电机的四相上,电机另一条线接电源正。
2.2、特点
500mA 额定集电极电流(单个输出)
高电压输出:50V
输入和各种逻辑类型兼容
继电器驱动器
2.3、原理图

三、代码
3.1、让电机一直旋转
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include 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 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) { } }
史海拾趣
|
内容:本系统由两部分组成,以MCS-51单片机作为下位机采集数据部分设计和 MCS-51与LabVIEW之间数据通讯部分设计。 要求: 1、查阅相关的文献资料,撰写开题报告并完成外文资料翻译。 2、熟练掌握掌握相关元器件的功能,并会加以运用。 3、熟练 ...… 查看全部问答> |
|
在研制带处理器的电子产品时,如何提高抗干扰能力和电磁兼容性? 一、下面的一些系统要特别注意抗电磁干扰: 1、微控制器时钟频率特别高,总线周期特别快的系统。 2、系统含有大功率,大电流驱动电路,如产生火花的继电器,大电流开关等。 ...… 查看全部问答> |
|
各位大哥,望给兄弟指点一下。 我现在使用WINCE6.0; 如何把这个改成中断方式测试啊?? 测试驱动如下: hDrv=CreateFile(L\"SPI1:\",GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0);// char datavalue[10]={0x00,0x01,0x0 ...… 查看全部问答> |
|
在build的时候出现这样的错误: >> error: illegal relocation type 050002 found in section .debug_info, file C:\\\\tidcs\\\\DMC\\\\c28\\\\v32x\\\\lib\\\\dmclib\\\\c ...… 查看全部问答> |
|
我用Quartus II编写代码,编译后,调用Modelsim6.0仿真,可就是不行。调用Modelsim6.0可以执行功能仿真(前仿真),可执行后仿真就不行了,老有错。只要添加.sdo文件一运行就过不了。真不知该咋办。。。。。。。我下了不少学习文件来看。。可还是解 ...… 查看全部问答> |
|
运行Vds-id DC ITM漏极[1]扫描电压的默认设置是0-4V,以100 mV为一个步长,同时门极电压有三级:1.5,2.0,2.5V(图1,图2)。当改变这些设置时,请注意,电压和步长的设置可以用于Vds-id-pulse测试的设置。 图1. &nbs ...… 查看全部问答> |




