驱动蜂鸣器的实验

 

学生实验报告

 

 

 

 

 

 

 

课程名称:单片机原理与应用

专业班级:嵌入式14103班  __

姓    名:_赵存档___________

学    号:14160310317

 

 

2015--2016    学年第 1 学期

 

 

实验项目( 二 ) — 预习报告


项目

名称


驱动蜂鸣器实验


实验

目的

要求


目的:学会本次实验是如何进行实现的,以及对实验原理的理解。

要求:认真完成本实验的keil代码的编写,proteus电路仿真图的设计。 小组内独立完成实验项目内容。


实验

内容

原理


驱动蜂鸣器的实验:

实验内容:先在proteus仿真软件中画好电路图,然后在keil中编写驱动蜂鸣器的代码。进行调试代码是否正确,如果正确设置好晶振频率,生成hex文件,加载到proteus 51单片机中去。

实验原理:

让蜂鸣器发出声音,需要给蜂鸣器一个脉冲信号。51单片机没有输出脉冲信号的引脚,就要自己编写一个脉冲信号的代码。即:先给蜂鸣器一段高电平,然后延长一段时间,给一段低电平,然后延长一段时间。最后加一个循环。


预习过程中的疑问以及疑问  解答


关于驱动蜂鸣器的实验:

疑问一:怎么样让单片机产生一个脉冲信号给蜂鸣器?

解答:定义一个引脚,定义一段时间为高电平,定义一段时间为低电平,然后可以加一个循环。

疑问二:使蜂鸣器发生函数是怎么写的?

解答:for循环里面加脉冲,即:for(i=0;i<count;i++){   buzzer=1;delay(High);buzzer=0;

Delay(Low)};

疑问三:void pulse_BZ(int,int,int)是什么意思?

解答:定义蜂鸣器发声的函数,第一个括号里面的int表示传参,第一个int 表示

Count发声的次数,第二个int表示高电平,第三个int表示低电平。

疑问四:delay延时函数是怎么计算的?

解答:void delay(int x){ int i,j; for(i=0;i<x;i++)for(j=0;j<1200;j++);}   这里12MHZ的晶振,一个机器周期12*1/12=1us,一个for循环8us,这里8*1200约等于10ms

总的延时 x*10ms


实验项目( 二 ) — 实验报告


项目

名称


驱动蜂鸣器实验


指导教师


高照玲


实验室


教室


实验日期


2015/10/14


分组

情况


赵存档、


成    绩


实验步骤(算法、代码、方法)给出流程图


驱动蜂鸣器的实验:

流程图:

主要实现代码:

延迟函数:

void   delay(int x)

{    int i,j;

for(i=0;i<x;i++)

for(j=0;j<60;j++); }

蜂鸣器发声函数:

void   Buzzer(int count,int High,int Low)

{  int i;

for(i=0;i<count;i++)

{  buzzer = 1;

delay(High);

buzzer = 0;

delay(Low);}

}


实验结果(结论及

分析)


通过实验,知道怎么样给单片机产生一个脉冲信号:一段高电平,一段低电平。

编写代码的时候,知道怎么写一个延迟函数也就是for循环:先知道机器周期12MHZ的晶振是12*1/12=1us。X * 第2个for循环里面的数字约等于几ms;

Delay()函数里面填写 X数字。

画电路的时候注意一些要点:加不加电阻和二极管之类的。

编写代码的时候:延时函数的第一个for后面没有分号的,不然会照成延时不对。


成绩

时间: 2024-10-16 06:52:46

驱动蜂鸣器的实验的相关文章

Ardupilot(PX4)飞控驱动蜂鸣器和RGB细节

Ardupilot(PX4)飞控驱动蜂鸣器细节 飞控代码细节 任务调用频率50HZ(20ms),buzzer.update() 内部将频率减少到10HZ(100ms) 单响(SINGLE_BUZZ) 响1次,100ms 解锁事件错误,电池故障提醒,其中加锁只响一次,其他两种会一直间断响 双响(DOUBLE_BUZZ) 100ms间断响两次 vehicle_lost间断响,找飞机时使用 解锁(ARMING_BUZZ) 响声 3S 解锁常响3S一次 BARO_GLITCH,100ms间断响5次(飞控

v3学院带你学习《驱动蜂鸣器演奏歌曲》

此文章为原创出自 V3学院 www.v3edu.org,FPGA培训专家 一.实验背景(一)蜂鸣器的介绍1.蜂鸣器的作用蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机.打印机.复印机.报警器.电子玩具.汽车电子设备.电话机.定时器等电子产品中作发声器件.2.蜂鸣器的分类蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型.3.蜂鸣器的电路图形符号蜂鸣器在电路中用字母"H"或"HA"(旧标准用"FM"."LB"

openwrt-安装-驱动-应用-lcd2004a实验

1. 板子f403tech的RT5350的板子和 (1)openWRT系统的定义和特点 OpenWrt是一个高度模块化.高度自动化的嵌入式Linux系统,拥有强大的网络组件,常常被 用于工控设备.电话.小型机器人.智能家居.路由器以及VOIP设备中. OpenWrt支持各种处理器架构,无论是对ARM,X86,PowerPC或者MIPS都有很好的支持. 其多达3000多种软件包,囊括从工具链(toolchain),到内核(linux kernel),到软件包 (packages),再到根文件系统(

android驱动学习---led实验

======================== 驱动: 内核:android-kernel 2.6.36  (必须对应你的板子上内核,不然会出现insmod错误) 目的:通过android应用层用户空间访问内核空间驱动程序. 实验:Button控件,点亮和熄灭LED. 注明:android应用层访问驱动,一般有2种方法来访问到硬件驱动程序. 这里讲解个人看法,各位别介意. 1: 应用层 ---> framwork层JNI ---> 驱动c 2:  应用层 ---> framwork层J

驱动继电器实验

学生实验报告               课程名称:单片机原理与应用 专业班级:嵌入式14103班  __ 姓    名:_赵存档___________ 学    号:14160310317     2015--2016    学年第 1 学期     实验项目( 三 ) — 预习报告 项目 名称 驱动继电器实验 实验 目的 及 要求 目的:学会本次实验是如何进行实现的,以及对实验原理的理解. 要求:认真完成本实验的keil代码的编写,proteus电路仿真图的设计. 小组内独立完成实验项目内容

蜂鸣器驱动的学习

蜂鸣器驱动 蜂鸣器分直流和交流两种,所谓的直流蜂鸣器是加个电压就可以响,交流蜂鸣器其实就相当于一个喇叭,直接加直流后不会出声或者声音很低,需要外加脉冲才能正常工作,这个脉冲可以是方波,也可以是一段音乐,这个信号属于交流信号. mini2440的蜂鸣器连接图如下: 貌似这是一个交流蜂鸣器,所以需要pwm驱动. 在此之前先介绍几个函数: S3C2410_GPB 如果gpioa的最低位引脚偏移量为0,总的来说s3c2410_gpb求得是b中的各个引脚相对于GPIOa最低位的偏移量. s3c2410_g

第八章-:蜂鸣器驱动

由于自激蜂鸣器是直流电压驱动的,不需要利用交流信号进行驱动,只需对驱动口输出驱动电平并通过三极管放大驱动电流就能使蜂鸣器发出声音,很简单,这里就不对自激蜂鸣器进行说明了.这里只对必须用1/2duty 的方波信号进行驱动的他激蜂鸣器进行说明. 单片机驱动他激蜂鸣器的方式有两种:一种是PWM 输出口直接驱动,另一种是利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动. PWM 输出口直接驱动是利用PWM 输出口本身可以输出一定的方波来直接驱动蜂鸣器.在单片机的软件设置中有几个系统寄存器是用来设置P

2017-2018-1 20155216 实验四:外设驱动程序设计

2017-2018-1 20155216 实验四:外设驱动程序设计 实验四外设驱动程序设计-1 实验要求: 学习资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章 提交康奈尔笔记的照片(可以多张) 实验结果: 笔记照片: 实验四外设驱动程序设计-2 实验要求: 在Ubuntu完成资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章的test试验 提交编译,加载模块,卸载模块,测试运行的截图(要多张,全

2019-2020-1 20175227张雪莹《信息安全系统设计基础》 实验四 《外设驱动程序设计》

2019-2020-1 20175227张雪莹<信息安全系统设计基础> 实验四 <外设驱动程序设计> 实验报告封面 课程:信息安全系统设计基础 班级:1752班 姓名:张雪莹 学号:20175227 指导教师:娄嘉鹏 实验日期:2019年11月25日 实验时间:--- 实验序号:四 实验题目:外设驱动程序设计 实验步骤 任务一 要求: 学习资源中全课中的"hqyj.嵌入式Linux应用程序开发标准教程.pdf"中的第十一章 提交康奈尔笔记的照片(可以多张) 任务