您现在的位置: 进口电器维修网 >> 维修资料 >> 音响维修资料 >> 正文
公司简介
信立和祥维修网是一家综合型家电维修单位,成立1992年,在多年的发展道路上一直坚持为客户提供专业的、精益求精的服务作为我们服务的宗旨。
作为电器维修服务行业的先锋,信立和祥有最完善的管理、最规范的服务、最专业的技术、最合理的收费。我公司是拥有中 ,高级家电电制冷专业工程师团队监督技术的专业维修家电单位。(原地址前门粮食店街65号交电公司维修大厅内)[详细链接]
新闻中心
普通文章电视遥控器维护妙招热点文章04-15
普通文章家用平板电视日常保养手册04-15
普通文章这些家电寿命有多久?热点文章03-23
普通文章三星将推出谷歌电视 放弃英特尔芯片03-09
普通文章奥马冰箱陷贴牌危机 靠炒作无法赢得市场03-09
普通文章节能不容忽视 小家电套上能效“紧箍咒”03-09
普通文章规避成本压力是关键空调企业谈回收基金02-18
普通文章自主家电品牌出口坎坷海外市场被边缘化02-18
普通文章广州消毒柜、LED灯串抽检不合格产品01-11
普通文章华锐风电触电事故致三人死亡01-11
普通文章苏泊尔小家电存安全隐患北京停售01-11
普通文章苏宁电器未来十年将增长五倍01-11
普通文章空调业铝代铜 厂商握有决定权11-30
普通文章坚挺不降价 11月最保值液晶电视揭秘11-30
普通文章小物件也有大辐射 家居生活要绿色11-30
普通文章LED狂潮破下滑迷局 国内品牌被看好11-30
普通文章全球首款家用3D摄像机23日亮相苏宁10-28
普通文章天气转冷 空调电暖器用哪个最省钱?10-28
普通文章取暖小家电卖断货 确保安全是关键10-28
普通文章[组图]平板电视宣传概念消费者能否接受10-24
普通文章外资彩电削价凶猛 一举攻破七三格局10-24
索尼维修 东芝维修 松下维修
飞利浦维修 LG维修 日立维修
三星维修 夏普维修 三洋维修
  简易电子琴的设计          【字体:
简易电子琴的设计
作者:佚名    文章来源:不详    点击数:868    更新时间:2010-01-02    
                  

      

一、设计题目:
设计一简易电子琴,要求能够发出1、2、3、4、5、6、7等七个音符。
使用元件:AT89C51、LM324,喇叭,按键等
二、设计目的
(1)能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识,独立对其进行测试与检查。
(2)熟悉8051单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程设计工作。
(3)为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。
(4)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。
三、系统硬件图



流程图:




原理:
(一)音乐产生原理及硬件设计
由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T=216--5﹡105/相应的频率,那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示:



采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据
TABLEDW64580,64684,64777,64820,64898,64968,65030
源程序:
方案一:产生按键音符
ORG0000H
LJMPMAIN
ORG000BH
LJMPBREAK
MAIN:MOVTMOD,#01H;设置定时器0的工作方式
SETBEA
SETBET0;设置定时器0中断
SETBTR0;启动定时器0
WAIT1:LCALLKEY;调用KEY子程序,判断有键按下否?第几个键?
CLREA;屏蔽中断
CJNER3,#00H,WAIT1;如果R3=0,表示有键按下
MOVA,22H;将22H里存放的按键号送给A
RLA;因为查表里都是字,所以得乘2查得数据
MOVDPTR,#TABLE;指向表头
MOVCA,@A+DPTR;查表
MOVTH0,A;将数据高位送TH0
MOV21H,A;将高位备份
MOVA,22H;将22H里存放的按键号送给A
RLA;因为查表里都是字,所以得乘2查得数据
INCA;取低位数据
MOVCA,@A+DPTR
MOVTL0,A
MOV20H,A
WAIT2:LCALLKEY
SETBEA
CJNER3,#00H,WAIT1
JMPWAIT2
KEY:MOVR3,#00H;KEY子程序,判断有键按下否?第几个键?
MOVR1,#0FFH
MOVR0,#00H
MOVA,R1
MOVP2,A
MOVA,P2
CLRC
CPLC;利用标志位CY来判断是哪个键按下
MOVR2,#08H
WAIT3:RLCA;移位判断
JNCSTORE
INCR0
DJNZR2,WAIT3
STORE:MOV22H,R0;将按键号存22H,R3=0有键按下
MOVR3,#00H
RET
BREAK:PUSHACC;中断产生方波,从P1.0口输出
PUSHPSW
MOVTL0,20H
MOVTH0,21H
CPLP1.0
POPPSW
POPACC
RETI
TABLE:DW65030,64968,64898,64820,64777,64684,64580;7,6,5,4,3,2,1
END
方案二:产生按键音符
ORG0000H
SJMPSTART
ORG000BH
AJMPINT_0
ORG0030H
START:MOVP1,#00H
SETBEA
SETBET0;计数器0
MOVTMOD,#02H
MOVTH1,#09CH
MOVTL1,#09CH;定时器初植
CLRTR0;定时器不允许
SCAN:;键盘扫描
MOVA,P2;判断键盘按下,跳到SCAN_1,若未按,继续扫描
CJNEA,#0FFH,SCAN_1
NOP
SJMPSCAN
SCAN_1:ACALLDELAY;是不是真的要按下?如果是,则跳转SU_KEY查询是哪个按下?
MOVA,P2
CJNEA,#0FFH,SU_KEY
NOP
SJMPSCAN
SU_KEY:JNBP2.1,MU_1;判断是哪个键按下?
JNBP2.2,MU_2
JNBP2.3,MU_3
JNBP2.4,MU_4
JNBP2.5,MU_5
JNBP2.6,MU_6
JNBP2.7,MU_7
SJMPSCAN
;R1信号周期
MU_1:MOVR1,#19;如果第一个按键按下,则R1=19,同时程序转NEXT
SJMPNEXT
MU_2:MOVR1,#17
SJMPNEXT
MU_3:MOVR1,#15
SJMPNEXT
MU_4:MOVR1,#14
SJMPNEXT
MU_5:MOVR1,#13
SJMPNEXT
MU_6:MOVR1,#11
SJMPNEXT
MU_7:MOVR1,#10
SJMPNEXT
NEXT:MOVA,R1
MOVR0,A
SETBTR0;启动定时器0
NEXT_1:MOVA,P2;没键按下继续执行,有键按下,返回读引脚
CJNEA,#0FFH,NEXT_1
ACALLDELAY
MOVA,P2;真的没键按下?
CJNEA,#0FFH,NEXT_1
CLRTR0;不响
AJMPSCAN;扫描键盘去
INT_0:;中断程序
DJNZR0,RE;R0不等于0时,返回
CPLP1.0
MOVA,R1
MOVR0,A
RE:RETI
DELAY:MOVR7,#100;延长时间等待,键盘消抖
D1:MOVR6,#10
D2:DJNZR6,D2
DJNZR7,D1
RET
END
生日快乐歌:(扩展功能部分程序)
ORG0000H
JMPMAIN
ORG000BH
JMPTT0
MAIN:MOVTMOD,#01H;设置定时器0工作方式
MOVIE,#82H;设置中断
MAIN0:MOV30H,#00H
NEXT:MOVA,30H
MOVDPTR,#TABLE;查表
MOVCA,@A+DPTR
MOVR2,A
JZSTOP
ANLA,0FH
MOVR5,A
MOVA,R2
SWAPA
ANLA,#0FH
JNZSING
CLRTR0
JMPW1
SING:DECA
MOV22H,A
RLA
MOVDPTR,#TABLE1;查表
MOVCA,@A+DPTR
MOVTH0,A
MOV21H,A
MOVA,22H
RLA
INCA
MOVCA,@A+DPTR
MOVTL0,A
MOV20H,A
SETBTR0
W1:CALLDELAY
INC30H
JMPNEXT
STOP:CLRTR0
JMPMAIN0
TT0:PUSHACC;中断服务程序
PUSHPSW
MOVTL0,20H
MOVTH0,21H
CPLP1.0
POPPSW
POPACC
RETI
DELAY:MOVR7,#2;延时187ms
W2:MOVR4,#187
W3:MOVR3,#248
DJNZR3,$
DJNZR4,W3
DJNZR7,W2
DJNZR5,DELAY
RET
TABLE1:DW64260,64400,64524,64580;音符计数植
DW64684,64777,64820,64898
DW64968,65030,65058,65110
DW65157,65178,65217
TABLE:DB82H,01H,81H,94H,84H;节拍表
DB0B4H,0A4H,04H
DB82H,01H,81H,94H,84H
DB0C4H,0B4H,04H
DB82H,01H,81H,0F4H,0D4H
DB0B4H,0A4H,94H
DB0E2H,01H,0E

[1] [2]  下一页

  • 上一篇文章:

  • 下一篇文章:
  •  服务区域
    1.您单位可以提供上门服务吗?上门费用是如果收取的呢?
    < 查看帮助 >
    2.如果技师上门检查之后,所需的维修的费用比较高,我可以不修吗?
    < 查看帮助 >
    3.经您单位维修后的电器有保修吗?保修期是多长时间呢?
    < 查看帮助 >
    [详细链接]