本文共 987 字,大约阅读时间需要 3 分钟。
本设计采用PNP结三极管Q1作为开关三极管,利用I/O口P2.3输出的高电平控制蜂鸣器的工作状态。具体来说,当P2.3输出高电平时,基极电位接近Vcc,三极管处于截止状态,蜂鸣器不响。当P2.3输出低电平时,Q1通过Vcc-Q1eb-R13-P2.3到地的回路获得基极电流,三极管导通并饱和,蜂鸣器随即发出鸣响。
硬件设计
软件设计
fm_1实现蜂鸣器交替工作fm_deng实现流水灯报警功能#include#include "fm.h"int main() { fm_1(); //流水灯报警 while(1); return 0;}
#ifndef __DELAY_H__#define __DELAY_H__#include "common.h"#define delay_xms(x) delay_ms(x)#endif
#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/