一、蜂鸣器实验
在很多的单片机系统中除了显示器件外经常还有发声器件,最常见的发声器件是蜂鸣器。蜂鸣器一般用于一些要求不高的声音报警及按键操作提示音等场合。
蜂鸣器的形状一般如图1 所示。
虽然它有自己的固有谐振频率,但是它也可以被加以不同频率的方波,从而编制一些简单的音乐。
图1 蜂鸣器实物图
1.实例功能
本实例就是来实现蜂鸣器发声,通过本小节的实验,可以使读者熟练掌握蜂鸣器的应用。硬件照片如图2 所示。
图2 蜂鸣器和继电器实验演示图
2.器件和原理
有源蜂鸣器和普通扬声器相比,最重要一个特点是只要按照极性要求加上合适的直流电压,就可以发出固有频率的声音,因此使用起来比扬声器简单。由此可知,有源蜂鸣器的控制和LED 的控制对单片机而言是没有区别的。无源蜂鸣器则要交流驱动,改变驱动频率可以奏简单音乐。
3.硬件电路
虽然蜂鸣器的控制和LED 的控制对于单片机是一样的,但在外围硬件电路上却有所不同,因为蜂鸣器内阻较低且是一个感性负载,一般不建议用单片机I/O 口直接对它进行操作,所以最好加个驱动三极管,在要求较高的场合还会加上反向保护二极管。本例实验没有加反相二极管保护,硬件电路可以参考图3。
通过硬件原理图可知,图中三极管用了PNP型9012,所以要使蜂鸣器发声只要给单片机RD7交替置低置高电平就可,由此可以为下文的程序编写提供关键参考。
#include<pic.h>
void delay_1(void)
{
unsigned char n;
for(n=0;n<50;n++)
{
NOP();}
}
void delay_ms(unsigned int time)
{
for(;time>0;time--)
{
delay_1();}}
void main(void)
{
TRISD=0X00;
while(1)
{
PORTD=0x00;
delay_ms(1000);
PORTD=0x80;
delay_ms(1000);
}
}
二、继电器实验
在现代自动控制设备中,都存在一个电子电路(弱电)与电气电路(强电)的互相连接问题,一方面要使电子电路的控制信号能够控制电气电路的执行元件(如电动机、电磁铁、电灯等),另一方面又要为电子线路与电气电路提供良好的电隔离,以保护电子电路和人身的安全,减少干扰。继电器便能完成这一桥梁作用。
1.实例功能
本实例通过单片机来控制继电器吸合、释放,读者可以熟练掌握继电器的使用方法。在本例中读者也可以用继电器的常开、常闭触点控制电灯的亮灭,实现“以小控大”。图2 中D4 为继电器吸合时的指示灯。
2.器件和原理
继电器是一种电子控制器件,它由控制系统(又称输入回路)和被控制系统(又称输出回路)组成,通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“电动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。
在大多数的情况下,继电器就是一个电磁铁,这个电磁铁的衔铁可以闭合或断开一个或数个接触点。
当电磁铁的绕组中有电流通过时,衔铁被电磁铁吸引,因而就改变了触点的状态。继电器一般可以分为电磁式继电器、热敏干簧继电器、固态继电器等。
本实验板上配置电磁式继电器如图4。
图4 继电器实物图
继电器也是属于感性器件内阻很低,所以不能用单片机的I/O 口直接来控制,要由三极管驱动且加反相保护电路。一般实验中都是单片机通过一个PNP 型三极管,把三极管作为电子开关来驱动继电器,继电器的开和关完全由三极管的基极电平进行控制。当三极管基极为高电平,PNP 型三极管截止,这时继电器不工作;反之为低电平的话,PNP 型三极管导通,继电器得电吸合。
3.硬件电路
继电器实验原理图可以参考图5。
4.程序设计
#include<pic.h>
void main(void)
{
TRISD=0X00;
while(1)
{
PORTD=0x00;
delay_ms(1000);
PORTD=0x40;
delay_ms(1000);
}
}