基于51单片机(bluesky开发板)的电子琴程序_第1页
基于51单片机(bluesky开发板)的电子琴程序_第2页
基于51单片机(bluesky开发板)的电子琴程序_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#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:需要延时的时间,单位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-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位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();/不断扫描键值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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论