添加实验蜂鸣器唱小星星
This commit is contained in:
parent
27b4a51317
commit
c5e448b3a6
44
src/main.c
44
src/main.c
@ -14,12 +14,31 @@
|
||||
#include "led.h"
|
||||
#include "time0.h"
|
||||
|
||||
__code u16 toneH[10]={ //音调对应的定时器计数值的高8位 第一个音为低音7
|
||||
0XF8,0XF8,0XF9,0XFA,0XFA,0XFB,0XFB,0XFC,0XFC,0XFC
|
||||
};
|
||||
__code u16 toneL[10]={ //音调对应的定时器计数值的低8位
|
||||
0X18,0X8C,0X6B,0X15,0X67,0X04,0X90,0X0C,0X44,0XAC
|
||||
};
|
||||
|
||||
__code u16 soundtone[42]={
|
||||
1,1,5,5,6,6,5,4,4,3,3,2,2,1,
|
||||
5,5,4,4,3,3,2,5,5,4,4,3,3,2,
|
||||
1,1,5,5,6,6,5,4,4,3,3,2,2,1
|
||||
};
|
||||
|
||||
__code u16 soundlong[42]={
|
||||
1,1,1,1,1,1,2,1,1,1,1,1,1,2,
|
||||
1,1,1,1,1,1,2,1,1,1,1,1,1,2,
|
||||
1,1,1,1,1,1,2,1,1,1,1,1,1,2
|
||||
};
|
||||
/*******************************************************************************
|
||||
* 函 数 名 : main
|
||||
* 函数功能 : 主函数
|
||||
* 输 入 : 无
|
||||
* 输 出 : 无
|
||||
*******************************************************************************/
|
||||
u16 tH, tL;
|
||||
void main(void)
|
||||
{
|
||||
|
||||
@ -39,10 +58,22 @@ void main(void)
|
||||
// i = rotate_left(i,1);
|
||||
// delay_ms(1000);
|
||||
// 实验三:蜂鸣器
|
||||
BEEP=!BEEP;
|
||||
// BEEP=!BEEP;
|
||||
// delay_10us(100);
|
||||
time0_delay1ms(1);
|
||||
|
||||
// 实验四:小星星
|
||||
for(u8 t=0;t<42;t++)
|
||||
{
|
||||
tH=toneH[soundtone[t]]; //提取音调对应的定时器初始值
|
||||
tL=toneL[soundtone[t]];
|
||||
TH0=tH; //给TH0和TL0赋值
|
||||
TL0=tL;
|
||||
TR0=1; //打开定时器,蜂鸣器发声
|
||||
delay_ms(soundlong[t]*500); //延时soundlong[t]指定的时间长度
|
||||
TR0=0;
|
||||
BEEP=0; //蜂鸣器不发声,停顿片刻
|
||||
delay_ms(50);
|
||||
}
|
||||
delay_ms(2000);
|
||||
// printf("Hello,world!\r\n");
|
||||
}
|
||||
}
|
||||
@ -69,8 +100,7 @@ void uart(void) __interrupt (4) //串口通信中断函数
|
||||
|
||||
void time0(void) __interrupt (1) //定时器0中断函数
|
||||
{
|
||||
static u16 i;//定义静态变量i
|
||||
TH0=0XFC; //给定时器赋初值,定时1ms
|
||||
TL0=0X18;
|
||||
time0_delay_cnt++;//计数器自增
|
||||
TH0=tH; //给定时器赋初值,定时1ms
|
||||
TL0=tL;
|
||||
BEEP =! BEEP;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user