基于51单片机(bluesky开发板)的电子琴程序(共3页).docx

上传人:飞****2 文档编号:15088197 上传时间:2022-05-10 格式:DOCX 页数:3 大小:38.12KB
返回 下载 相关 举报
基于51单片机(bluesky开发板)的电子琴程序(共3页).docx_第1页
第1页 / 共3页
基于51单片机(bluesky开发板)的电子琴程序(共3页).docx_第2页
第2页 / 共3页
点击查看更多>>
资源描述

《基于51单片机(bluesky开发板)的电子琴程序(共3页).docx》由会员分享,可在线阅读,更多相关《基于51单片机(bluesky开发板)的电子琴程序(共3页).docx(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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;专心-专注-专业

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁