基于Atmega64单片机的波形发生器程序Word文档下载推荐.docx

上传人:b****5 文档编号:18914693 上传时间:2023-01-02 格式:DOCX 页数:13 大小:16.16KB
下载 相关 举报
基于Atmega64单片机的波形发生器程序Word文档下载推荐.docx_第1页
第1页 / 共13页
基于Atmega64单片机的波形发生器程序Word文档下载推荐.docx_第2页
第2页 / 共13页
基于Atmega64单片机的波形发生器程序Word文档下载推荐.docx_第3页
第3页 / 共13页
基于Atmega64单片机的波形发生器程序Word文档下载推荐.docx_第4页
第4页 / 共13页
基于Atmega64单片机的波形发生器程序Word文档下载推荐.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

基于Atmega64单片机的波形发生器程序Word文档下载推荐.docx

《基于Atmega64单片机的波形发生器程序Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于Atmega64单片机的波形发生器程序Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。

基于Atmega64单片机的波形发生器程序Word文档下载推荐.docx

voidjuchibo(void);

voidsanjiaobo(void);

voidRead_Key(void);

voiddelay(uint);

voiddelay1(uint);

voiddelay2(uint);

intmain(void)//GCC中main文件必须为返回整形值的函数,没有参数

{

DDRA=0xFF;

DDRC=0xFF;

DDRG=0xFF;

PORTC=0x00;

PORTG=0x00;

TCNT0=0;

num=0;

DDRF=0x1C;

while

(1)

{

Read_Key();

switch(num)

{

case1:

fangbo();

break;

case2:

zhengxianbo();

case3:

juchibo();

case4:

sanjiaobo();

}

}

}

voidfangbo(void)

uinti,j=0;

uintys=30;

ucharb=0xFF;

TCCR0=_BV(CS0);

while(num==1)

for(i=0;

i<

ys+1;

i++)

{

loop_until_bit_is_set(TIFR,TOV0);

TIFR|=_BV(TOV0);

}

if(j)

PORTA=b,j=0;

else

CLR_WAVE,j=1;

case5:

{ys=ys-30;

num=1;

case8:

{ys=ys+30;

case6:

{b=0xFF;

case9:

{b=0x7F;

}//方波

voidzhengxianbo(void)

{

TCCR0=_BV(CS00);

uintys=700;

if(num==2)

{

//j=0;

//DDRA=0xFF;

//PORTA=tosin[j];

//正弦波

for(j=0;

j<

=367;

j++)

PORTA=tosin[j];

loop_until_bit_is_set(TIFR,TOV0);

delay2(ys);

{ys=ys-100;

num=2;

{ys=ys+100;

//case6:

{b=tosin[j];

//break;

//case9:

{b=tosin[j]/2;

}

voidjuchibo(void)

uchara=0x00,i=0;

ucharb=128;

PORTA=0x00;

TCCR0=_BV(CS01);

uintys=10;

while(num==3)

PORTA=a;

a++;

for(i=0;

ys;

{

TIFR|=_BV(TOV0);

}//锯齿波

delay1(ys);

if(a==(b-1))

a=0;

Read_Key();

switch(num)

{

case5:

{ys=ys-2;

num=3;

break;

case8:

{ys=ys+2;

case6:

{b=128;

case9:

{b=64;

voidsanjiaobo(void)

uintys=500;

while(num==4)

//三角波

if(a>

=b)

a=0;

if(a<

b/2)

PORTA=a;

delay1(ys);

}

else

PORTA=b-1-a;

}

num=4;

voiddelay(uintz)

uintx;

uchary;

for(x=z;

x>

0;

x--)

for(y=200;

y>

y--);

voiddelay1(uinty)

uinti;

for(i=y;

i>

i--);

voiddelay2(uintz)

x--);

voidRead_Key(void)

PORTF=0xE0;

temp=PINF;

temp=temp&

0xE0;

if(temp!

=0xE0)//若有键按下,则表达式为1

delay(200);

temp=PINF;

temp=temp&

//按键消抖

if(temp!

=0xE0)//再次判断是否有按键动作

//DDRF=0x1C;

//PORTF=0xfc;

PORTF=0xec;

delay(10);

temp=PINF;

temp&

=0xe0;

if(temp!

=0xe0)

{

switch(temp)

{

case0x60:

num=7;

break;

case0xa0:

case0xc0:

//default:

}

while(temp!

=0XE0)

temp=PINF;

temp=temp&

}

else

{

//DDRF=0x1C;

//PORTF=0xfc;

PORTF=0xf4;

temp=PINF;

temp&

{

switch(temp)

{

case0x60:

num=8;

case0xa0:

num=5;

case0xc0:

//default:

}

while(temp!

temp=PINF;

temp=temp&

}

else

//DDRF=0x1C;

//PORTF=0xfc;

PORTF=0xf8;

if(temp!

num=9;

num=6;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1