




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机课程设计实验报告 微机原理课程设计题 目:数字音乐盒姓 名: 学 号:指导老师 :目 录一、任务与要求3二、硬件设计3三、软件设计3四、调试24五、收获和体会25六、参考文献25单片机课程设计实验报告一、任务及要求课程设计题目:数字音乐盒课程设计要求:1.利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒) 2采用LCD显示信息 3开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称) 4可通过功能键选择乐曲,暂停,播放。 5选作内容:显示乐曲播放时间或剩余时间二、硬件设计硬件电路:本设计中用到了98C51单片机,4*4键盘,蜂鸣器,16*2 LCD,七段显示数码管LED。(硬件电路原理图附于后页)原理说明:当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并驱动LCD,显示歌曲号及播放时间。也可在LED显示歌曲号。(1) 硬件电路中用P1.0P1.7控制按键,其中P1.0P1.3扫描行,P1.4P1.7扫描列。(2) 用P0.0P0.7,P2.0P2.7控制LED,其中P0.0P0.7控制七段码a,b,c,d,e,f,g,用P2.0P2.7为数码管位选信号。(3) 用,P2.0P2.2作为LCD的RS,R/W,E的控制信号。用P0.0P0.7作为LCD的D0D7的控制信号。(4) 用P3.7口控制蜂鸣器(J2,J4断开,J3短接)。(5) 电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。三、软件设计本程序可以实现课程设计的基本要求和附加功能,并可以通过按键播放七歌曲。实验程序如下:RS BIT P2.0;定义液晶显示端口标号RW BIT P2.1E BIT P2.2;*L50MS EQU 60HL1MS EQU 61HL250MS EQU 62HSEC EQU 65HMIN EQU 64HHOU EQU 63H;*ORG 0000h LJMP mainORG 000BHLJMP TT0ORG 001BHLJMP T1INT org 1000hmain: ;-;液晶初始化MOV SP,#70H MOV P0,#01H ;清屏 CALL ENABLE MOV P0,#38H ;8位,2行显示 LCALL ENABLE MOV P0,#0FH ;屏显on,光标on,闪烁on LCALL ENABLE MOV P0,#06H ;计数地址加1,显示幕on LCALL ENABLE;-内存初始化 LCALL INITIL ;-key1: LCALL key LCALL modd LJMP key1;-键盘扫描key: nop nop lcall ks jnz k1 ;有按键转到K1 lcall kaiji lcall SOPxn: ljmp keyk1: lcall modd lcall modd lcall ks jnz k2 ljmp keyk2: mov R2,#0feh ;读键盘 mov R4,#00hk3: mov A,R2 mov P1,A mov A,P1 JB ACC.4,L1 ;为1跳转,第一行无按键 mov a,#00h ljmp lkL1: jb acc.5,L2 mov a,#04h ljmp lkL2: jb acc.6,L3 mov a,#08h ljmp lkL3: jb acc.7,next1 mov a,#0ch;-lk: add a,R4 push acck4: lcall delay1 ;若同时有其他按键,则等待 lcall ks jnz k4;- mov r3,#07h clr a mov r0,#30h mov r1,#31hmm1: mov a,r1 mov r0,a inc r0 inc r1 djnz r3,mm1 pop acc mov r0,a RET;-next1: inc R4 ;-列扫描 mov a,R2 JNB acc.3,n2 ljmp n1n2: ljmp keyn1: rl a mov R2,a ljmp k3;-ks: mov a,#0f0h ;判断P1口 mov P1,a nop nop mov a,P1 cpl a anl a,#0f0h RET;-DELAY1: SETB RS0dl: mov R5,#0ahdl2: mov R6,#63dl3: nop nop djnz R6,dl3 djnz R5,dl2 CLR RS0 RET;- ;30H-37H初值为零;-initil: mov r3,#08h mov r0,#30hm1: mov r0,#00h inc r0 djnz r3,m1 RET;-;显示 ;-modd: MOV P0,#8EH CALL ENABLE mov A,37H mov DPTR,#TABLE3 MOVC A,A+DPTR CALL WRITE2 RET;-;开机提示字;-kaiji: mov a,37h cjne a,#0fh,DFF MOV P0,#80H ;设光标地址 CALL ENABLE MOV DPTR,#TABLE1;写数据 CALL WRITE1 DFF: RET;-;按键值播放歌曲;-SOP: mov a,37h cjne a,#01h,A11 LCALL MODD MOV 52H,#HIGH TABLE10 MOV 53H,#LOW TABLE10 LCALL INITILE2 lcall MAIN0A11: CJNE A,#02H,A22 LCALL MODD MOV 52H,#HIGH TABLE20 MOV 53H,#LOW TABLE20 LCALL INITILE2 lcall MAIN0A22: CJNE A,#03H,A33 LCALL MODD MOV 52H,#HIGH TABLE30 MOV 53H,#LOW TABLE30 LCALL INITILE2 lcall MAIN0 A33: CJNE A,#04H,A44 LCALL MODD MOV 52H,#HIGH TABLE40 MOV 53H,#LOW TABLE40 LCALL INITILE2 lcall MAIN0A44: CJNE A,#05H,A55 LCALL MODD MOV 52H,#HIGH TABLE50 MOV 53H,#LOW TABLE50 LCALL INITILE2 lcall MAIN0A55: CJNE A,#06H,A66 LCALL MODD MOV 52H,#HIGH TABLE60 MOV 53H,#LOW TABLE60 LCALL INITILE2 lcall MAIN0 A66: CJNE A,#07H,A77 LCALL MODD MOV 52H,#HIGH TABLE70 MOV 53H,#LOW TABLE70 LCALL INITILE2 lcall MAIN0 A77: CJNE A,#08H,A88 LCALL MODD MOV 52H,#HIGH TABLE80 MOV 53H,#LOW TABLE80 LCALL INITILE2 lcall MAIN0A88: CJNE A,#09H,A99 LCALL MODD MOV 52H,#HIGH TABLE90 MOV 53H,#LOW TABLE90 LCALL INITILE2 lcall MAIN0 A99: CJNE A,#0AH,AAA LCALL MODD MOV 52H,#HIGH TABLE100 MOV 53H,#LOW TABLE100 LCALL INITILE2 lcall MAIN0 AAA: RET ;*INITILE2: MOV L50MS,#20 MOV L1MS,#00H MOV L250MS,#00H MOV SEC,#00H MOV MIN,#00H MOV HOU,#00H MOV A,HOU MOV B,#10 DIV AB ADD A,#30H ;将BCD吗转化为ASIIC码 MOV P0,#0C8H ;显示小时十位 CALL ENABLE CALL WRITE2 MOV A,B ADD A,#30H MOV P0,#0C9H ;显示小时个位 CALL ENABLE CALL WRITE2 MOV A,#3AH MOV P0,#0DH ;显示冒号 CALL ENABLE CALL WRITE2 MOV A,MIN MOV B,#10 DIV AB ADD A,#30H MOV P0,#0CBH ;显示分十位 CALL ENABLE CALL WRITE2 MOV A,B ADD A,#30H MOV P0,#0CCH ;显示分个位 CALL ENABLE CALL WRITE2 MOV A,#3AH MOV P0,#0CDH ;显示冒号 CALL ENABLE CALL WRITE2 MOV A,SEC MOV B,#10 DIV AB ADD A,#30H MOV P0,#0CEH ;显示秒十位 CALL ENABLE CALL WRITE2 MOV A,B ADD A,#30H MOV P0,#0CFH ;显示秒个位 CALL ENABLE CALL WRITE2 MOV P0,#0C0H ;设光标地址 CALL ENABLE MOV DPTR,#TABLE2;写数据 CALL WRITE1 RET;*写指令ENABLE: CLR RS CLR RW CLR E LCALL DELAY SETB E RET;*写数据WRITE1: MOV R1,#00HA1: MOV A,R1 MOVC A,A+DPTR CALL WRITE2 INC R1 CJNE A,#0FEH,A1 ;未到字符串末尾继续 RETWRITE2: MOV P0,A SETB RS CLR RW CLR E CALL DELAY SETB E RET;*DELAY: MOV R4,#05D1: MOV R5,#0FFH DJNZ R5,$ DJNZ R4,D1 RET ;-TAB: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h db 80h,90h,88h,83h,0c6h,0a1h,86h,8ehTAB1: db 89h,86h,0c7h,0c7h,0c0h TAB2: db 0c6h,88h,0c0hTABLE1: DB WELCOM HERE,0FEHTABLE2: DB DFF WB ,0FEHTABLE4: DB CAU,0FEH TABLE3: DB 30H,31H,32H,33h DB 34H,35H,36H,37H DB 38h,39H,41H,42H DB 43H,44H,45H,46H;-;播放歌曲程序;-MAIN0:MOV TMOD,#11HMOV IE,#8aH ;MOV TH1, #3cH ;MOV TL1, #0b0H lcall ksjnz TTM12 MOV 40H,#00H;-NEXT20: MOV A,40HMOV DPH,52HMOV DPL,53HMOVCA,A+DPTRMOV R2,AJZ STOPANL A,#0FHMOV R1,AMOV A,R2SWAP AANL A,#0FHJNZ SINGCLR TR0JMP W1;-SING: DEC AMOV 22H,ARL AMOV DPTR,#TABLE00MOVC A,A+DPTRMOV TH0,AMOV 21H,AMOV A,22HRL AINC AMOVC A,A+DPTRMOV TL0,AMOV 20H,ASETB TR0SETB TR1W1: LCALL DELAY30INC 40HLCALL KS ;-有键跳出JNZ STOPLJMP NEXT20;-STOP: CLR TR0CLR TR1 LJMP MAIN0 ;-TTM12: LCALL K2 MOV A,37HCJNE A,#0EH,TTM13CLR TR1 LCALL DELAY1TTM120:LCALL KSLCALL DELAY1JZ TTM120 LCALL K2 MOV A,37HCJNE A,#0EH,TTM120SETB TR1 LJMP NEXT20TTM13: CJNEA,#0CH,TTM14MOV A,52HINC AMOV 52H,AMOV A,53HINC AMOV 53H,AMOV A,36HINC AMOV 37H,ALJMP TTM2TTM14:CJNEA,#0DH,TTM2MOV A,52HDEC AMOV 52H,AMOV A,53HDEC AMOV 53H,AMOV A,36HDEC AMOV 37H,A;- TTM2:RET;*;定时器中断子程序0;*TT0: PUSH ACCPUSH PSWMOV TL0,20HMOV TH0,21HCPL P3.7POP PSWPOP ACCRETI;*;定时器中断子程序1;*T1INT: MOV TH1, #3cH MOV TL1, #0b0H DJNZ L50MS,X4 MOV L50MS,#20 ;*-每秒种时钟刷新秒显示一次SECSET:MOV A,SEC MOV B,#10 DIV AB ADD A,#30H MOV P0,#0CEH ;显示秒十位 CALL ENABLE CALL WRITE2 MOV A,B ADD A,#30H MOV P0,#0CFH ;显示秒个位 CALL ENABLE CALL WRITE2 MOV A,SEC INC A MOV SEC,A XRL A,#60X4: JNZ OUTMINSET: MOV SEC,#00H ;*每分钟刷新分显示一次 MOV A,MIN INC A MOV MIN,A MOV B,#10 DIV AB ADD A,#30H MOV P0,#0CBH ;显示分十位 CALL ENABLE CALL WRITE2 MOV A,B ADD A,#30H MOV P0,#0CCH ;显示分个位 CALL ENABLE CALL WRITE2 MOV A,MIN MOV B,#3 MUL AB MOV B,#100 DIV AB MOV R2,A MOV A,#10 XCH A,B DIV AB MOV A,MIN XRL A,#60 JNZ OUTHOUSET: MOV MIN,#00H ;*每小时刷新小时显示一次 MOV A,HOU MOV B,#10 DIV AB ADD A,#30H ;将BCD吗转化为ASIIC码 MOV P0,#0C8H ;显示小时十位 CALL ENABLE CALL WRITE2 MOV A,B ADD A,#30H MOV P0,#0C9H ;显示小时个位 CALL ENABLE CALL WRITE2 MOV A,HOU INC A MOV HOU,A XRL A,#10 JNZ OUT SJMP OVERFLOWOUT: RETI;*溢出处理OVERFLOW: MOV L50MS,#20 MOV L1MS,#00H MOV L250MS,#00H MOV SEC,#00H MOV MIN,#00H MOV HOU,#00H RETI;-DELAY30: MOV R7,#2W2: MOV R4,#125W3: MOV R3,#248DJNZ R3,$DJNZ R4,W3DJNZ R7,W2DJNZ R1,DELAY30RET;-TABLE00:DW 64580,64684,64777,64820DW 64898,64968,65030,64260DW 64400,64524,65058,63835,64021;-;第一首精忠报国;-TABLE10: DB 66H,52H,36H,22H,12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22HDB 32H,52H,22H,42H,38H,66H,52H,36H,22H,12H,22H,22H,32H,98HDB 24H,22H,32H,54H,52H,32H,92H,12H,92H,82H,98H,66H,52H,36H,22HDB 12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H,32H,52H,22H,42H,38HDB 66H,52H,36H,22H,12H,22H,22H,32H,98H,24H,22H,32H,54H,52H,32HDB 22H,12H,92H,82H,98H,14H,24H,34H,44H,64H,0B4H,64H,32H,52HDB 62H,0B2H,62H,52H,38H,24H,22H,32H,54H,52H,62H,52H,32H,32H,22H,38HDB 64H,0B4H,64H,32H,52H,62H,0B2H,62H,52H,38H,22H,22H,22H,32H,52H,52HDB 52H,62H,7FH,74H,04H,58H,6FHDB 00;-;第二首月亮代表我的心;-TABLE20:DB 02H,82HDB 16H,32H,54H,02H,52HDB 0A6H,32H,54H,02H,52HDB 64H,74H,0B6H,64HDB 52H,5CH,32H,22HDB 16H,12H,14H,32H,22HDB 16H,12H,14H,22H,32HDB 26H,12H,94H,22H,32HDB 2CHDB 32H,52HDB 36H,22H,14H,54HDB 0ACH,92H,0A2HDB 96H,0A2H,96H,82HDB 3CH,54HDB 36H,22H,14H,54HDB 0ACH,92H,0A2HDB 16H,12H,14H,22H,32HDB 2CH,02H,82HDB 16H,32H,56H,12HDB 0A6H,32H,56H,52HDB 66H,72H,0B6H,62HDB 62H,52H,58H,32H,22HDB 16H,12H,14H,32H,22HDB 16H,12H,14H,22H,32HDB 26H,92H,0A4H,12H,22HDB 1CHDB 00;-;第三首看我七十二变;-TABLE30:DB 0d4H,84H,94H,82H,92HDB 12H,22H,82H,92H,02H,92H,82H,0d2HDB 82H,92H,14H,84H,02H,0d1H,0d1HDB 0c2H,0d2H,84H,0d2H,0d2H,82H,82HDB 84H,82H,82H,94H,82H,0d2HDB 82H,82H,82H,92H,02H,82H,82H,0d2HDB 0c4H,84H,0d4H,92H,0d2HDB 82H,0d2H,82H,92H,98HDB 04H,94H,88HDB 04H,94H,88HDB 04H,94H,88HDB 04H,94H,88H,04HDB 32H,32H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,22HDB 54H,44H,34H,12H,22HDB 34H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,92HDB 32H,32H,22H,12H,02H,92H,12H,22HDB 54H,44H,32H,22H,12H,92HDB 00;-;第四首同一首歌;-TABLE40:DB 88h,14h,24h,36H,42H,34H,14H,28H,14H,94HDB 1fH,88H,14H,24H,34H,32H,42H,54H,14HDB 46H,32H,54H,22H,32H,32H,22H,2CH,38H,54H,74HDB 76H,62H,68H,54H,52H,62H,74H,62H,52H,3fHDB 46H,42H,54H,64H,54H,42H,32H,28H,0a4H,0a2HDB 92H,84H,94H,1fH,0b8H,68H,46H,52H,68HDB 74H,72H,72H,74H,62H,52H,3fH,0b8H,68HDB 46H,52H,68H,64H,62H,62H,64H,42H,32H,2fHDB 58H,14H,24H,36H,42H,34H,12H,12H,26H,22H,24H,22H,12HDB 94H,9cH,0a8H,0a6H,92H,84H,64H,54H,22H,22H,46H,42H,44H,32H,22H,5fHDB 00;-;第五首大海;-TABLE50:DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24HDB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32HDB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,94H,1cHDB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24HDB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,54H,52H,64H,52H,32HDB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,22H,12H,1cH,32H,52HDB 62H,64H,62H,64H,0b2H,62H,52H,54H,62H,54H,32H,22HDB 12H,14H,12H,14H,24H,3cH,32H,22H,12H,14H,12H,14H,0b2H,62H,52H,54H,62H,54H,32H,52HDB 66H,0b2H,0b4H,62H,52H,5cH,32H,52H,62H,64H,62H,64H,0b2H,62H,52H,54HDB 62H,54H,32H,22H,12H,14H,12H,14H,54H,3cH,32H,22H,12H,14H,12H,14H,22H,32HDB 52H,54H,32H,54H,32H,52H,6fH,04H,02H,92H,32H,24H,12H,1fHDB 00;-;第六首两只蝴蝶;-TABLE60:DB 32H,22H,38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,12H,92H,92H,88H,04H,32H,22HDB 38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,21H,92H,12H,28H,04H,32H,22HDB 38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,12H,92H,91H,11H,88HDB 04H,32H,52H,58H,02H,52H,62H,52H,38H,04H,22H,22H,24H,22H,32H,22H,12H,92H,92HDB 12H,12H,1cH,08H,02H,52H,52H,62H,0b2H,72H,72H,62H,32H,22H,22H,22HDB 38H,02H,32H,32H,52H,64H,64H,02H,92H,32H,22H,28H,04H,32H,52H,52H,32H,54H,02H,0b4H,72HDB 62H,72H,34H,02H,62H,62H,72H,62H,52H,32H,22H,02H,32H,22H,32HDB 58H,02H,52H,52H,62H,0b2H,72H,72H,62H,32H,22H,22H,22HDB 38H,02H,32H,32H,52H,64H,64H,02H,92H,32H,22H,28H,04H,32H,52H,52H,32H,54H,02H,0b4H,72HDB 62H,72H,34H,02H,62H,62H,72H,62H,52H,32H,22H,02H,84H,92H,1cHDB 00;-;第七首;-TABLE70:DB 66H,52H,34H,54H,0B4H,62H,52H,68H,34H,52H,62H,54H,34H,12H,92H,52H,32H,28HDB 26H,32H,54H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FHDB 66H,52H,34H,54H,0B4H,62H,52H,68H,34H,52H,62H,54H,34H,12H,92H,52H,32H,28HDB 26H,32H,54H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FHDB 66H,52H,34H,54H,0B4H,62H,52H,68H,34H,52H,62H,54H,34H,12H,92H,52H,32H,28HDB 26H,32H,54H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FHDB 00;-;第八首歌彩云追月;-TABLE80:DB 86H,92H,12H,22H,32H,52H,68H,63H,52H,34H,62H,0B2H,0B2H,62H,51H,61H,51H,31H,54HDB 62H,0B2H,0B2H,62H,52H,32H,52H,52H,51H,61H,51H,31H,34H,52H,62H,74H,32H,52H,52H,32H,21H,31H,21H,11H,24HDB 32H,52H,52H,32H,22H,12H,24H,32H,52H,52H,32H,62H,52H,61H,51H,31H,21H,21H,31H,21H,11H,1CHDB 21H,31H,22H,23H,31H,21H,18H,02H,0B2H,0BCH,0B4H,72H,61H,51H,72H,61H,71H,61H,51H,61H,71H,61H,6FHDB 86H,94H,12H,22H,32H,52H,64H,62H,51H,31H,52H,21H,31H,21H,33H,62H,0B2H,0B2H,62H,51H,61H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年注册验船师资格考试(B级船舶检验专业基础安全)能力提高训练题及答案一
- 2025年公路水运检测师考试《道路工程》真题及答案(完整版)
- 2025年注册验船师资格考试(C级船舶检验法律法规)强化练习题及答案一
- 2025年(自考)护理管理学考试题库及答案(含各题型)
- 2025年高校教务招聘笔试模拟题及考点解析
- 2025年高级测试工程师面试题解析及测试技巧
- 2025年金融专业毕业生求职面试模拟题集及解析
- 2025年考试无忧技术类招聘笔试模拟题及答案速递
- 校长读书汇报课件
- 2025年信息系统项目管理师中级模拟题与答案指南
- 神经内科头痛健康宣教
- 熊廷弼之死:晚明政局的囚徒困境
- 幼儿歌曲弹唱伴奏训练(学前教育专业)全套教学课件
- IATF16949过程绩效指标一览表
- 水利部2002《水利建筑工程概算定额》
- 龙虎山正一日诵早晚课
- 四年级数学下册12月份计算小超市
- 医院陪护中心运营方案
- 厂家如何做好经销商的利润管理
- 2023《中央企业合规管理办法》要点解读课件PPT
- 聚合物基础知识
评论
0/150
提交评论