名称:51单片机之蜂鸣器和继电器

/*
名称:51单片机之蜂鸣器和继电器
说明:
1.关于蜂鸣器,一般来说,其控制方法和LED差不多,它们都只两种状态,只需要一个IO口即可控制。需要说明一点的是,一般来说蜂鸣器需要的驱动电流较大,一般的IO口提供不了,所以需要在中间接上放大电路,使其达到指定的工作电流。

其次蜂鸣器分为有源和无源蜂鸣器,这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。 而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。
有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。
本实验用的是无源蜂鸣器所以不能直接给起提供直流电源,需要有一定频率的变化方波(在这里就是0,1不断变化)提供,才能够使其发出声音。

2.关于继电器,其是用小电流控制大电流的一种仪器。基本用法同上,它也只有两种状态,通过IO控制即可。在此不再赘述
*/

#include <reg52.h>

sbit beep = P1^0;
sbit relay = P1^1;


//延时函数
void delay_ms(unsigned int n)
{
    unsigned int i=0,j=0;
    for(i=0;i<n;i++)
        for(j=0;j<123;j++);
}


void delay(unsigned int i)
{
    char j;
    for(i; i > 0; i--)
        for(j = 50; j > 0; j--);
}


void BeepTest()
{
    while(1)
    {
        beep = 1;
        delay(20);      //延时越长,声音越低沉
        beep = 0;
        delay(20);
    }
}


void RealyTest()
{
    while(1)
    {
        relay = 1;
        delay_ms(1000);
        relay = 0;
        delay_ms(1000);
    }
}

int main()
{

    //BeepTest();

    RealyTest();

    return 0;
}
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值