/*
有源蜂鳴器實驗;
特點描述: 有緣蜂鳴器極其簡單,為二源元件,
本系統使用蜂鳴器工作電壓是5v,
只要接入5V電源,蜂鳴器就響.
硬件連接: PC7引腳;
音系: 模擬警報聲;
2014年12月5日19:56:57
*/
#include <iom16v.h>
#include <macros.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
void init_io() // ATMEGA16A所有IO口初始化;
{
DDRA=0XFF;
PORTA=0X00; //PA口輸出0;
DDRB=0XFF;
PORTB=0X00; //PB口輸出0;
DDRC=0Xff;
PORTC=0X00; //PC口輸出0;
DDRD=0XFF;
PORTD=0X00; //PD口輸出0;
}
void pc7(uint8 s) //位操作pc7引腳;
{
if(s)
{
PORTC|=0x80; //PC7置一;
}
else
{
PORTC&=~0x80; //pc7清零;
}
}
void buzz() // 蜂鳴器鳴叫;
{
uint16 j=0;
uint8 u=0;
pc7(1); //蜂鳴器開;
for(j=0;j<10000;j++); //延時;
pc7(0); // 蜂蜜器關;
}
void main(void) //主函數;
{
uint8 a=1,j=0; //可以不定義此變量,可以直接在調用a變量的位置寫1代替;
uint16 h=0; //用于延時計數;
init_io(); //調入初始化函數;
while(a)
{
for(j=0;j<9;j++) //循環7次,故鳴叫七次;
{
buzz(); //鳴叫;
for(h=0;h<10000;h++); //延時;
}
pc7(1);
for(h=0;h<60000;h++);
for(h=0;h<60000;h++);
pc7(0);
for(h=0;h<40000;h++);
}
}