资源描述:
《《单片机原理及应用》课程设计音乐定时器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、©广束诲译大学《单片机原理及应用》课程设it音乐定时器姓名院系信息学院班级电气1082学号2008116312指导教师业时间2011年5月300摘要目录摘要I1设计要求12设计思路13简易流程图14源程序24」定时器部分24.2音乐输出部分45电路图7摘要木设计为基于at89c51芯片设计的音乐定时器,定时器通过键盘输入定时时间,开始计时后等待到达预订时间,即输出两分钟的音乐。设计采用了4位数码管显示时间定时,扫描键盘负责输入、控制,两片89c51同时工作,一个负责定时、输入、显示、控制,另一个专门负责输出音乐。关键词:定时器;音乐;51单片机广东海洋大学《电子
2、线路CAD》课程设计音乐定时器电气1082,200811631214,黄磊指导教师:张瑛1设计要求设计要求:定时时间可任意设置(小于60分钟),设定值通过键盘输入,定吋吋间到发出音乐.音乐响2分钟,自动结束,屮间也可以手动控制.2设计思路通过数码管的动态显示,显示定时辭的定时。定时的时间由扫描键盘输入,并启动以及暂停定时,音乐通过另一片89C51实现音乐发声器。设计通过掌握汇编语言的编程方法.运用89C51单片机定时器产生固定频率的方波信号,推动喇叭发出旋律。实现功能:定时启动音乐演奏。定时时间由用户通过键盘输入。可以中途停止音乐演奏。3简易流程图DECR4MO
3、VR5,#9HCJNER4,#0FFH,JP0DECR1MOVR4,#5HCJNER1,#OFFH,JPODECROMOVR1,#9HCJNERO,#OFFH,JPOJMPBEEP4源程序4」定时器部分ORG0000HLJMPMAINORG0003HLJMPBREAKOMAIN:SETBITO;设置屮断SETBEXOMOVTMOD,#01比设置定吋器0方式1MOVTH0,#0D8H;初D8F0定时10msMOVTL0,#0F0H;设置输出分十位;设置输出秒个位;设置输出秒十位CLRAMOVR0,#0HMOVR1,#OHMOVR4,#0HMOVR5,#0HCALL
4、KEYMOVRO,AMOVA,#0E0H;输出显示十位MOVP2,AMOVA,ROMOVDPTR,#TABMOVCA,@A+DPTRMOVPl,ACALLKEYMOVR1,A;输入个位SETBEA;设置中断允许WAIT:CALLSHOW;等待开始JMPWAITBEGIN:SETBEA;设置中断允许JPO:CALLSHOWDECR5CJNER5,#0FFH,JP0SHOW:MOVR3,#25HLOOP:MOVR2,#0D0H;设置分输出个位MOVP2,R2MOVA,R1;取分个位数值MOVDPTR,#TABMOVCA,@A+DPTRMOVPl,A;输出CALLDY
5、12MOVR2,#0E0HMOVP2,R2MOVA,ROMOVDPTR,#TABMOVCA,@A+DPTRMOVPl,ACALLDY12MOVR2,#70HMOVP2R2MOVA,R5MOVDPTR,#TABMOVCA,@A+DPTRMOVPl,ACALLDY12MOVR2,#0B0HMOVP2,R2MOVA,R4MOVDPTR,#TABMOVCA,@A+DPTRMOVPl,ACALLDY12DJNZR3,LOOPRETBREAKO:SETBEACALLKEYO沖】断程序SETBEARETSTOP:SETBCMOVP3.7,CSETBEAJMPWAITBEEP:
6、SETBEACLRCMOVP3.7,CMOVR1,#2HMOVR0,#0HMOVR4,#0HMOVR5,#0HJP1:CALLSHOWSETBEADECR5CJNER5,#OFFH,JP1DECR4MOVR5,#9HCJNER4,#OFFH,JP1DECR1MOVR4,#5HCJNERI,#OFFH,JP1DECROMOVR1,#9HCJNERO,#OFFH,JP1JMPMAINKEYO:CLRASETBRS1ACALLKEY2;处理特殊键CJNEA,#0AH,KKCLRRSIJMPBEGINKK:CJNEA,#0BH,KENDCLRRSIAJMPSTOPKEY
7、2:ACALLKS1JNZLK11AJMPKENDLK11:ACALLDY12ACALLKS1JNZLK2AJMPKEY2KEY:CLRASETBRS1ACALLKEY1;处理特殊键CJNEA,#0AH,KKKCLRRSIJMPBEGINKKK:CJNEA,#0BH,KENDCLRRSIAJMPSTOPKEY1:ACALLKS1;键盘程序JNZLK1AJMPKEY1LK1:ACALLDY12ACALLKS1JNZLK2AJMPKEY1LK2:MOVR2,#0FEHMOVR4,#00HLK4:MOVA,R2MOVP2,AMOVA,P0JBACC.0,LONEMOV
8、A,#00HAJMPLK