XXXXXXXXXXXXX
一、项目概述:
随着社会的发展进步,许多人性化的电子产品被用在人们的日常生活中,而单片机被广泛运用到人们长期接触的事物上,比如银行交易窗口的滚动字幕,还有各种彩灯的控制,手机、计算机、机器人等各行各业中。基于ATC52单片机的数字音乐盒就是这类产品,它不仅给人们带来了快乐,而且提高了人们的生活质量。
二、项目要求:
基于ATC52单片机的数字音乐盒的设计要求如下: (1)用ATC2单片机的I/O端口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。
(2)共有10首乐曲,每首乐曲都有相应的按键控制,并且有开关键、暂停键、上一曲以及下一曲的控制键。
(3)LCD液晶显示歌曲的序号、播放时间、开机时显示英文欢迎提示字符。
三、知识要点:
(一)、ATC2
芯片资料:
1)功能说明:
1、兼容MCS51指令系统 。
2、8k可反复擦写(大于1000次)Flash ROM。 3、2KB的E2PROM程序存储器,可擦写10万次 4、32个双向I/O口。 5、256x8bit内部RAM。
5、3个16位可编程定时/计数器中断。 6、时钟频率12MHz。
7、1个可编程UART串行通道。
8、2个外部中断源,共9个中断源,6个中断矢量。 9、2个读写中断口线,3级加密位。
10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能。
11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。
2)引脚说明:
ATC52是51系列单片机的一个型号,它是ATMEL公司生产的。ATC52为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/VPd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0~P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(32~39 脚)被定义为 N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。
本项目使用到的单片机引脚说明:
1) 20、40号引脚分别接地和+5V电源。
2) 18、29号引脚分别接振荡器反相放大器的输出端和振荡器反相放大器的及内部时
钟发生器的输入端。
3)9号引脚接RST复位电路。
3)单片机使能信号接31号引脚,接+5V。
4)17号引脚(P3.7)接蜂鸣器电路通过定时器控制P3.7引脚上方波的占空比可以实现驱动 蜂鸣器,发出不同的音调的功能。
5)P1端口控制4×4矩阵键盘,其中P1.0~P1.3 进行列扫描,P1.4~P1.7进行行扫描。
6)P0端口用于接液晶显示器的数据位,由于P0端口驱动能力小,需外接电源和上拉电阻,此项目中接1K的排阻。
(二)、LCD1602资料:
1)、LCD1602介绍:
1602液晶显示器也叫1602字符型液晶 它是一种专门用来显示字母、数字、符号等的点阵型液晶模块 它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔,每行之间也有也有间隔,起到了字符间距和行间距的作用,正因为如此 所以他不能显示图形。
LCD1602是指显示的内容为16X2,即可以显示2行,每行16个字符液晶模块(显示字符和数字)。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常 用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点 阵字符图形显示出来,我们就能看到字母“A” 。
2)1602引脚说明:
本项目中使用到的LCD的引脚说明:
1)1脚VSS接地,2脚VDD接+5V电源。
2)3脚VEE接地,中间连10K变位器,用于调节液晶显示器对比度。 3)4脚RS、5脚RW、6脚E分别接单片机P2.0、P2.1、P2.2脚。 4)7~9脚接对应单片机P0口,用于数据传送。
5)15脚和16脚分别接电源和地,用于1602背光显示。
四、系统设计:
(一)、系统框图:
复位电路
晶振电路
电源电路 ATC52 单片机 LCD液晶显示电路 蜂鸣器电路 4×4矩阵按键 电路
(二)系统框架图说明:
1、 电源电路:以+5V表示高电平,0表示低电平。
2、复位电路:复位电路分为手动复位和上电复位两种,本实验复位电路综合了以上两种复位方式,RST引脚十复位信号的输入端口,高电平有效。在时钟振荡器稳定工作的情况下,该引脚若由低电平升到高电平,并保持两个机器周期系统实现一次复位操作。具体实现见电路原理图。
3、晶振电路:晶振电路分为内部振荡器接法和外部振荡器接法,本实验采用内部接法。晶振频率12MHz。具体实现见原理图。
4、LCD液晶显示电路:P0端口用于接液晶显示器的数据位,由于P0端口驱动能力小需外接电源和上拉电阻,液晶显示器的RS RW E 三个引脚分别接在单片机的P2.0、P2.1、P2.2引脚上。1引脚接地,2引脚接高电平,3引脚通过滑动变阻器接地。15以及16引脚是背光电源,可根据实际情况选取。具体实现见原理图。
5、蜂鸣器电路:17号引脚(P3.7)接蜂鸣器电路通过定时器控制P3.7引脚上方波的占空比可以实现驱动蜂鸣器,发出不同的音调的功能。驱动喇叭的功率管采用型号为 2N5088的三级管,使喇叭在各种频率的脉冲信号下能准确的发出各个音阶的音调。
6、矩阵按键电路:P1端口控制4×4矩阵键盘,其中P1.0~P1.3 进行列扫描,P1.4~P1.7进行行扫描。
五、硬件设计:
C3 10uF C130pFLCD1R11kLM016LX1CRYSTALR21kC230pFR3VSSVDDVEERSRWE456D0D1D2D3D4D5D6D7710111213141kR41kR51kR61kR71kR8U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD3938373635343332212223242526272810111213141516171k18XTAL29RSTR0410k293031PSENALEEAR021k
12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7ATC52123R011kQ12N5088R03100LS1SPEAKER
蜂鸣器电路:
R2 元件清单: 基于ATC52单片机的音乐盒元件清单: 原件名称 单片机 晶振 电容 电解电容 电阻 液晶显示器 排阻 喇叭 电阻 三极管 电源 按键
型号 ATC52 12MHz 30PF 10uF/10V 10k 1602A 1k 0.5w/8Ω 1k S9015 +5V/0.5A 四脚 数量/个 1 1 2 1 1 1 1 1 2 1 1 17 1kR4Q12N5088100RLS1R31kSPEAKER用途 控制核心 晶振电路 晶振电路 复位电路 复位电路 LCD显示 上拉电阻 蜂鸣器电路 提供电源 按键电路 六、软件设计:
键盘采用动态扫描方式。每次扫描一行键盘,送此行低电平,读输入口的状态,判断有没由按键按下。若有按键按下,则根据读入口的值选择显示值并送至显示值寄存单元,判断键值;启动计数器T0,根据此值为偏移地址找到药选择的音乐的代码的首地址,根据代码产生一定频率的脉冲,驱动蜂鸣器,放出音乐;同时启动定时器T1,计算音乐的播放时间,并且启动LCD,在LCD上显示序号和播放时间。
程序流程图
(一)、主程序流程图和显示流程:
开始 LCD初始化 按键是否按下?
识别按键功能 播放音乐并计算 播放时间 送LCD显示
结束
(二)、实验源程序:
RS BIT P2.0 ;引脚定义,定义液晶显示端口标号 RW BIT P2.1 E BIT P2.2
L50MS EQU 60H ;工作内存定义 L1MS EQU 61H L250MS EQU 62H SEC EQU 65H MIN EQU H HOU EQU 63H ORG 0000H LJMP MAIN ORG 000BH ;定时器T0溢出中断入口地址 LJMP TT0 ORG 001BH ; 定时器T1溢出中断入口地址 LJMP T1INT
ORG 1000H
MAIN: ;液晶初始化 MOV SP,#70H
设定LCD初始化 设LCD模组为2行显示,8位元界面 显示器ON LCD模组接收资料 清除显示 MOV P0,#01H ;清屏 CALL DISPLAY
MOV P0,#38H ;8位,2行显示 LCALL DISPLAY
MOV P0,#0FH ;屏显on,光标on,闪烁on LCALL DISPLAY
MOV P0,#06H ;计数地址加1,显示幕on LCALL DISPLAY
LCALL INITIL ;内存初始化
WAIT: LCALL KEY ;键盘扫描,是否有键按下,否则等待 LCALL MODD LJMP WAIT KEY: NOP NOP
LCALL KS JNZ K1 ;有按键转到K1 LCALL KAIJI LCALL SOP XN: LJMP KEY K1: LCALL MODD LCALL MODD LCALL KS JNZ K2 LJMP KEY
K2: MOV R2,#0FEH ;读键盘 MOV R4,#00H K3: MOV A,R2 MOV P1,A MOV A,P1
JB ACC.4,L1 ;为1跳转,第一行无按键 MOV A,#00H LJMP LK L1: JB ACC.5,L2 MOV A,#04H LJMP LK L2: JB ACC.6,L3 MOV A,#08H LJMP LK
L3: JB ACC.7,NEXT1 MOV A,#0CH LK: ADD A,R4 PUSH ACC
K4: LCALL DELAY1 ;若同时有其他按键,则等待 LCALL KS
JNZ MOV CLR MOV MOV MM1: MOV MOV INC INC DJNZ POP MOV RET NEXT1: INC MOV JNB LJMP N2: LJMP N1: RL A
MOV LJMP KS: MOV MOV NOP NOP
MOV CPL ANL RET
DELAY1:SETB DL: MOV DL2: MOV DL3: NOP NOP
DJNZ DJNZ CLR RET
INITIL: MOV MOV M1: MOV INC DJNZ K4
R3,#07H A
R0,#30H R1,#31H A,@R1 @R0,A R0 R1
R3,MM1 ACC @R0,A R4 ;列扫描 A,R2
ACC.3,N2 N1 KEY R2,A K3
A,#0F0H ;判断P1口 P1,A A,P1 A
A,#0F0H RS0
R5,#0AH R6,#63 R6,DL3 R5,DL2 RS0 ;30H-37H初值为零R3,#08H R0,#30H @R0,#00H R0
R3,M1
RET
MODD: ;显示 MOV P0,#8EH
CALL DISPLAY 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 DISPLAY
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 MAIN0 A11: CJNE A,#02H,A22 LCALL MODD
MOV 52H,#HIGH TABLE20 MOV 53H,#LOW TABLE20 LCALL INITILE2 lcall MAIN0 A22: 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 MAIN0 A44: CJNE A,#05H,A55 LCALL MODD
MOV 52H,#HIGH TABLE50 MOV 53H,#LOW TABLE50 LCALL INITILE2 lcall MAIN0 A55: 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 MAIN0 A88: 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 DISPLAY CALL WRITE2 MOV A,B ADD A,#30H
MOV P0,#0C9H ;显示小时个位 CALL DISPLAY CALL WRITE2 MOV A,#3AH
MOV P0,#0DH CALL DISPLAY CALL WRITE2 MOV A,MIN MOV B,#10 DIV AB ADD A,#30H
MOV P0,#0CBH CALL DISPLAY CALL WRITE2 MOV A,B ADD A,#30H
MOV P0,#0CCH CALL DISPLAY CALL WRITE2 MOV A,#3AH
MOV P0,#0CDH CALL DISPLAY CALL WRITE2 MOV A,SEC MOV B,#10 DIV AB
ADD A,#30H
MOV P0,#0CEH CALL DISPLAY CALL WRITE2 MOV A,B ADD A,#30H
MOV P0,#0CFH CALL DISPLAY CALL WRITE2
MOV P0,#0C0H CALL DISPLAY
;显示冒号 ;显示分十位 ;显示分个位 ;显示冒号 ;显示秒十位 ;显示秒个位 ;设光标地址 MOV DPTR,#TABLE2;写数据 CALL WRITE1 RET
DISPLAY: CLR RS ;写指令 CLR RW CLR E LCALL DELAY SETB E RET
WRITE1: MOV R1,#00H ;写数据 A1: MOV A,R1 MOVC A,@A+DPTR CALL WRITE2 INC R1 CJNE A,#0FEH,A1 ;未到字符串末尾继续 RET
WRITE2: MOV P0,A SETB RS CLR RW CLR E CALL DELAY SETB E RET
DELAY: MOV R4,#05 D1: 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,8EH TAB1: DB H,86H,0C7H,0C7H,0C0H TAB2: DB 0C6H,88H,0C0H
TABLE1: DB 'Music Box',0FEH TABLE2: DB 'he jin ',0FEH TABLE4: 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,#11H ;播放歌曲程序 MOV IE,#8aH MOV TH1, #3cH MOV TL1, #0b0H LCALL KS
JNZ TTM12 MOV 40H,#00H NEXT20: MOV A,40H MOV DPH,52H MOV DPL,53H MOVC A,@A+DPTR MOV R2,A JZ STOP ANL A,#0FH MOV R1,A MOV A,R2 SWAP A ANL A,#0FH JNZ SING CLR TR0 JMP W1 SING: DEC A MOV 22H,A RL A MOV DPTR,#TABLE00 MOVC A,@A+DPTR MOV TH0,A MOV 21H,A MOV A,22H RL A INC A MOVC A,@A+DPTR MOV TL0,A MOV 20H,A SETB TR0 SETB TR1
W1: LCALL DELAY30 INC 40H LCALL KS ;有键跳出 JNZ STOP LJMP NEXT20 STOP: CLR TR0 CLR TR1
LJMP MAIN0 TTM12: LCALL K2 MOV A,37H CJNE A,#0EH,TTM13 CLR TR1
LCALL DELAY1
TTM120: LCALL KS LCALL DELAY1 JZ TTM120 LCALL K2 MOV A,37H CJNE A,#0EH,TTM120 SETB TR1 LJMP NEXT20 TTM13: CJNE A,#0CH,TTM14 MOV A,52H INC A MOV 52H,A MOV A,53H INC A MOV 53H,A MOV A,36H INC A MOV 37H,A LJMP TTM2
TTM14: CJNE A,#0DH,TTM2 MOV A,52H DEC A MOV 52H,A MOV A,53H DEC A MOV 53H,A MOV A,36H DEC A MOV 37H,A TTM2: RET
TT0: PUSH ACC ;定时器中断子程序0 PUSH PSW MOV TL0,20H MOV TH0,21H CPL P3.7 POP PSW POP ACC RETI
;定时器中断子程序1
T1INT: MOV TH1, #3CH ;定时器中断子程序1 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 DISPLAY CALL WRITE2 MOV A,B
ADD A,#30H
MOV P0,#0CFH ;显示秒个位 CALL DISPLAY CALL WRITE2 MOV A,SEC INC A MOV SEC,A XRL A,#60 X4: JNZ OUT
MINSET: MOV SEC,#00H ; 每分钟刷新分显示一次 MOV A,MIN INC A
MOV MIN,A MOV B,#10 DIV AB ADD A,#30H
MOV P0,#0CBH ;显示分十位 CALL DISPLAY CALL WRITE2 MOV A,B
ADD A,#30H
MOV P0,#0CCH ;显示分个位 CALL DISPLAY 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 OUT
HOUSET:
MOV MIN,#00H ;每小时刷新小时显示一次 MOV A,HOU MOV B,#10 DIV AB
ADD A,#30H ;将BCD吗转化为ASIIC码 MOV P0,#0C8H ;显示小时十位 CALL DISPLAY CALL WRITE2 MOV A,B
ADD A,#30H
MOV P0,#0C9H ;显示小时个位 CALL DISPLAY CALL WRITE2 MOV A,HOU INC A MOV HOU,A XRL A,#10 JNZ OUT SJMP OVERFLOW OUT: RETI;溢出处理 OVERFLOW:
MOV L50MS,#20 MOV L1MS,#00H MOV L250MS,#00H MOV SEC,#00H MOV MIN,#00H MOV HOU,#00H RETI DELAY30: MOV R7,#2
W2: MOV R4,#125 W3: MOV R3,#248 DJNZ R3,$ DJNZ R4,W3 DJNZ R7,W2 DJNZ R1,DELAY30 RET TABLE00: DW 580,684,777,820 DW 8,968,65030,260 DW 400,524,65058,63835,021 TABLE10: ;第一首《精忠报国》
DB 66H,52H,36H,22H,12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H
DB 32H,52H,22H,42H,38H,66H,52H,36H,22H,12H,22H,22H,32H,98H DB 24H,22H,32H,H,52H,32H,92H,12H,92H,82H,98H,66H,52H,36H,22H DB 12H,12H,22H,32H,98H,84H,82H,92H,14H,12H,22H,32H,52H,22H,42H,38H DB 66H,52H,36H,22H,12H,22H,22H,32H,98H,24H,22H,32H,H,52H,32H DB 22H,12H,92H,82H,98H,14H,24H,34H,44H,H,0B4H,H,32H,52H DB 62H,0B2H,62H,52H,38H,24H,22H,32H,H,52H,62H,52H,32H,32H,22H,38H DB H,0B4H,H,32H,52H,62H,0B2H,62H,52H,38H,22H,22H,22H,32H,52H,52H DB 52H,62H,7FH,74H,04H,58H,6FH DB 00
TABLE20: ;第二首《月亮代表我的心》 DB 02H,82H DB 16H,32H,H,02H,52H DB 0A6H,32H,H,02H,52H DB H,74H,0B6H,H DB 52H,5CH,32H,22H DB 16H,12H,14H,32H,22H DB 16H,12H,14H,22H,32H DB 26H,12H,94H,22H,32H DB 2CH DB 32H,52H DB 36H,22H,14H,H DB 0ACH,92H,0A2H DB 96H,0A2H,96H,82H DB 3CH,H DB 36H,22H,14H,H DB 0ACH,92H,0A2H DB 16H,12H,14H,22H,32H DB 2CH,02H,82H DB 16H,32H,56H,12H DB 0A6H,32H,56H,52H DB 66H,72H,0B6H,62H DB 62H,52H,58H,32H,22H DB 16H,12H,14H,32H,22H DB 16H,12H,14H,22H,32H DB 26H,92H,0A4H,12H,22H DB 1CH DB 00
TABLE30: ;第三首《看我七十二变》 DB 0d4H,84H,94H,82H,92H DB 12H,22H,82H,92H,02H,92H,82H,0d2H DB 82H,92H,14H,84H,02H,0d1H,0d1H DB 0c2H,0d2H,84H,0d2H,0d2H,82H,82H DB 84H,82H,82H,94H,82H,0d2H DB 82H,82H,82H,92H,02H,82H,82H,0d2H
DB 0c4H,84H,0d4H,92H,0d2H DB 82H,0d2H,82H,92H,98H DB 04H,94H,88H DB 04H,94H,88H DB 04H,94H,88H DB 04H,94H,88H,04H DB 32H,32H,22H,12H,02H,92H,12H,92H DB 32H,32H,22H,12H,02H,92H,12H,92H DB 32H,32H,22H,12H,02H,92H,12H,22H DB H,44H,34H,12H,22H DB 34H,22H,12H,02H,92H,12H,92H DB 32H,32H,22H,12H,02H,92H,12H,92H DB 32H,32H,22H,12H,02H,92H,12H,22H DB H,44H,32H,22H,12H,92H DB 00
TABLE40: ;第四首《同一首歌》
DB 88h,14h,24h,36H,42H,34H,14H,28H,14H,94H DB 1fH,88H,14H,24H,34H,32H,42H,H,14H DB 46H,32H,H,22H,32H,32H,22H,2CH,38H,H,74H DB 76H,62H,68H,H,52H,62H,74H,62H,52H,3fH DB 46H,42H,H,H,H,42H,32H,28H,0a4H,0a2H DB 92H,84H,94H,1fH,0b8H,68H,46H,52H,68H DB 74H,72H,72H,74H,62H,52H,3fH,0b8H,68H DB 46H,52H,68H,H,62H,62H,H,42H,32H,2fH DB 58H,14H,24H,36H,42H,34H,12H,12H,26H,22H,24H,22H,12H DB 94H,9cH,0a8H,0a6H,92H,84H,H,H,22H,22H,46H,42H,44H,32H,22H,5fH DB 00
TABLE50: ;第五首《大海》
DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,H,52H,H,52H,32H DB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,94H,1cH DB 82H,92H,12H,14H,12H,14H,92H,82H,12H,14H,22H,14H,92H,12H,22H,24H DB 22H,24H,12H,92H,22H,24H,32H,24H,32H,52H,62H,H,52H,H,52H,32H DB 22H,32H,22H,12H,94H,82H,92H,12H,14H,12H,14H,22H,12H,1cH,32H,52H DB 62H,H,62H,H,0b2H,62H,52H,H,62H,H,32H,22H DB
12H,14H,12H,14H,24H,3cH,32H,22H,12H,14H,12H,14H,0b2H,62H,52H,H,62H,H,32H,52H DB 66H,0b2H,0b4H,62H,52H,5cH,32H,52H,62H,H,62H,H,0b2H,62H,52H,H DB 62H,H,32H,22H,12H,14H,12H,14H,H,3cH,32H,22H,12H,14H,12H,14H,22H,32H DB 52H,H,32H,H,32H,52H,6fH,04H,02H,92H,32H,24H,12H,1fH DB 00
TABLE60: ;第六首《两只蝴蝶》 DB
32H,22H,38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,12H,92H,92H,88H,04H,32H,22H DB
38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,21H,92H,12H,28H,04H,32H,22H DB 38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,12H,92H,91H,11H,88H DB
04H,32H,52H,58H,02H,52H,62H,52H,38H,04H,22H,22H,24H,22H,32H,22H,12H,92H,92H DB 12H,12H,1cH,08H,02H,52H,52H,62H,0b2H,72H,72H,62H,32H,22H,22H,22H DB
38H,02H,32H,32H,52H,H,H,02H,92H,32H,22H,28H,04H,32H,52H,52H,32H,H,02H,0b4H,72H DB 62H,72H,34H,02H,62H,62H,72H,62H,52H,32H,22H,02H,32H,22H,32H DB 58H,02H,52H,52H,62H,0b2H,72H,72H,62H,32H,22H,22H,22H DB
38H,02H,32H,32H,52H,H,H,02H,92H,32H,22H,28H,04H,32H,52H,52H,32H,H,02H,0B4H,72H DB 62H,72H,34H,02H,62H,62H,72H,62H,52H,32H,22H,02H,84H,92H,1cH DB 00
TABLE70: ;第七首<<世上只有妈妈好>> DB
66H,52H,34H,H,0B4H,62H,52H,68H,34H,52H,62H,H,34H,12H,92H,52H,32H,28H DB 26H,32H,H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FH DB
66H,52H,34H,H,0B4H,62H,52H,68H,34H,52H,62H,H,34H,12H,92H,52H,32H,28H DB 26H,32H,H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FH DB
66H,52H,34H,H,0B4H,62H,52H,68H,34H,52H,62H,H,34H,12H,92H,52H,32H,28H DB 26H,32H,H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FH DB 00
TABLE80: ;第八首歌《彩云追月》 DB
86H,92H,12H,22H,32H,52H,68H,63H,52H,34H,62H,0B2H,0B2H,62H,51H,61H,51H,31H,H DB
62H,0B2H,0B2H,62H,52H,32H,52H,52H,51H,61H,51H,31H,34H,52H,62H,74H,32H,52H,52H,32H,21H,31H,21H,11H,24H DB
32H,52H,52H,32H,22H,12H,24H,32H,52H,52H,32H,62H,52H,61H,51H,31H,21H,21H,31H,21H,11H,1CH DB
21H,31H,22H,23H,31H,21H,18H,02H,0B2H,0BCH,0B4H,72H,61H,51H,72H,61H,71H,61H,51H,61H,71H,61H,6FH DB
86H,94H,12H,22H,32H,52H,H,62H,51H,31H,52H,21H,31H,21H,33H,62H,0B2H,0B2H,62H,51H,61H,51H,31H,H
DB
62H,0B2H,72H,61H,51H,51H,61H,51H,31H,H,61H,0B2H,72H,61H,51H,51H,61H,51H,31H,32H,21H,11H,32H,51H,61H,H DB
02H,32H,24H,32H,52H,52H,32H,22H,31H,21H,11H,24H,32H,52H,62H,0B2H,72H,61H,51H,61H,51H,31H,32H,52H,52H,32H,62H DB
51H,31H,31H,21H,11H,91H,23H,31H,21H,1CH,12H,24H,32H,62H,51H,31H,34H,0B4H,72H,61H,51H,63H,71H,H DB
0B2H,H,72H,62H,71H,61H,H,61H,51H,31H,21H,34H,73H,61H,H,22H,32H,52H,22H,36H,52H,62H,61H,31H,32H,21H,11H,21H,11H,91H,81H DB
94H,52H,62H,52H,42H,32H,22H,32H,52H,0B4H,74H,H,52H,61H,51H,41H,5CH,02H,52H,0B4H,74H,63H,51H,61H,51H,31H,21H DB 00
TABLE90: ;第九首<<十年>> DB
02H,11H,21H,32H,32H,22H,32H,21H,11H,0A1H,91H,92H,0D1H,91H,83H,91H,0A2H,91H,81H,94H,11H,0A1H,91H,0A1H,98H,03H,81H,0A1H,0A1H,91H,0A1H DB
98H,04H,02H,11H,21H,32H,32H,22H,32H,21H,31H,51H,11H,13H,31H,22H,22H,21H,11H,0A1H,11H,13H,11H,11H,0A1H,91H,0A1H DB
11H,93H,94H,03H,81H,11H,0A1H,91H,81H,92H,0A1H,91H,94H,08H,03H,81H,32H,21H,11H,22H,31H,21H,21H,83H DB
01H,11H,91H,0A1H,11H,61H,51H,11H,34H,01H,31H,21H,31H,48H,23H,31H,32H,42H,38H,03H,11H,21H,52H,31H DB
33H,31H,31H,41H,51H,61H,23H,21H,21H,41H,31H,21H,13H,0D1H,0D1H,21H,11H,0A1H,11H,91H,92H,91H,11H,0A1H,91H DB
0A1H,31H,31H,22H,0A1H,11H,14H,01H,11H,21H,31H,63H,31H,42H,51H,31H,31H,22H,11H,21H,52H,31H,33H,31H,31H,41H DB
51H,61H,23H,21H,21H,41H,31H,21H,13H,0D1H,0D1H,21H,11H,0A1H,11H,91H,92H,91H,11H,0A1H,91H DB
0A2H,41H,31H,22H,31H,21H,12H,12H,11H,11H,21H,31H,63H,51H,32H,11H,21H,26H,11H,0A1H,18H DB 00
TABLE100: ;第十首<<你的爱给了谁>>
DB
02H,91H,0A1H,16H,21H,11H,0A6H,81H,0A1H,9CH,02H,91H,0A1H,16H,21H,31H,24H,21H,0A1H,11H,0A1H DB
9CH,02H,11H,21H,36H,32H,24H,21H,0A1H,11H,0A1H,9CH,02H,91H,0A1H,14H,11H,11H,21H,11H,0A4H,04H,04H,02H,0A1H,11H,0A1H,93H,92H DB
02H,61H,71H,0B4H,0B2H,0B1H,0B1H,76H,0B1H,71H,6CH,02H,61H,71H,0B6H,0B1H,0B1H,76H,0B1H,71H,6CH,02H,51H,61H,56H,61H,51H,H,51H,0B1H,71H,0B1H DB 72H,62H,68H,02H,61H,51H,66H,62H,58H,0CH,02H,51H,41H,5FH DB
02H,91H,0A1H,16H,21H,11H,0A6H,81H,0A1H,9CH,02H,91H,0A1H,16H,21H,31H,24H,21H,0A1H,11H,0A1H DB
9CH,02H,11H,21H,36H,32H,24H,21H,0A1H,11H,0A1H,9CH,02H,91H,0A1H,14H,11H,11H,21H,11H,0A4H,04H,04H,02H,0A1H,11H,0A1H,93H,92H DB
02H,61H,71H,0B4H,0B2H,0B1H,0B1H,76H,0B1H,71H,6CH,02H,61H,71H,0B6H,0B1H,0B1H,76H,0B1H,71H,6CH,02H,51H,61H,56H,61H,51H,H,51H,0B1H,71H,0B1H DB 66H,62H,H,0B2H,71H,61H,6CH DB 00
END
七、总结:
(一)、实验遇到的问题和解决方法:
1)领实验材料的问题。我们几个小组长领材料的时候,我发现我们音乐盒组的很多器材的实际型号和电路图所要求的不一样,比如:电路图要求的是ATS52,而实际的单片机型号是ATC 52;液晶显示器实际领到的是1602A的,而电路要求是016L的;三极管电路图显示的是2N5088的,而实际有的三极管是S9015;电路图显示电解电容为20uF,而实际有的是10uF的,最主要的是电路要求的2.7K的上拉电阻没有,我作为小组长得首先查阅和验证这些实际领到型号的器材能否替代电路图上所示器材的型号,而且要找到可以替代2.7K的拉电阻。我首先经过上网查询发现有些器材的型号可以替换,然后经过仿真电路和实际在面包板上搭的电路的验证,这些和电路图上不一样的型号的器材可以达到预期的实验效果,并且决定让小组同学用1k的排阻代替2.7K的上拉电阻,就这样所有的器材问题得到了解决,都可以动手实验了。
2)自学1602。材料问题解决后,我发现我还不知道LCD1602液晶显示器的工作原理,于是我立即找了一些教学视屏,自学1602。通过自学后,我对液晶显示器的工作原理有了一定的了解,并且能自编一些简单的让液晶显示的程序。在这个学习过程中,我有了初步改进实验液晶显示的方法。
3)发现电路图于程序不对应。学习了1602后,我就开始立即着手在面包板上搭电路。电路搭完后,因为没有实验验证电路是否搭连正确。于是我对着电路图自己写了一个简单的让液
晶显示器亮的程序,可是没有效果。我想可能是自己的程序问题。可是当我拿到老师给的程序并且烧进芯片后,还是没有看见预期的效果:喇叭不唱歌,液晶也不亮。经过几次认真的检查后,并且让几位同学帮忙检查,均还是不能发现电路的问题,我想可能是程序有问题了。然后我和寝室一个同组的同学讨论,一致觉得可能真是程序有问题。让然后经过该同学的仿真发现存在电路图和实验程序不对应的现象。但是我们改不了汇编程序,于是把电路图做了相应的修改:接矩阵按钮的P3口改为P1口,将接蜂鸣器电路的P1.1脚改为P3.7脚。 4)焊接电路的问题。电路图做了修改之后,面包板上的电路立即有了理想的效果。然后经过布局后,我立马开始了焊接电路。我焊接过程相对而言算比较顺利的,遇到的一点麻烦就是为了正面布局的好看,让我背面的电路焊接更加的麻烦了一点。经过周六一天的焊接后,我晚上就焊好了电路。可是当我接通电源后,居然什么现象也没有。然后我仔细检查了电路,发现少接了两处+5V的电源线,我补上这些线后,立马又了预期的效果,我的音乐盒作品已基本完成。
5)修改液晶显示。电路焊好后,我发现液晶显示存在两个问题:一是液晶上排的英文欢迎应该是“WELCOME HERE”,可是实际显示的是“WELCOM HERE”,少了一个字母“E”。我于是在汇编程序中找到了控制显示字符的代码,发现确实存在问题,于是我对该代码做了修改并且通过仿真发现修改正确可以实现理想效果。液晶显示的另外一个问题就是液晶显示的第2、3、6、8、9、A首歌的时间显示存在问题。经过分析,确定程序的问题而不是电路的问题,可是控制时间的汇编程序我不懂,不能修改正确。于是我突发奇想,将液晶上排的欢迎字符改为了“Music Box”,就是音乐盒的意思,然后在下排显示我的名字“he jin”。 6)加四个按钮。电路焊好后,我经常拿出来看,我有慢慢发现由于背面的焊接问题,板子在平坦的桌面上放的也不是很稳,于是我想到把多余的按钮加在板子的背面做四个脚,这样不仅可以让板子好好的放稳,而且在选歌曲按按钮的时候也不会损坏背面焊接的电路。 7)尝试修改程序。音乐盒做出来一段时间后,我想加一些自己的想法,企图有些创新。我知道要想创新就必须从程序入手,不然不会有什么实际性的创新,我想汇编程序我虽然不懂,不过可以尝试修改里面的曲目,如果可以成功的话,那么我的音乐盒就可以放上自己喜欢的歌曲。我立马开始在网上搜了一些歌曲的汇编代码,可是不幸的是,等我回到宿舍准备用仿真实验的时候,发现我的16G的U盘坏了,可能是因为6号机房电脑的问题,我里面搜的歌曲打不开。没办法,我只能再次上网搜索关于歌曲的汇编代码,可以仿真发现光改歌曲的代码并不行,经过几次修改尝试后都不能达到我期望的目的,就这样,我修改程序的想法只能作罢。
(二)感想:
1)虽然在这次做音乐盒过程中遇到的一些问题,有的得到了很好的解决,有的问题还是没能找到解决的方法。不过不管怎样,我感觉我还是从中学到好了很多,特别是在这个解决问题的过程中,我学会了如何去发现问题,解决问题,还有如何去创新,有自己的一些想法。 2)感谢郭老师带领我们一起做了这次非常有意义的课程设计,通过这次历练,不管是知识方面的还是思想方面的,我觉得我都有了很大的提升。有了这次做单片机课程设计的宝贵经历,我相信不管是以后的毕业设计还是将来的工作,都会从这次的课程设计中吸收经验和方法,这将是我人生的很大一笔财富。
3)另外,从这次课程设计中我也看到了自己的很多不足,很多地方我都需要学习需要进步。例如这次课程设计对我而言最大的阻碍就是看不懂汇编程序,所以有些自己的想法想通过程序实现的时候都因为看不懂程序而被迫罢手。所以,在以后的学习中,我要广泛学习,从多方面丰富自己的知识,提高自己的能力。知识很重要,但是动手实践比理论知识更重要,在以后的学习时间里,我要自己多动手,做出一些有意义的东西!
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务