当前位置:文档之家› 《单片机原理及应用》课程设计 音乐 定时器

《单片机原理及应用》课程设计 音乐 定时器

《单片机原理及应用》课程设计音乐定时器姓名院系信息学院班级电气1082学号2008116312指导教师张瑛时间2011年 5 月 30日摘要目录摘要 I1设计要求 (1)2设计思路 (1)3简易流程图 (1)4源程序 (2)4.1定时器部分 (2)4.2音乐输出部分 (4)5电路图 (7)摘要本设计为基于at89c51芯片设计的音乐定时器,定时器通过键盘输入定时时间,开始计时后等待到达预订时间,即输出两分钟的音乐。

设计采用了4位数码管显示时间定时,扫描键盘负责输入、控制,两片89c51同时工作,一个负责定时、输入、显示、控制,另一个专门负责输出音乐。

关键词:定时器;音乐;51单片机广东海洋大学《电子线路CAD》课程设计音乐定时器电气1082,200811631214,黄磊指导教师:张瑛1设计要求设计要求:定时时间可任意设置(小于60分钟),设定值通过键盘输入,定时时间到发出音乐.音乐响2分钟,自动结束,中间也可以手动控制.2设计思路通过数码管的动态显示,显示定时器的定时。

定时的时间由扫描键盘输入,并启动以及暂停定时,音乐通过另一片89C51实现音乐发声器。

设计通过掌握汇编语言的编程方法. 运用89C51单片机定时器产生固定频率的方波信号,推动喇叭发出旋律。

实现功能:定时启动音乐演奏。

定时时间由用户通过键盘输入。

可以中途停止音乐演奏。

3简易流程图鸣谢4源程序4.1定时器部分ORG 0000HLJMP MAINORG 0003HLJMP BREAK0MAIN:SETB IT0 ;设置中断SETB EX0MOV TMOD,#01H;设置定时器0方式1MOV TH0,#0D8H ;初D8F0定时10msMOV TL0,#0F0HCLR AMOV R0,#0HMOV R1,#0HMOV R4,#0HMOV R5,#0HCALL KEYMOV R0,AMOV A,#0E0H ;输出显示十位MOV P2,AMOV A,R0MOV DPTR,#TABMOVC A,@A+DPTRMOV P1,ACALL KEYMOV R1,A ;输入个位SETB EA ;设置中断允许WAIT: CALL SHOW ;等待开始JMP W AITBEGIN: SETB EA ;设置中断允许JP0: CALL SHOWDEC R5CJNE R5,#0FFH,JP0DEC R4MOV R5,#9HCJNE R4,#0FFH,JP0DEC R1MOV R4,#5HCJNE R1,#0FFH,JP0DEC R0MOV R1,#9HCJNE R0,#0FFH,JP0JMP BEEPSHOW: MOV R3,#25HLOOP: MOV R2,#0D0H ;设置分输出个位MOV P2,R2MOV A,R1 ;取分个位数值MOV DPTR,#TABMOVC A,@A+DPTRMOV P1,A ;输出CALL DY12MOV R2,#0E0H ;设置输出分十位MOV P2,R2MOV A,R0MOV DPTR,#TABMOVC A,@A+DPTRMOV P1,ACALL DY12MOV R2,#70H ;设置输出秒个位MOV P2,R2MOV A,R5MOV DPTR,#TABMOVC A,@A+DPTRMOV P1,ACALL DY12MOV R2,#0B0H ;设置输出秒十位MOV P2,R2MOV A,R4MOV DPTR,#TAB鸣谢MOVC A,@A+DPTRMOV P1,ACALL DY12DJNZ R3,LOOPRETBREAK0: SETB EACALL KEY0 ;中断程序SETB EARETSTOP: SETB CMOV P3.7,CSETB EAJMP W AITBEEP: SETB EACLR CMOV P3.7,CMOV R1,#2HMOV R0,#0HMOV R4,#0HMOV R5,#0HJP1: CALL SHOWSETB EADEC R5CJNE R5,#0FFH,JP1DEC R4MOV R5,#9HCJNE R4,#0FFH,JP1DEC R1MOV R4,#5HCJNE R1,#0FFH,JP1DEC R0MOV R1,#9HCJNE R0,#0FFH,JP1JMP MAINKEY0: CLR ASETB RS1ACALL KEY2 ;处理特殊键CJNE A,#0AH,KKCLR RS1JMP BEGINKK: CJNE A,#0BH,KENDCLR RS1AJMP STOPKEY2: ACALL KS1JNZ LK11AJMP KENDLK11: ACALL DY12ACALL KS1JNZ LK2AJMP KEY2KEY: CLR ASETB RS1ACALL KEY1 ;处理特殊键CJNE A,#0AH,KKKCLR RS1JMP BEGINKKK: CJNE A,#0BH,KENDCLR RS1AJMP STOPKEY1: ACALL KS1 ;键盘程序JNZ LK1AJMP KEY1LK1: ACALL DY12ACALL KS1JNZ LK2AJMP KEY1LK2: MOV R2,#0FEHMOV R4,#00HLK4: MOV A,R2MOV P2,AMOV A,P0JB ACC.0,LONEMOV A,#00HAJMP LKPLONE: JB ACC.1,LTWOMOV A,#04HAJMP LKPLTWO: JB ACC.2,LTHRMOV A,#08H鸣谢AJMP LKPLTHR: JB ACC.3,NEXT MOV A,#0CH LKP: ADD A,R4PUSH ACCLK3: ACALL KS1JNZ LK3POP ACCKEND: CLR RS1RETNEXT: INC R4MOV A,R2JNB ACC.7,KNDRL AMOV R2,AAJMP LK4KND: AJMP KEY1 KS1: MOV A,#0E0H MOV P2,AMOV A,P0CPL AANL A,#0FHRET DY12: MOV R7,#25DY1: MOV R6,#200DY2: DJNZ R6,DY2DJNZ R7,DY1RETDY10: MOV TH0,#0D8H ;重装初值D8F0定时10msMOV TL0,#0F0HSETB TR0 ;启动定时器DYWAIT: JBC TF0,DYENDJMP DYWAITDYEND: CLR TR0RETTAB: DB 3FH,06H,5BH,4FH,66H,6DH DB 7DH,07H,7FH,6FHJMPTAB: JMP BEGINJMP STOPEND4.2音乐输出部分LO EQU 30HSI EQU 31HTC EQU 32HORG 0000HJMP BEGINORG 000BHJMP TOINTBEGIN:MOV SP, #60HMOV TMOD, #00HMOV IE, #82H WAIT :MOV C,P1.4JC RUNJMP W AITRUN :ACALL SOUNDONACALL PLAYSONGACALL SOUNDOFFJMP W AITPLAY :MOV C,P1.4JC PLAY0ACALL SOUNDOFFJMP W AITPLAY0:ACALL LOADV ALUE鸣谢L1 :MOV R5, #30ACALL DELAYDJNZ R3, L1ACALL SOUNDOFFMOV R5, #3ACALL DELAYACALL SOUNDONRETPLAYSONG:MOV TC, #0X0:MOV DPTR, #SONGMOV A, TCMOVC A, @A+DPTRMOV R4, ACJNE A, #0FFH, X1RETX1:MOV DPTR, #LENMOV A, TCMOVC A, @A+DPTRMOV R3, AACALL PLA YINC TCJMP X0RETSOUNDON:SETB TR0RETSOUNDOFF:CLR TR0RETLOADV ALUE:MOV DPTR, #SILISTMOV A,R4MOVC A,@A+DPTRMOV SI,AMOV DPTR, #LOLISTMOV A, R4MOVC A, @A+DPTRMOV LO, ARETTOINT :MOV TL0, LOMOV TH0, SICPL P3.4RETIDELAY :MOV R6, #35D1 :MOV R7, #70DJNZ R7, $DJNZ R6, D1DJNZ R5, DELAYRETSILIST:DB 196,202,208,211,216,220,224DB 226,229,232,233,236,238,240DB 241,242,244,244,246,247,248 LOLIST:DB 4,28,21,7,5,16,12DB 4,13,10,20,3,8,6SONG:DB12,15,13,12,12,10,12,13,15,12,12,13,12,10,9,9,10, 12,10,9,10,8DB12,15,13,15,12,10,12,9,10,12,10,12,13,15,12,13,12 ,10,12,8,10,9DB10,9,8,9,10,13,12,10,12,13,12,15,13,12,10,12,9,12, 9,10,9,8,0FFHLEN:DB 2,1,1,2,2,1,1,1,1,2,2,2,1,1,2,2,2,1,1,1,1,3DB 2,2,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2DB1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,2,1,1,1,1,2,0FFH END5电路图。

相关主题