【C51自学笔记】ULN2003+蜂鸣器+继电器+步进电机

发布者:紫菜包饭最新更新时间:2022-04-22 来源: eefocus关键字:蜂鸣器  继电器  步进电机 手机看文章 扫描二维码
随时随地手机看文章

ULN2003:


ULN2003 是高耐压、大电流达林顿陈列,由七个硅NPN 达林顿管组成。 大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载 。

看成开关,共七路;

左方高电平:导通,可以过大电流

左方低电平:断开,不可以过大电流

OUT1:接入继电器


OUT2:接入蜂鸣器


OUT3 - OUT7 + CLAMP :接入步进电机


蜂鸣器:


自激蜂鸣器是直流电压驱动的,只需对驱动口输出驱动电平并通过放大电路放大驱动电流就能使蜂鸣器发出声音,非常简单。


改变单片机引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。


改变输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。

针脚3从ULN2003引入,针脚14接入蜂鸣器(SWDIP-8是一个拨码开关,也叫DIP开关)


#include

sbit beep=P0^1;

void main()

{

beep=1;//其实默认情况输出就是1

}


继电器


需通过控制I/O口的高低电平,就可以实现继电器的通断。


51单片机不能直接驱动,需要对驱动电平进行一个放大。

#include

sbit relay=P0^0;

 

void delay(void)

{

unsigned int a = 80000;

while(a--);

}

 

void main()

{

while(1)

{

relay=1;

delay();

relay=0;

delay();

}

}


步进电机:


步进电机是一步一步地转动,故称之为步进电机,每次能转动的最小角度称为步距角。


每当步进电机的驱动器接收到一个驱动脉冲信号后,步进电机将会按照设定的方向转动一个固定的角度(有的步进电机可以直接输出线位移,称为直线电动机)。


对于角位移步进电机,可以通过控制脉冲的个数来控制角位移量,从而达到准确定位的目的。


可以通过控制脉冲频率来控制步进电机的转动的速度和加速度,从而达到调速的目的。


相数可分为:单相,双相和多相三种。


步距角:


1相励磁方式:30°


1—2相励磁方式15° 

减速比:内电机转64圈,外转一圈


步进角度: 内部步距角的角度*减速比


想让步进电机转一圈:360/步进角

 

6:VCC


5:A相


4:B相


3:C相


2:D相


1:空


#include

#define uchar unsigned char

#define uint unsigned int

 

uchar Step_table[]={0x40,0x20,0x10,0x08};//01000000 

 

void delay(uint a)

{

while(a--);

}

 

void main(void)

{

uchar i;

uint j;

j=512;//360/步进角度

while(j--)

{

for(i=0;i<4;i++)//循环励磁 1000 0100 0010 0001

{

P0=Step_table[i];

delay(800);//实现延迟是因为,步进电机无法及时完成单向励磁之间的快速变换

}

}

while(1);//与开发环境有关,有可能会一直循环此程序,导致无法停止。

}

关键字:蜂鸣器  继电器  步进电机 引用地址:【C51自学笔记】ULN2003+蜂鸣器+继电器+步进电机

上一篇:【C51自学笔记】数码管(静态与动态显示)+74HC138+点阵的动态显示
下一篇:【C51自学笔记】闪烁灯+流水灯(四种方法) + 74HC573芯片+keil4软件仿真(debug)

推荐阅读最新更新时间:2024-11-11 11:02

51单片机汇编语言子程序调用指令RET RETI
控制转移 指令 用于控制程序的流向,所控制的范围即为程序存储器区间,MCS-51系列单片机的控制转移 指令 相对丰富,有可对64kB程序空间地址单元进行访问的长调用、长转移指令,也有可对2kB字节进行访问的绝对调用和绝对转移指令,还有在一页范围内短相对转移及其它无条件转移指令,这些指令的执行一般都不会对标志位有影响。 . 子程序调用指令(1条) 子程序是为了便于程序编写,减少那些需反复执行的程序占用多余的地址空间而引入的程序分支,从而有了主程序和子程序的概念,需要反复执行的一些程序,我们在编程时一般都把它们编写成子程序,当需要用它们时,就用一个调用命令使程序按调用的地址去执行,这就需要子程序的调用指令和返回指令。 LCALL
[单片机]
51单片机计时器和中断
计时器,中断 ############################ EX0(IE.0),外部中断0允许位; ET0(IE.1),定时/计数器T0中断允许位; EX1(IE.2),外部中断0允许位; ET1(IE.3),定时/计数器T1中断允许位; ES(IE.4),串行口中断允许位; EA (IE.7), CPU中断允许(总允许)位。 初始化对定时计数器操作: 第一步: 对TMOD赋值,以确定T0,T1的工作方式 第二部: 计算初值,写入TH0,TL0或者TH1,TL1 第三步: 中断方式,对IE赋值开放中断 第四步: 使TR0或者TR1置位,启动定时计数器工作方式是定时或者计数 TMOD: 低4位控制T
[单片机]
51单片机如何访问外部接口芯片?
单片机怎要访问外部接口芯片? 答:因为MCS-51单片机的外部数据存储器RAM和I/O口是统一编址的 。因此,用户可以把外部64KB的数据存储器RAM空间的一部分作为扩展外围I/O的地址空间。这样,单片机就可以像访问外部RAM存储器那样访问外部接口芯片,对其进行读/写操作了。
[单片机]
51单片机开发的几点心得
1、 单片机 IO口上电后默认是高电平。(P1、P2、P3口内部上拉,若P0口未接上拉电阻的话,默认是高阻态) 2、单片机工作频率=晶振频率/12,即使用12MHz的晶振,实际工作频率为1MHz,一个机器周期为1us。 3、单片机常用11.0592MHz的晶振,主要是保证串口通信的同步。比如说在9600波特率下每位数据电平持续96个机器周期,因为是整数值,不会产生误差。若使用12MHz的晶振,高波特率下通信容易产生误码。 4、三极管的使用:在模拟电路中,输入为高频模拟信号时,三极管一般工作在放大模式下。在数字电路中,三极管一般作为开关用,工作在饱和模式下。 5、在单片机数据线和地址线复用的情况下必须使用锁存器,可在工作时锁
[单片机]
蜂鸣器式通导率与线圈检查器电路图
蜂鸣器式通导率与线圈检查器电路图
[模拟电子]
<font color='red'>蜂鸣器</font>式通导率与线圈检查器电路图
一文详解80C51单片机的指令系统
指令是指示计算机执行某种操作的命令,计算机能识别执行的只能是二进制代码,以二进制代码来描述指令功能的语言,称为机器语言。 由于机器语言不便于人们识别,记忆,理解和使用,因此便对每条机器语言指令用助记符号来形象表示,这就便形成了汇编语言。 一条指令是机器语言的一个语句,包括操作码字段和操作数字段。一台计算机所具有的全部指令的集合,称为这台计算机的指令系统。 不同的微处理器,其指令系统一般是不同的。 80C51单片机指令系统共有111条指令,具体特点如下: 1)执行时间短,单机器周期指令(64条),双机器周期指令(45条),而四机器周期指令只有2条; 2)指令编码字节少,单字节指令(49条),双字节指令(45条)和最长的三字节
[单片机]
一文详解80C<font color='red'>51</font>单片机的指令系统
C51红外解码程序
这是一个简单的红外解码程序,是针对9ms起始码和4.5ms结束码的红外信号晶振用的是11.0592M的 #i nclude at89x52.h #i nclude stdio.h sfr p0=0x80; sfr p3=0xb0; sbit p32=p3^2; unsigned char dm,i,j,k; unsigned char data a ;//定义4个数组,用来存储代码 void ds0_9ms(void) { unsigned char j,k; for(j=18;j 0;j--) for(k=20;k 0;k--) ; } void ds1ms(void) { unsigned char i,j; for(i
[单片机]
单片机C语言C51的函数
函 数 1. 函数的定义 函数定义的一般格式如下: 函数类型 函数名(形式参数表) 形式参数说明 { 局部变量定义 函数体 } 前面部件称为函数的首部,后面称为函数的尾部,格式说明: 1).函数类型 函数类型说明了函数返回值的类型。 2).函数名 函数名是用户为自定义函数取的名字以便调用函数时使用。 3).形式参数表 形式参数表用于列录在主调函数与被调用函数之间进行数据传递的形式参数。 【例】定义一个返回两个整数的最大值的函数max()。 int max(int x,int y) { int z; z=x y?x:y; return(z); }
[单片机]

推荐帖子

求vs2003+wince4.2/vs2005+wince5.0环境下,串口编程源码
RT,查了很多资料都不能用,毕设需要,由于本人做B/S的,对这方面实在不懂,只好求能用的源码,有酬谢!联系qq:59970064tel:13759970064求vs2003+wince4.2/vs2005+wince5.0环境下,串口编程源码补充说明:开发语言:C#,wince平台没有CF2补丁(关键是我不会装,要命了,让一个外行搞这个。。。)顶起,没有高手帮忙么?有酬谢。
wenhuocai WindowsCE
小米电视机顶盒或定价499元主板图曝光
本帖最后由jameswangsynnex于2015-3-319:59编辑从此次泄露的图片看,小米机顶盒较AppleTV略大,制作工艺较市售机顶盒做工更为精致。  新浪科技讯11月2日晚间消息,小米的机顶盒又有新进展,今天下午,小米机顶盒主板图现身某IT垂直论坛。内部人士透露,机顶盒售价或定为499元并兼容AirPlay协议。  从此次泄露的图片看,小米机顶盒较AppleTV略大,制作工艺较市售机顶盒做工更为精致。上述人士透露,小米机顶盒具备HDMI高清输出和A
wstt 移动便携
为什么UC3843驱动MOS管的波形,只有几个周期有波形,其它时间没有?
我现在用UC3843控制MOS管来做boost升压电路,测量UC3843的6脚输出波形发现,只有几个周期有波形,其它时间输出波形一直为低。24VDC升压到120VDC,0.25A,开关频率为220K。请问这是为什么?为什么UC3843驱动MOS管的波形,只有几个周期有波形,其它时间没有?是否进入保护模式?环路设计不对。你现在是空载吗,加个轻负载试试爱国者(aigo)PAD707你好,我现在的负载是400Ω电阻。请问环路该怎么设计呢,谢谢~回复板凳张杰克的帖子从电流检测引脚来看
hfutdsplab 电源技术
操作系统是如何把鼠标一直保持在最顶层的?即使是在视频播放区域
操作系统是如何把鼠标一直保持在最顶层的?即使是在视频播放区域1.我听说WINDOWS有个刷新率的问题,难道显存显示的时候是被动的刷新的方式?每帧都先画鼠标,再画其他的层(或者再逐个的画出每个窗体)?,然后每一秒25帧?2.如果是按照每秒25帧刷新显存的工作方式,那么直接用DC设备填充屏幕为什么会把鼠标盖住?必须动一下鼠标才能显示鼠标光标?对GUI我不太明白,希望那个专家指导一下,或者推荐一本书或什么的?操作系统是如何把鼠标一直保持在最顶层的?即使是在视频播放区域鼠标和其他窗口图形有所
amote 嵌入式系统
TIVA Launchpad 七:显示汉字
这一次我用大汉字,32*32的,这个的关键是取模,只要模取对了,基本上就是写点啦!可是我从昨天到今天找了两天,才算把32*32的模取成功。原因为所有的取模软件只支持到16*16.好不容易找到的东东可以取32*32甚至更大,好东东不敢独享,发上来,同时也马克一下。含破解文件在里边程序就是写点 voidPutGB3232(unsignedshortx,unsignedshorty,unsignedcharc,unsignedintfColor,unsigned
ddllxxrr 微控制器 MCU
【翌创ET6001测评】FOC电流环算力
测试目的:评估在200M主频下的执行FOC电流环的算力测试结果:如下图所示,ADC完成采样中断时,置IO为高电平,读ADC,计算FOC电流环,设置PWM输出,置IO为低电平。测试得到单次FOC电流环时间为1.72uS。说明:由于我开发环境,暂无法DEBUG,无法单次调试抓内存数据,只能通过GPIO测定FOC电流环执行时间;开发板是只有IO的最小系统,没有BLDC电控需要的MOS驱动以及ADC配合PGA的真实采样环路,所以测试的仅为算力测试。一般在1
majorshu 国产芯片交流
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved