51单片机蜂鸣器演奏《小苹果》C语言程序,C利用51单片机蜂鸣器演奏音乐

这篇博客介绍如何使用51单片机通过C语言编写程序,控制蜂鸣器演奏《小苹果》音乐。程序通过定义音符结构,设置定时器中断服务函数,实现音乐的频率和时值控制。在主程序中,循环播放两遍乐曲,中间间隔一定延时。
摘要由CSDN通过智能技术生成

/*************************************************************

程序功能:51单片机演奏单音乐曲

硬件接法:P36控制交流蜂鸣器,发声频率等于P36的方波振荡频率

**************************************************************/

#include "REG52.H" //包含所选单片机的定义头文件

sbit SPEAKER = P3^6; //定义音乐输出口

typedef struct //定义音符结构

{unsigned int mFreq;//发声频率(对应的定时器初值)

unsigned int mDelay; //发声时值

}CNote;

unsigned char ReloadH; //定义定时器T1重装值

unsigned char ReloadL;

/************************************************************

函数:T1_ISR()

功能:定时器T1中断服务函数,产生音乐振荡频率

*************************************************************/

void T1_ISR() interrupt 3

{TR1 = 0;

TH1 = ReloadH;

TL1 = ReloadL;

TR1 = 1;

SPEAKER = !SPEAKER; //音乐声频的半个波

}

/***************

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值