Linux下的51单片机蜂鸣器实验

1、 实验目的
了解蜂鸣器的工作原理
学会编写程序驱动蜂鸣器;
2、 实验设备
装有sdcc交叉编译环境,Python烧写工具,装有Linux的系统;
 51单片机开发板 1 个,USB 数据线 1 根,跳线帽 1 个
3、 实验内容
 了解蜂鸣器工作原理说明
 使用 keil 软件编写、编译程序;
 用跳线帽将 J4 短接,下载程序,观察蜂鸣器状态;
4、 实验原理
蜂鸣器有两种:一种是有源蜂鸣器,内含多谐振荡器,能够采用直流电源直接驱动,本
开发板使用的就是有源蜂鸣器;另外一种就是无源蜂鸣器,需要通过脉冲来驱动,不能采用
直流来驱动。怎样区分有源跟无源蜂鸣器,一般蜂鸣器底部有黑胶封住的就是有源蜂鸣器,
否则是无源蜂鸣器。在硬件电路中,蜂鸣器一般要接上一个三极管,三极管的作用有两个,
一是充当开关作用,二是增大驱动蜂鸣器的电流。

5、 实验相应寄存器
P0(0x80)
位 名称 复位
7:0 P0[7:0] 0xFF
描述
R/W
R/W
开漏输出,加上拉电阻作通用 I/O 端口。可以从 SFR 位寻址。

6、 实验电路图


图 6_1 蜂鸣器电路图
引脚对应表:
FM
P0_7
7、 实验程序实现
蜂鸣器驱动实验程序:
/*************************************************************************> File Name: fengmingqi.c> Author:chensir > Mail:1441353519@qq.com > Created Time: 2016年12月06日 星期二 20时06分21秒************************************************************************/#include
#include <8051.h> //头文件
#define uchar unsigned char
#define uint unsigned int
/******************延时函数***********************/
void delayms(unsigned int x)
{unsigned int i;while(x--){for(i=0;i<113;i++);}}
/******************主函数***********************/
void main()
{while(1){P0_7=0;//驱动蜂鸣器delayms(500);P0_7=1;//关闭蜂鸣器delayms(500);}}

 


8、 实验步骤

1、先了解蜂鸣器的工作原理
2、编写程序,编译并生成 HEX 文件;
3、连接跳线帽 J4,下载程序并观看现象;
实验五 蜂鸣器驱动实验
9、 实验结果

蜂鸣器响500ms,停500ms;



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部