单片机课程设计数字电子琴要点_第1页
单片机课程设计数字电子琴要点_第2页
单片机课程设计数字电子琴要点_第3页
单片机课程设计数字电子琴要点_第4页
单片机课程设计数字电子琴要点_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、单片原理及应用课程设计题目:数字电子琴专业:测控技术与仪器班 级:姓 名:学 号:组 员:一指导教师:单片机课程设计摘要电子琴是现代电子科技与音乐结合的产物,由于价格便 宜,体积小,易于携带等一系列的优点,使它在现代音乐中 扮演了很重要的地位,成为其不可分割的部分。我们这次的 课题就是以80c51单片机作为核心控制元件,设计电子琴。 以单片机为主核心,与矩阵式键盘、扬声器、led数码管等模块组合而成的控制模块。本系统具有硬件电路简单,软件 运行稳定,控制系统可靠,性价比高等特点具有一定的实用 及参考价值。关键词:单片机、扬声器、矩阵式键盘、led数码管、电子琴2013/7/111 1单片机课程

2、设计目录第一章概述31.1 引言31.2 设计要求31.3 功能描述3第二章设计原理42.1 原理简介42.2 主体结构图5第三章硬件简介63.1 硬件介绍63.2 各部分电路简介6第四章流程图11第五章程序清单12设计体会与总计 15参考文献152 、单片机课程设计第一章概述1.1 引言单片微型计算机是大规模集成电路技术发展的产物,是第四代计算机的一个 分支,它是集cpu、ram、rom、i/o接口和终端系统于同一硅片的器件,它 具有高性能、高速度、体积小、价格低、稳定可靠、应用广泛的特点。它的应用 必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重

3、大课题。本文就是利用单片机作为核心,来设计简易的电子琴,利用单片机产生的不同 频率来获得我们需要的音阶,达到我们可以随意弹奏乐曲的目的。1.2 设计要求本设计利用8051单片机的控制程序结合显示器,设计一台数字电子琴。其基本功能为:(1)用显示器来显示音阶输入的相关信息;(2)当按下键盘相对应的按键,压电喇叭会发出相对应的音阶单音,共有2个8度音阶。1.3 功能描述应:低音八度:中音八度:高音八度:1、8、f、本设计中所用的键盘为4*4矩阵式键盘,通过按键盘上不同的键位,发出不 同的音阶,在按下键的同时,led数码管显示所按下的音阶,两个八度分别对2、3、4、5、6、79、 a、 b、 c、

4、d、 e13单片机课程设计第二章设计原理2.1 原理简介一首音乐是由许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以采用不同的频率组合来构成我们想要的音乐了。对于单片机而言产生不同的频率是很简单的方便的,我们可以利用单片机的定时/计数器t0来产生这 样的方波频率信号。利用单片机内部定时器时器 t0工作在方式1,向计数单元th0和tl1写入计 数初值,t0溢出时,对p3.0取反。写入不同的初值,可是扬声器发出不同的声初值=2 - fosc/12/2/f,其中fosc=12mhz, f值为见下表音阶与定区,需计数初值的对应关系音符频率f/hz计数初值音符频率f/hz计数初值低1do

5、26263628中1do52364580低2re29463835中2re58764684低3mi33064021中3mi65964777低4fa34964103中4fa69864820低5so39264260中5so78464898低6la44064400中6la88064968低7si49464524中7si98865030利用定时器可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤 波后,会发出不同的音调。定时器按设置的定时参数产生中断, 这一次中断发出 脉冲低电平,下一次反转发出脉冲高电平。由于定时参数不同,就发出不同频率 的脉冲。有键按下,会发出连续脉冲,直到按键松开,才停止发

6、音。2.2 主题结构图单片机课程设计第三章硬件简介3.1 硬件介绍总电路图p2e fl的 ekaiup2 41a12p2 5ai3 ft ml 4r2 turl®的mud ps1 ej*m? paamti”4/roptip3-0wrr3,3密湍s器 口力内津船山曹tiscabiiihmaliktalim q1rm电路lsi ph?spe*«fr63.2 各部分电路简介3.2.1 单片机本设计所用单片机为80c51单片机,它有四个8位并行i/o接口 p0、p1、p2 和p3; 8位cpu;寻址能力2*64k; 4kb的内部rom和128b的内部ram ; 一个串行全双工异步接

7、口;五个中断源和两个中断优先级;采用 cmos工艺,电 流小功耗低。80c51各引脚功能介绍vcc (40 脚)=+5vvss (20 脚)=0 (接地)xtal1(19脚):接外部晶体的一端。xtal2 (18脚):接外部晶体的另一端。rst (9脚):复位端,高电平持续10ms以上有效。psen (29脚):片外程序存储器读选通信号输出端,低电平有效。ale/prog (30脚):地址锁存允许/编程线。ea/vpp (31脚):片外程序存储器选用端,低电平有效。 输入/输出引脚:p0.0-p0.7 (39 脚-32 脚)单片机课程设计p1.0-p1.7 (01 脚-08 脚)p2.0-p2

8、.7 (26 脚-21 脚)p3.0-p3.7 (10 脚-17 脚)rsmsn昌 n pm n s0闯 n 号3/留n mw n hl 3 n f3.6亩 n pl 751n ml2 n xtau n*口ffffffff i1-i-=-i-'7654321。nnnninnn n8uc51/89s51f冷仁管x片苫片是当学号4宣武武器4等自 u u-u u u u-u u uu u u-em u u u va 3-0 好一 s& 鼻3 3 s 137pijvl mi凰80c513ou-遇3.3.2晶振电路单片机内部有一个用于构成振荡器的高增益反相放大电路,引脚xtal1为输入端

9、,xtal2为输出端,两引脚间跨接晶体振荡器与微调电容组成并联谐振回 路,构成一个自激振荡器为内部时钟电路提供振荡时钟,石英晶体取 12mhz, 电容 c1、c2 取 30pf。c13.2. 3 复位电路手动复位要求在电源接通的条件下,如果出现死机的情况,用按钮开关进行复 位。单片机要求完成复位,必须在复位端输入连续的两个机器周期以上的高电平, 从而实现复位操作。本设计采用开关并复位电路,上电后由于电容充电使 rst持续一段高电平,完 成复位操作;在单片机运行时,按下复位键也能使其达到复位效果。 c=30pf,r=1kq3.2.4键盘电路本设计采用4*4矩阵式键盘,共16个按键。键盘采用扫描识

10、别原理进行判别 键位是否按下,并采用软件去抖,以达到较为准确的按键位置。扫描式键盘工作原理:首先将列线全部置零,读行线状态,若 p1.0-p1.3全部 为1则证明没见按下,如出现低电平 0,则有键按下,记录当前行号i;然后逐 列线为低,其余为高,再读行线状态,若那一行为低电平,记录其列号 j,则证 明第i行第j列按键被按下。3.2.5显示电路及驱动器led数码管采用共阳极7段led显示器,led数码管由7个发光二极管组成,止匕外,还 有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。通过七段发光 二极管亮暗的不同组合,可以显示多种数字、字母以及其它符号。 led数码管 中的发光二极管

11、连接方法:共阳极接法:把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+ 5v。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。为了显示数字或符号,要为led显示器提供代码,因为这些代码是为显示字形 的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八段。因此提供给led显示器的字形代码正好一个字节。若 a、b、c、d、e、f、g、dp 8个显示段依次对应一个字节的低位到高位,即d0、d1、d2、d3、d4、d5、d6、d7。74ls2452tttt-7tt- i百 74ls24sd1rmls245是我们常用的芯片,用来驱动后d或者其他的设备,它是8

12、 路同相三杰双向总线收发器,用晌璃数据,7dl5245还具有双向三态功能,既可以输出,也可以输入数据,当3051里片机的叩口总线负载达到或超过同最大负载菖劲时必须 接入74ls24瞪总线照动器,当片选端忙曰氐电平有豳寸,信号由b向a传输s (接收dir+t,信胃由a向b传输(发送)当ce为高电平时,a、日均为高阻态己由于田口娓冬输出地址的高8位,接口时74ls245的三数整制转1曲口2g接地,p2与动器输入线对应相 连* p0口与74l02而输入端相连.e端接地,保证数据名挪前通。8051的md和/psen相与后接dir,使得rd目pse n有效时,74ls24耳献(p0 1-d1),其曰寸间

13、处于输出(pq 1-d1) .3.2.6音响电路音响电路采用三级管2n3905控制开关,通过p3.0 口的信号输出, 并加入限流电阻(350q)来控制音响发声。to-92collector2n3905参数及引脚如下12:3外形及引脚图符号瓢值单位集电极-发射机电压vceo40v集电极基极电压vcbo40v发射根基极电压vrbosov集电极电流连续ic200ma器件耗敏® ta = 25七pd625mwderate above 25*05-0mw/c操作和存储结温范围tjjstg55 to +150p单片机课程设计11i 一一j第四章流程图单片机课程设计第五章程序清单hangequ30

14、h;存放行值lieequ31h;存放列值zhiequ32h;存放键值org0000hsjmpstartorg000bh;中断入口ljmpintt0start: movp2,#0ffhmovtmod,#01h;设置定时器t0为模式1.* ;*;键盘扫描;* ;*hangs:movp1,#0f0hh1:jnbp1.0,h2;判断第0行是否有键按下lcalldelay;有则消除抖动jnbp1.0,h2;消抖后判断按键是否的确按下movhang,#00h;保存行值ljmplies;跳转到列扫描h2:jnbp1.1,h3lcalldelayjnbp1.1,h3movhang,#01hljmpliesh3

15、:jnbp12h4lcalldelayjnbp1.2,h4movhang,#02hljmpliesh4:jnbp1.3,h1lcalldelayjnbp1.3,h1movhang,#03hlies:movp1,#0fhl1:jnbp1.4,l2;判断第0列是否有键按下movlie,#00h用,保存列值ljmpcalcu;键值计算:12 tsl2:jnbp1.5,l3movlie,#01hljmpcalcul3:jnbp1.6,l4movlie,#02hljmpcalcul4:jnbp1.7,l1movlie,#03hcalcu:mova,hangmovb,#04hmulabadda,liemo

16、vzhi,a;每行按键个数;键值=行号x每行按键个数十列号*显示音值,等待按键释放/*setbea;打开中断总开关setbet0;打开t0中断分开关setbtr0;启动t0mova,zhimovdptr,#table1movca,a+dptr;查表movp2,a;显示音值wait: mova,p1cjnea,#0fh,wait;判断movp2,#0ffh;按键释放,显示器不显示clrtr0;关闭t0ljmphangs.* ;*;中断服务子程序,查表得到计数初值,并驱动扬声器发生;* ;intt0: movmovmovmulmov*dptr,#table2 a,zhi b,#2 ab r1,a单

17、片机课程设计14 1movca,a+dptrmovth0,a;高八位计数器赋初值incr1mova,r1movca,a+dptrmovtl0,a;低八位计数器赋初值cplp3.0;输出取反reti延时子程序 *r6,#20r7,#250r7,$r6,de;/*delay: mov de:movdjnzdjnz rettable1:db0f9h,0a4h,0b0h,99h,092h,82h,0f8h,80h,90h,88h,83h,0c6h,0c0h,86h,8eh, 0f9h;数码管显示值得十六进制码table2: dw63628,63835,64021,64103,64260,64400,6452有阶代码dw 64580,64684,64777,64820,64898,64968,65030dw 65058,65110end设计体会与总结通过这次课程设计,使我对单片机有了更加系统的认识与 了解,通过了对单片机的编程与程序的调试增加了实践的经 验,同时也增加了

温馨提示

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

评论

0/150

提交评论