16个按键,每个按键按下都是不一样的音调。LCD显示当前音调。
void main()
{
init_timer();
TR1 = 0; /* 关闭定时器 */
sound = 1; /* 关闭蜂鸣器 */
delay( 1 );
LcdInit();
while ( 1 )
{
ScanKey(); /* 获取处理按下的键 */
}
}
void Time1( void )
interrupt 3 /* T1定时器的中断等级要注意 是3 */
{
sound = !sound; /* 将P3.7引脚输出电平取反,形成方波 */
TH1 = (8192 - C) / 32; /* 可证明这是13位计数器TH0高8位的赋初值方法 */
TL1 = (8192 - C) % 32; /* 可证明这是13位计数器TL0低5位的赋初值方法 */
}