/*
有源蜂鸣器试验;
特色描绘: 有缘蜂鸣器极端简略,为二源元件,
本系统运用蜂鸣器作业电压是5v,
只需接入5V电源,蜂鸣器就响.
硬件衔接: PC7引脚;
音系:模仿警报声;
2014年12月5日19:56:57
*/
#include
#include
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++);
}
}