"); //-->
》》点此进入 http://bbs.armavr.com/ ARM-AVR嵌入式开发论坛
一、程序结构
三、程序源码
1、main.c
/*******************************************************************************
Platform : AVR mega16学习板(www.iccavr.com)
Project : 实验二:有源蜂鸣器驱动实验(GCC)
Clock F : 3.6864M
Software : WinAVR-20071221+Proteus7.4
Author : 林夕依然
Version : 08.11.22
Updata : 09.02.25 模块化
Updata : 09.04.30 增加proteus仿真模型,完善comments说明。
09.05.02 将Q1由BC807更改为2N2907后,仿真通过
09.07.21 WinAVR-20071221环境下编译通过
comments :
1、学习板上为无源蜂鸣器,因此本程序不能为学习板所用。
2、实现蜂鸣器的周期鸣叫。
3、delay.c也调试成功,主要原因还是头文件或C语法问题。
*******************************************************************************/
#include <avr/io.h>
#include "bell.h"
int main(void)
{
DDRD=0XFF;
PORTD=0XFF;
while(1)
{
bell();
}
}
2、bell.c
/*******************************
Platform : AVR mega16学习板(www.iccavr.com)
function :蜂鸣函数
Clock F : 3.6864M
Software : WinAVR-20071221+Proteus7.4
Author : 林夕依然
Version : 09.02.25
Updata : 09.04.30 增加proteus仿真模型,完善comments说明
09.07.21 WinAVR-20071221环境下编译通过
comments :
1、无源蜂鸣器为AC蜂鸣器,须输入一定频率的脉冲波才可发声。
2、有源蜂鸣器为DC蜂鸣器,只要两端有电压即可发声。
3、有源蜂鸣器间隔50ms发声。
4、学习板上为无源蜂鸣器,因此本程序不能为学习板所用。
********************************/
#include <avr/io.h>
#include <util/delay.h>
void bell(void)
{
PORTD&=~(1<<PD5);
_delay_ms(50);
PORTD|=(1<<PD5);
_delay_ms(50);
}
3、bell.h
void bell(void);
四、完整项目文件下载
http://bbs.armavr.com/thread-789-1-1.html
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。