MicrochipStudio7教程_01-Buzzer蜂鸣器

木仔科技 2024-03-09 11:12:04

1.打开软件

2.软件中打开配套代码

File -> Open -> Project/Solution...

然后找到开发板配套资料包的项目文件:

加载中....

有时候软件会提示你更新ATmega_DFP的库,这里取消即可

此时可以看到项目已经打开了:

备注:这里打开此项目也可以直接在代码的文件目录里面,双击项目文件

双击一下main.c文件,可以看到整个代码的内容如下:

再看一下开发板控制蜂鸣器的原理图:

蜂鸣器通过一个三极管的开关作用来给蜂鸣器进行供电,蜂鸣器是有源蜂鸣器,只有提供电源,即可发出鸣叫声,通过Q1这个2N3904我们可以知道,只要Bee端给一个高电平,三极管可以导通,蜂鸣器响起;Bee给低电平三极管不导通蜂鸣器不响;

Bee端,我们在开发板上通过一个跳线帽把它跟PB0短路在仪器,如下图:

也就是PB0 -> 高电平 -> 蜂鸣器响,PB0 -> 低电平 -> 蜂鸣器不响

再看看代码:

首先还是头文件的定义:

#include <avr/io.h>

#define F_CPU 8000000UL //外部晶振设置

#include <util/delay.h>

再对PB0 这个IO的初始化

/*******************************************************************************

* 函数名称: io_init()

* 入口参数: void

* 函数作者: 木仔科技

* 功能描述: IO口初始化

*******************************************************************************/

void io_init(void)

{

DDRB |= (1 << PB0); //设置PB0为输出  另外的写法:DDRB |= 0x01;

PORTB &= ~(1<< PB0);//PB0输出低电平 另外的写法:PORTB &= ~(0x01);

}

接下来是主函数:

/*******************************************************************************

* 函数名称: main()

* 入口参数: void

* 函数作者: 木仔科技

* 功能描述: 主函数

*******************************************************************************/

int main(void)

{

/* Replace with your application code */

io_init();//IO口初始化

while (1)

{

PORTB |= (1 << PB0);//IO输出高,蜂鸣器响  另外的写法:PORTB |= 0x01;_delay_ms(200);//持续的时间PORTB &= ~(1<< PB0);//IO输出低,蜂鸣器不响 另外的写法:PORTB &= ~(0x01);_delay_ms(200);//持续的时间

}

}

整体如下:

点一下编译:

可以看到没有错误和警告:

这个时候在代码路径下就可以产生烧录文件HEX:

把它下载到单片机里面就可以实现蜂鸣器的实验。

0 阅读:1

木仔科技

简介:产品开发,方案设计,电路板设计,电路研发,程序研发!