博客
关于我
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/

    你可能感兴趣的文章
    Node.js 模块系统的原理、使用方式和一些常见的应用场景
    查看>>
    Node.js 的事件循环(Event Loop)详解
    查看>>
    node.js 简易聊天室
    查看>>
    Node.js 线程你理解的可能是错的
    查看>>
    Node.js 调用微信公众号 API 添加自定义菜单报错的解决方法
    查看>>
    node.js 配置首页打开页面
    查看>>
    node.js+react写的一个登录注册 demo测试
    查看>>
    Node.js中环境变量process.env详解
    查看>>
    Node.js之async_hooks
    查看>>
    Node.js初体验
    查看>>
    Node.js升级工具n
    查看>>
    Node.js卸载超详细步骤(附图文讲解)
    查看>>
    Node.js卸载超详细步骤(附图文讲解)
    查看>>
    Node.js基于Express框架搭建一个简单的注册登录Web功能
    查看>>
    node.js学习之npm 入门 —8.《怎样创建,发布,升级你的npm,node模块》
    查看>>
    Node.js安装与配置指南:轻松启航您的JavaScript服务器之旅
    查看>>
    Node.js安装及环境配置之Windows篇
    查看>>
    Node.js安装和入门 - 2行代码让你能够启动一个Server
    查看>>
    node.js安装方法
    查看>>
    Node.js官网无法正常访问时安装NodeJS的方法
    查看>>