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:
把它下载到单片机里面就可以实现蜂鸣器的实验。