资源简介
。本系统设计是以51系列单片机AT89S52为主芯片,附有矩阵键盘、LED显示管、扬声器组成,系统完成显示输入信息、播放相应音符等基本功能。
附件为C代码。
附件为C代码。
![](http://www.nz998.com/pic/71438.jpg)
代码片段和文件信息
/**************************************************************
程序名称:模拟电子琴
**************************************************************/
#include //定义头文件
#define uchar unsigned char //宏定义
#define led P0 //定义LED等位P0口
#define sw_port P1 //中间变量。。。使按键和led对应
sbit buzzer=P2^7; //扬声器管脚
sbit key1=P3^2; //播放音乐与弹奏歌曲转换
sbit key3=P3^4; //掉电存储按键
sbit key4=P3^5; //播放掉电存储的歌曲
sbit keybofang=P3^3; //播放刚才弹奏的歌曲
sbit key7=P3^0; //音调键。。。 和 歌曲键
sbit key8=P3^1; //音调键。。。 和 歌曲键
sbit key6=P1^7;
sbit key5=P1^6;
sbit sda=P1^1; //24c02数据线
sbit scl=P1^0; //24c02时钟线
uchar keydikeysb; //定义变量
uchar tone_H; //定义变量
uchar tone_L; //定义变量
void beat_125(unsigned char); //声明函数
uchar code beat1[]={16888844168448444 //歌曲1节拍
4441616884412816168444416};
uchar code song1[]={6535765635653 //歌曲1简谱
21653223556321532161115};
uchar code beat2[]={777 789 123 624 444 12 //歌曲二节拍
822 444 822 444 2244 12};
uchar code song2[]={128 851 333 543 //歌曲二简谱
543 2 210 123 432 345 543 2115};
uchar code beat4[]={444 624 444 624 444 12
822 444 822 444 2244 12};
uchar code song4[]={111 321 333 543
543 2 210 123 432 345 543 21 15};
uchar code tone[]={115102918677686157}; //歌曲音调
unsigned int code tone1[]={101295685275971663856850647842637953110}; //歌曲音调
uchar song3[43]; //定义空数组
void play(uchar*uchar*); //演奏歌曲函数
void delay8um(uchar); //第一8um延时函数
void sound(uchar); //弹奏发声函数
/*******************************************
函数功能:节拍的延时的基本单位,用于24c08简单延时
******************************************/
void delay() //简单延时函数
{;;}
/*******************************************
函数功能:节拍的延时的基本单位,延时1ms
******************************************/
void delay1ms(uchar x) //1um延时函数
{
uchar j;
while(x--)
for(j=120;j>0;j--);
}
/**************************************************************
函数功能:24c02驱动程序 用IIC总线进行传输
**************************************************************/
void init_c02() //24c02初始化
{
sda=1;
delay();
scl=1;
delay();
}
void start_c02() //24c02的启动信号
{
scl=1;
delay();
sda=1;
delay();
sda=0;
delay();
}
void stop_c02() //24c02停止信号
{
sda=0;
delay();
scl=1;
delay();
sda=1;
delay();
}
void response_c02() //24c02的应答信号
{
uchar i;
scl=1;
delay();
while((sda==1)&&(i<250))i++;
scl=0;
delay();
}
void write_c02byte(uchar date) //对24c02写一个字节
{
uchar itemp;
temp=date;
for(i=0;i<8;i++)
{
temp=temp<<1;
scl=0;
delay();
sda=CY;
delay();
scl=1;
delay();
}
scl=0;
delay();
sda=1;
delay();
}
uchar read_c02byte() //对2
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10218 2015-05-19 14:58 1-源程序\电子琴.c
目录 0 2020-03-25 12:58 1-源程序\
相关资源
- 简易的电阻电容测量电路
- 我做的电子琴,21个音,一般歌曲基本
- midi电子琴简单设计(附源代码).ra
- modbus51_c代码
- 单片机电子琴 数码管显示
- GSM监控系统51单片机设计
- STM32F030从机中断接收的iic代码,附带
- 基于51单片机的教室智能照明控制系统
- 51单片机课程设计内含50多个课程设计
- 基于C51的电子琴设计
- stm32 iap功能实现
- ORG 2020 beta2汉化版
- 用51单片机做的简易电子琴
- Marlin代码详细注释
- vhdl语言电子琴设计
- quartus原理图设计方法设计的电子琴程
- 基于51单片机设计的简易电子琴.
- 51单片机简易电子琴设计
- 基于STM32的电子琴设计
- 时间差分法帧间差分法opencv和vc代码实
- 轮廓波contourlet变换的VC代码
- 基于单片机的16键多功能电子琴
- MWC代码解读
- 华中科技大学 微机接口实验 4个实验
- fpga verilog 电子琴
- 微机原理_简单的电子琴程序设计
- MPU6050的C代码程序包括DMP直接解算姿态
- STM32程序。多串口。DMA方式。C代码
- 简易电子琴微机原理课程设计
- MultiWii MWC代码解读
评论
共有 条评论