没有合适的资源?快使用搜索试试~ 我知道了~
首页利用蜂鸣器模拟简单音阶应用实例
资源详情
资源评论
资源推荐

利用蜂鸣器模拟简单音阶应用实例利用蜂鸣器模拟简单音阶应用实例
基于proteus的51单片机仿真实例,利用蜂鸣器模拟简单音阶应用实例。
1、本例利用蜂鸣器模拟输出"DO,RE,MI..."的音阶声音。蜂鸣器发声过程仍由按键启动,定时器控制鸣叫频率。
2、根据不同音阶的频率,计算出定时器的定时初值和定时周期,
3、在keil c51中新建工程ex75,编写如下程序代码,编译并生成ex75.hex文件
//简易音阶声音演示实例
#include //寄存器头文件包含
//引脚定义,分别定义按键和蜂鸣器的引脚
sbit KEY = P1^7;
sbit SOUNDER = P3^0;
//全局变量,音符索引数
unsigned char musicNum;
//音符播放时定时寄存器处值TH0
unsigned char code high_buff[] = {0,226,229,232,233,236,238,240,
241,242,244,245,246,247,248};
//音符播放时定时寄存器处值TL0
unsigned char code low_buff[] = {0,4,13,10,20,3,8,6,2,23,5,26,4,4,3};
//延时函数
void delayms(unsigned int x)
{
unsigned char i;
while(x--)
{
for(i = 0;i < 120;i++);
}
}
//主函数
void main(void)
{
//IE = 0x82;
TMOD = 0x00; //定时器0工作在模式0
TH0 = (8192 - 700) / 32; //定时器赋初值
TL0 = (8192 - 700) % 32;
EA = 1; //开总中断
ET0 = 1; //开定时器0定时溢出中断
SOUNDER = 0;
while(1)














安全验证
文档复制为VIP权益,开通VIP直接复制

评论0