基于51单片机的简易电子琴设计论文.docVIP

  • 21
  • 0
  • 约4.6千字
  • 约 10页
  • 2018-02-28 发布于贵州
  • 举报
基于51单片机的简易电子琴设计论文

课 程 设 计 课程设计名称:单片机课程设计 专 业 年 级:电子信息科学与技术 学 生 姓 名: 学 号: 指 导 教 师: 课程设计时间:2013.9.30-2013.10.7 摘要 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash rom技术的发展,8031单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。作为一个电子技术类专业的学生熟练掌握51单片机的编程与开发是至关重要的,我们学习的是电子系统理论知识,而课程设计正是对我们学习的理论知识的实践与巩固。 设计目的 (1)能够对电子电路,电子元器件,等方面的知识有进一步的认识,能对其进行测试与检查。 (2)熟悉8051单片机内部结构与功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。 (3)为实现预期功能,能够对系统进行快速的调试,并能够对出现的故障进行分析,及时修改相关软硬件。 (4)对软件编程,排错调试,焊接技术,相关仪器设备使用技能等方面得到全面的提升。 设计要求 设计一个51单片机系统,实现简易电子琴操作的电路。要求: 1. 设计51单片机最小系统; 2. 设置至少10个按键,能发出do re mi fa sol la SI DO; 能播放示范曲; 3. 能够调节低音、高音和中音。 系统总框图 电路连接图 程序流程图 对音调的控制,通过按键选择某个音符,当按键按下后,由程序判断其音阶,然后给计数器赋上能够产生相应频率的初值。本设计采用计数方式1,通过对相应寄存器设置,便能达到该功能 程序代码 main.c文件 #includereg52.h #include a1602.h #include key.h #include music.h #include ds1302.h #include jianpan.h sbit SPK=P2^1;//定义蜂鸣器控制端口 sbit music=P3^2; uint code low[]={0,63628,63835,64021,64103,64260,64400,64524};//对应不同的音调1、2、3、4、5、6、7 uint code mid[]={0,64580,64684,64777,64820,64898,64968,65030}; uint code hig[]={0,65058,65110,65157,65178,65217,65252,65283}; uint n=0; uchar k,m; void delay_ms(unsigned int xms) //ms级延时 { unsigned int x,y; for(x=xms;x0;x--) for(y=130;y0;y--); } void main() { init1(); TMOD=0x11; //定时器0工作于16位定时方式 EA=1; //开总中断 ET1=1; EX0=1; IT0=1; SPK=1; P1=0xff; while(1) { //ds1302_int(); write_com(0x80+0x40+4); switch(n) { case 0:write_com(0x80+0x40); write_data(L); write_data(O); write_data(W); write_data(:); break; case 1:write_com(0x80+0x40); write_data(M); write_data(I); write_data(D); write_data(:); break; case 2:write_com(0x80+0x40); write_data(H); write_data(I); write_data(G); w

文档评论(0)

1亿VIP精品文档

相关文档