新闻  |   论坛  |   博客  |   在线研讨会
AVR笔记2:有源蜂鸣器驱动实验(GCC)
mayer | 2009-09-01 19:40:43    阅读:2874   发布文章

AVR笔记2:有源蜂鸣器驱动实验(GCC)

 

》》点此进入    http://bbs.armavr.com/   ARM-AVR嵌入式开发论坛

一、程序结构
程序结构

下载 (6.58 KB)
2009-7-22 21:38


二、仿真效果
点击看大图
下载 (180.2 KB)
2009-7-22 21:30



三、程序源码
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

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客