基于51单片机(bluesky开发板)的电子琴程序

上传人:桔**** 文档编号:509729432 上传时间:2023-12-13 格式:DOCX 页数:3 大小:38.12KB
返回 下载 相关 举报
基于51单片机(bluesky开发板)的电子琴程序_第1页
第1页 / 共3页
基于51单片机(bluesky开发板)的电子琴程序_第2页
第2页 / 共3页
基于51单片机(bluesky开发板)的电子琴程序_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于51单片机(bluesky开发板)的电子琴程序》由会员分享,可在线阅读,更多相关《基于51单片机(bluesky开发板)的电子琴程序(3页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上#include#include/包含LCD1602的显示函数等#include/包含键值扫描函数,输出key_num#define FSCLK/晶振频率sbit BEEP=P14; /蜂鸣器输出脚unsignedintfre16 =100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400,1500,1600;/存好预定的频率值,可以设定任意想要的频率/* 函数功能 :延时函数,函数名Delay_ms()* 函数说明 :利用软件延时,占用CPU,经调试最小单位大约为1ms* 入口参数 :time:需要延时

2、的时间,单位ms* 出口参数 :无*/void Delay_ms(unsigned int time)unsigned int i,j;for(i = 0;i time;i +)for(j = 0;j 930;j +);/* 函数功能 :定时翻转跟蜂鸣器相连的引脚的电平,输出一定频率的脉冲信号* 函数说明 :定时器0中断服务函数* 入口参数 :无* 出口参数 :无*/void time0() interrupt 1/使用定时器0的工作方式2,定时器中断服务程序TH0 = (65536-FSCLK/(12*frepiano)/256; /每次中断,重新配置定时器的高8位TL0 = (65536-

3、FSCLK/(12*frepiano)%256; /每次中断,程序配置定时器的低8位BEEP=!BEEP;/然后取反音乐输出,输出一个反电平/短时间内多次取反则输出一定频率的脉冲/* 函数功能 :主函数* 入口参数 :无* 出口参数 :无*/void main() unsigned char piano=0,key=0;/初始值LCD_1602_Init(); /液晶显示前进行初始化TMOD = 0X01; /定时器使能 TH0 = (65536-FSCLK/(12*fre0)/256; /配置定时器的高8位TL0 = (65536-FSCLK/(12*fre0)%256; /配置定时器的低8

4、位ET0 = 1; /允许定时器0中断EA = 1; /打开总中断Write_1602_String(Welcome,0X80); /开机显示欢迎语:WelcomeWrite_1602_String(By ,0X80+0x40);/显示作者:Delay_ms(5000);/延时5s后开始进入正式程序LCD_1602_Init();/液晶屏初始化Write_1602_String(Happy Play,0X80); /显示开始使用:Happy Playwhile(1)/在这段函数中,不断扫描键值,每当键值不等于0时,说明有键被按下,/此时开始播放对应的音阶。key=Key_Scan();/不断扫

5、描键值if(key!=0)/若键值不等于0,说明有按键被按下LCD_1602_Init();/初始化LCD屏Write_1602_String(You had played,0X80);/显示所按下的键Write_1602_String(Key:,0X80+0x40);if(key10) Write_1602_Data(0x30+key);/当键值为个位数,显示按键值 piano=key;/频率调整为键值对应的频率 TR0=1;/启动定时器 Delay_ms(500); /每按键一次,蜂鸣器响一次,每次响0.5s TR0=0;/关闭定时器else/同上Write_1602_Data(0x31);/键值为两位数,先显示1,再显示按键值Write_1602_Data(0x30+key-10); piano=key; TR0=1; Delay_ms(500); TR0=0;专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号