1、蜂鸣器发音实例一、硬件电路图本实例中,硬件电路主要包括 8051 最小系统电路和蜂鸣器电路,原理电路如图所示。蜂鸣器使用 PNP 三极管 Q1 进行驱动控制,当 P0.0 引脚输出低电平时,Q1 导通,蜂鸣器蜂鸣;当 P0.0 引脚输出高电平时,Q1 截止,蜂鸣器停止蜂鸣。XTAL218XTAL119ALE30EA31PSEN29RST9P0./AD039P0.1/A138P0.2/AD237P0.3/A336P0.4/AD435P0.5/A534P0.6/AD63P0.7/A732P1.01P1.2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TX
2、1P3.2/INT012P3./IT113P3.4/T014P3.7/RD17P3.6/W16P3.5/T115P2.7/A1528P2.0/A821P2.1/A92P2./A1023P2.3/A124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C118pfC218pf X1CRYSTALC31uFR110k Q1PNPBUZ1BUZER二、软件程序设计在软件程序上单片机控制蜂鸣器发音和点亮 LED 闪烁是类似的。1、程序全貌;功能:蜂鸣器发出“滴、滴”的警报音BUZZER_PIN EQU P0.0ORG 0000H;伪指令,指定程序从 0000H 开始存放L
3、JMP MAIN;跳转指令,程序跳转到 MAIN 处ORG 0100H;伪指令,指定以下程序从 0100H 开始存放MAIN:MOV SP,#60H;给堆栈指针赋初值BUZZER:CPL BUZZER_PIN;取反 P0.0, 蜂鸣器蜂鸣LCALL DELAY;调延时子程序SJMP BUZZER;跳转,程序继续;延时子程序DELAY:MOV R7,#10HDELAY0:MOV R6,#7FHDELAY1:MOV R5,#7FHDJNZ R5,$DJNZ R6,DELAY1DJNZ R7,DELAY0RETEND2、运行结果本实例的运行结果为蜂鸣器发出“滴、滴”的警报音。三、技巧总结蜂鸣器是一种需要较大驱动电流的器件,单片机的引脚不能提供足够的驱动电流直接驱动蜂鸣器。对于类似蜂鸣器的器件,可以通过工作在导通/ 截止状态的三极管来驱动。