博客
关于我
C51蜂鸣器
阅读量:460 次
发布时间:2019-03-06

本文共 987 字,大约阅读时间需要 3 分钟。

C51蜂鸣器设计与实现

电路原理

本设计采用PNP结三极管Q1作为开关三极管,利用I/O口P2.3输出的高电平控制蜂鸣器的工作状态。具体来说,当P2.3输出高电平时,基极电位接近Vcc,三极管处于截止状态,蜂鸣器不响。当P2.3输出低电平时,Q1通过Vcc-Q1eb-R13-P2.3到地的回路获得基极电流,三极管导通并饱和,蜂鸣器随即发出鸣响。

工程目录

  • 硬件设计

    • 采用PNP结三极管Q1作为开关电路
    • 蜂鸣器驱动电路采用简单的双极管结构
    • I/O口P2.3用于控制蜂鸣器工作状态
  • 软件设计

    • 主程序fm_1实现蜂鸣器交替工作
    • 功能模块fm_deng实现流水灯报警功能
  • 主函数

    #include 
    #include "fm.h"int main() { fm_1(); //流水灯报警 while(1); return 0;}

    delay.h(C51流水灯三种操作)

    #ifndef __DELAY_H__#define __DELAY_H__#include "common.h"#define delay_xms(x)  delay_ms(x)#endif

    fm.h

    #ifndef __FM_H__#define __FM_H__#include "delay.h"#define on 0#define off 1sbit fm = P2^3;void fm_1(void);void fm_deng(void);void fm_1(void) {    while(1) {        fm = on; //P2^3 = 0;蜂鸣器响        delay_xms(100);        fm = off;        delay_xms(100);    }}void fm_deng(void) {    P1 = 0xfe; //1111 1110    //初始化流水灯    while(1) {        delay_xms(100);        P1 = _crol_(P1,1); //将P1循环左移1位        fm = on;        delay_xms(100);        fm = off;    }}#endif

    (以下内容与原文无关,已按照用户要求清理)

    转载地址:http://rhzbz.baihongyu.com/

    你可能感兴趣的文章
    npm 下载依赖慢的解决方案(亲测有效)
    查看>>
    npm 安装依赖过程中报错:Error: Can‘t find Python executable “python“, you can set the PYTHON env variable
    查看>>
    npm.taobao.org 淘宝 npm 镜像证书过期?这样解决!
    查看>>
    npm—小记
    查看>>
    npm介绍以及常用命令
    查看>>
    NPM使用前设置和升级
    查看>>
    npm入门,这篇就够了
    查看>>
    npm切换到淘宝源
    查看>>
    npm切换源淘宝源的两种方法
    查看>>
    npm前端包管理工具简介---npm工作笔记001
    查看>>
    npm包管理深度探索:从基础到进阶全面教程!
    查看>>
    npm升级以及使用淘宝npm镜像
    查看>>
    npm发布包--所遇到的问题
    查看>>
    npm发布自己的组件UI包(详细步骤,图文并茂)
    查看>>
    npm和yarn清理缓存命令
    查看>>
    npm和yarn的使用对比
    查看>>
    npm如何清空缓存并重新打包?
    查看>>
    npm学习(十一)之package-lock.json
    查看>>
    npm安装 出现 npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT npm ERR! 解决方法
    查看>>
    npm安装crypto-js 如何安装crypto-js, python爬虫安装加解密插件 找不到模块crypto-js python报错解决丢失crypto-js模块
    查看>>