资源简介
。本系统设计是以51系列单片机AT89S52为主芯片,附有矩阵键盘、LED显示管、扬声器组成,系统完成显示输入信息、播放相应音符等基本功能。
附件为C代码。
附件为C代码。
代码片段和文件信息
/**************************************************************
程序名称:模拟电子琴
**************************************************************/
#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-源程序\
相关资源
- 5G标准下LDPC编码C代码
- 8086电子琴设计
- 电子琴----基于Proteus仿真8086.zip
- 可以录制曲子的八音阶电子琴.pdsprj
- 简易电子琴Verilog工程
- DS2782 美信电量计芯片 IIC STM32/STM8/5
- 基于arduino激光电子琴的设计与制作
- 电子琴(汇编)
- jpeg-ls无损压缩C代码
- PCI运动控制卡VC代码
- 内存乒乓缓存机制和消息分发机制的
- FFT 多项式乘法 C代码
- 基于单片机的电子琴proteus仿真,可演
- 基于AT89C852单片机的简易电子琴设计原
- 基于STM32实现的简易电子琴
- 找出一条从某个定点A到顶点B变数最少
- 单片机电子琴 附有流程图
- 51单片机设计交通灯仿真C程序.rar
- 用Verilog实现的电子琴
- 制作电子琴用到的ps2键盘控制,主要
- 简易电子琴的设计微机原理课程设计
- 汇编语言编写的电子琴程序原版
- 51单片机学习型红外遥控器C代码
- 数据结构严慰民配套纯C代码数据结构
- 单片机电子琴程序
- 哲学家吃饭问题(vc代码)
- soem主站源码纯C代码编写,方便移植
- PS2键盘控制模型电子琴电路设计
- 吟飞双排键音色数据转换软件
- 微机原理及汇编语言课程设计_简易电
评论
共有 条评论