16个按键,每个按键按下都是不一样的音调。LCD显示当前音调。

c展开代码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位的赋初值方法 */
}


本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!