没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
利用蜂鸣器模拟简单音阶应用实例利用蜂鸣器模拟简单音阶应用实例
基于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)
资源评论
weixin_38586428
- 粉丝: 7
- 资源: 905
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功