资源描述
MP3音乐盒设计目录引言31绪论41.1概述41.2 目的意义41.3 设计的概要思路42 设计方案简述42.1 设计功能要求42.2 总体设计原理42.3 总体设计框图53、 详细设计63.1 AT89C51简介63.2 时钟振荡电路63.3扬声器部分73.4 显示部分74、 仿真、调试74.1仿真74.2调试85、 课程设计总结86参考文献9 引言21世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并且日益复杂。面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功能多,外观效果多彩,使用方便,并具有一定的商业价值。1绪论1.1概述本设计是以AT89C51芯片的电路为基础,外部加上放音设备和按键设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。1.2 目的意义为了更好地熟悉和掌握单片机的基本功能和编程,我们以AT89C51为基础设计电子音乐盒。AT89C51单片机电子音乐盒集成多个硬件资源模块,每个模块各自可以成为独立的单元,也可以相互组合,因此,可以为不同阶层的单片机爱好者所用。同时,电子音乐盒的设计具有很重要的现实意义。我们根据学习和实践的需要,进行了电子音乐盒功能设计。我们在制作电子音乐盒的过程中会学习到很多的东西,能够最大限度的了解我们自制的这一个单片机电子音乐盒,这样以后调试程序的时候便得心应手,效率要提高很多。1.3 设计的概要思路制定音乐盒控制系统需要完成功能,并根据此来制定设计方案;根据设计方案来进行硬件电路图的设计和软件模块的开发。 2 设计方案简述2.1 设计功能要求1 利用扬声器,发出不同的音调,从而演奏乐曲(本设计中含有10首歌曲) 2采用LCD显示信息(歌曲序号,播放时间等) 3开机时有英文欢迎提示字符,播放时显示歌曲序号 4可通过4*4键盘选择乐曲,暂停,播放,上一曲,下一曲,开机画面。2.2 总体设计原理 原理说明:当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器T1,显示乐曲播放的时间,并驱动LCD,显示歌曲号及播放时间。也可在LED显示歌曲号。硬件电路中用P1.0P1.7控制4*4键盘,其中P1.0P1.3扫描行,P1.4P1.7扫描列。用P2.0P2.2作为LCD的RS,R/W,E的控制信号。用P0.0P0.7作为LCD的D0D7的控制信号。用P3.7口控制扬声器电路为12MHZ晶振频率工作,起振电路中C1,C2均为30pf。流程图: 主程序开始初始化变量及LCD接口初始化计数器T0,定时器T1LCD显示英文欢迎字符等待按键歌曲号及播放时间显示在LCD上依据按键码播放对应歌曲YN2.3 总体设计框图单片机接+5V电源供电,晶振电路产生单片机所需时钟信号,通过4*4键盘产生外部中断,控制音乐盒的上一首和下一首曲目,再由P3.7口输出控制扬声器发声,LCD显示。另外,复位电路在于营造一个程序运行的初始状态,在程序出错时,重新启动单片机工作。编程设置好定时时间,通过编程器写入AT89C51单片机系统。由AT89C51单片机的定时器每秒钟通过P0.0-P0.7口控制LCD显示,复位信号由按钮输入,每按下一次,系统恢复原设定状态。复位电路 AT89C51扬声器LCD显示4*4键盘电源晶振部分3、 详细设计3.1 AT89C51简介AT89C51是一种带4K字节闪存可编程可擦除只读存储器的低电压,高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中, AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3.1所示3.2 时钟振荡电路AT89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF10PF,而如果使用陶瓷振荡器建议选择40PF10PF。用户也可以采用外部时钟。采用外部时钟的电路如图示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。振荡器电路图如下:3.3扬声器部分扬声器是一种把电信号转换成声音信号的电声器件。确切地说,扬声器的工作实际上是把一定范围内的音频电功率讯号通过换能方式转变为失真小并具有足够声压级的可听声音。我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则在该口上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。3.4 显示部分本设计方案采用液晶显示屏1602作为显示器。选用单片机的P0口作为液晶数据输入口,P2.1、P2.2分别接液晶的数据和时钟引脚。用液晶作为显示器,极大地简化了硬件电路,同时增强了系统的显示能力。4、 仿真、调试4.1仿真(1)按照设计的硬件电路在PROTUSE上画好电路图。(2)电路检查无误后,双击AT89C51单片机,打开编辑元件对话框如下图所示,将调试好的程序HEX文件加载到单片机。(3)点击运行按钮后,按下F键,LCD上得到开机画面“WELCOME HERE”的字样,如下左图所示 (4)按下1-A中的某一键,即播放该歌曲,LCD显示当前歌曲序列号,如上右图为播放第二首歌曲的画面(5)按C键即终止当前播放,进入下一首歌曲的播放C键动作 (6)按下D键,蜂鸣器演奏上一首歌曲,LCD也显示上一首歌曲序列号D键动作 (7)E键为暂停/播放键E建动作 4.2调试在XL600中通过不同功能的按键实现不同的功能实现曲目选择,上一首和下一首及暂停播放,同时有LCD显示当前播放歌曲的序号,扬声器播放出音乐。 5、 课程设计总结通过这次课程设计,也让我们学习到了很多新的东西,这些都让我们受益匪浅。单片机的定时器功能,LCD显示,4*4键盘的设计,这些内容都颇为丰富。有以前学习过的旧知识,也有很多未曾注意到得新知识,这些都曾使我们的设计出错,通过自己的努力,老师指导和同学的帮助,终于克服了一个一个的困难,把硬件实物顺利做好,把软件调试顺利完成。但通过此次课程设计,却改变了很多,首先对于硬件电路的工作原理有了进一步的学习,同样就有了进一步的认识;其次软件方面,在程序的设计,程序的调试方面都学到了很多东西,很有成就感。总体来说本次课程设计总体符合预期要求,能够成功实现按1-A按键能演奏不同的乐曲的基本功能,并添加了通过按键控制上一首,下一首,暂停/播放的功能。在播放乐曲的过程中,还增加了显示歌曲演奏时间的功能。另外,采用了液晶显示技术,简化了硬件电路,还能显示英文的开机画面等当然,此设计过程中碰到了很多问题。如:(1)有时会出现程序一点错误也没有,但就是不能正常运行的现象,最后我们发行是因为程序中有的指令书写得不规范导致的,例如有的RET返回指令一定要按正确格式书写或在两行指令间最好不要留空行。错程序无法正常运行的现象。当用JNZ指令时,跳转范围比较少,这时要用一个标号中转。(3)编程时要注意,在程序开始时,要写入各定时器中断的入口地址。编程过程中要注意加注释或分割线,否则,在程序过长时容易变得很乱,不便于查找或更改。(4)刚开始LCD显示的时间不正确,走了几秒之后直接跳到分位。经过查阅资料之后,了解到是由于设置的延时时间和LCD编码的不同造成的,略作修改之后得到了解决。(5)在播放过程中,音乐的频率和走的时间略微过快,分析得这可能和单片机上不同的晶振有关。(6)程序的结构要设计的合理,避免上下乱调用的现象,这样会使程序更加清晰化。(7)编程前要加流程图,这样会使思路清晰,例如数字音乐盒的设计思路完全可以按着MP3的工作方式列写流程图。LCD计时正常显示的解决办法a. 两个定时器同时工作,存在中断时序问题,刚开始时我们把定时器1设定在方式3,计250us,由于定时中断过于频繁,使CPU负载过大,导致音乐不能正常播放,时间不能正常显示。解决办法:将定时器1设定在工作方式1,16位计数,计50ms,效果有很大改观。但还有问题。b. 当音乐为全4拍起始时,此时音乐节奏与定时器T1中断频率错开,LCD显示和音乐播放都会好一些。c. 另外,在歌曲中,当遇到一个音符发音为4拍,在编曲中为*CH,托因时间较长,当定时器T1此时来中断时,就会对歌曲播放产生影响,若改为发音一拍,中断对歌曲播放影响减弱,但音乐效果变差。d. 改进方案:若采用可以定时时间更长的单片机,可以避免所有问题。音乐盒设计是一项趣味性很强的设计,能激发我们的浓厚兴趣。同时要求我们从程序编程,调试,软件仿真和绘制开始,到硬件的调试,再到修改程序,在这期间我们了解到了单片机开发的大致流程。另外在一个好的氛围里才能踏下心来做东西,在这几天课设的时间里,实验室的氛围对我们的影响很大,大家一起努力,这也是我们能完成课设的动力。此外在编程中出现问题时,一定要戒骄戒躁,脚踏实地,认真看书,仔细分析,仔细调试,就一定会发现错误,克服困难,我们也是这么做的,这在课程设计中十分重要。当然在这次宝贵的毕业设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。但是,光是完成了作品还是不可以自我满足的,在从一开始的时候就怀着将作品制作得更加人性化,更加令人满意,更加地使功能完美又方便地被应用领域这个最终目的下,随着对单片机这门学科的认识加深,到达了拓展的程度,我想这个目的将在不远的时期内被实现。最后,衷心感谢这次对我们的课程设计提供无私帮助的所有老师和同学!6参考文献1 阎石. 数字电子技术基础. 北京: 高等教育出版社, 19982张毅刚. 单片机原理及应用. 北京: 清华大学出版社,2004.33张俊谟. 单片机中级教程-原理与应用. 北京: 北京航空航天大学出版社,20064 黄菊生. 单片机原理与接口技术. 北京:国防工业出版社 2007.095 杨西明、朱骐主. 单片机编程与应用入门. 北京:机械工业出版社 2004.066 徐爱钧 单片机原理实用教程(基于Proteus虚拟仿真). 北京:电子工业出版社 2009.01安徽师范大学皖江学院课程设计成绩评定单题目:MP3音乐盒设计学生姓名吴慧慧 郭宝峰 郑奎昂指导教师张辉指导教师评语:指导教师评定设计成绩等级指导教师(签章): 200 年 月 日代码部分RS BIT P2.0;定义液晶显示端口标号RW BIT P2.1E BIT P2.2L50MS EQU 60HL1MS EQU 61HL250MS EQU 62HSEC EQU 65HMIN EQU 64HHOU EQU 63Horg 0000hljmp mainORG 000BHLJMP TT0ORG 001BHLJMP T1INTorg 1000hmain:MOV SP,#70H MOV P0,#01H ;清屏 LCALL ENABLE MOV P0,#38H ;8位,2行显示 lCALL ENABLE MOV P0,#0FH ;屏显on,光标on,闪烁on lCALL ENABLE MOV P0,#06H ;计数地址加1,显示幕on lCALL ENABLElcall initil key1: lcall key lcall modd ljmp key1key: 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,#0chlk: 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 RETnext1: inc R4 ;-列扫描 mov a,R2 JNB acc.3,n2 ljmp n1n2: ljmp keyn1: rl a mov R2,a ljmp k3ks: mov a,#0f0h ;判断P1口 mov P1,a nop nop mov a,P1 cpl a anl a,#0f0h RETDELAY1: SETB RS0dl: mov R5,#0ahdl2: mov R6,#63dl3: nop nop djnz R6,dl3 djnz R5,dl2 CLR RS0 RETinitil: mov r3,#08h mov r0,#30hm1: mov r0,#00h inc r0 djnz r3,m1 RETModd: MOV P0,#8EH CALL ENABLE mov A,37H mov DPTR,#TABLE3 MOVC A,A+DPTR CALL WRITE2 RETkaiji: mov a,37h cjne a,#0fh,DFF MOV P0,#80H ;设光标地址 CALL ENABLE MOV DPTR,#TABLE1;写数据 CALL WRITE1 DFF: RETSOP: 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 ;显示小时十位 LCALL ENABLE LCALL WRITE2MOV A,B ADD A,#30H MOV P0,#0C9H ;显示小时个位 LCALL ENABLE LCALL WRITE2MOV A,#3AH MOV P0,#0DH ;显示冒号 LCALL ENABLE LCALL WRITE2MOV A,MIN MOV B,#10 DIV AB ADD A,#30HMOV P0,#0CBH ;显示分十位 LCALL ENABLE LCALL WRITE2MOV A,B ADD A,#30H MOV P0,#0CCH ;显示分个位 LCALL ENABLE LCALL WRITE2MOV A,#3AH MOV P0,#0CDH ;显示冒号 LCALL ENABLE LCALL WRITE MOV A,SEC MOV B,#10 DIV AB ADD A,#30H MOV P0,#0CEH ;显示秒十位 LCALL ENABLE LCALL WRITE2MOV A,B ADD A,#30H MOV P0,#0CFH ;显示秒个位 LCALL ENABLE LCALL WRITE2MOV P0,#0C0H ;设光标地址 LCALL ENABLE MOV DPTR,#TABLE2;写数据 LCALL WRITE1 RETENABLE: CLR RS CLR RW CLR E LCALL DELAY SETB E RETWRITE1: 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 RETDELAY: MOV R4,#05D1: MOV R5,#0FFH DJNZ R5,$ DJNZ R4,D1RET 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 WELCOME ,0FEHTABLE4: DB CAU,0FEH TABLE3: DB 30H,31H,32H,33h DB 34H,35H,36H,37H DB 38h,39H,41H,42H DB 43H,44H,45H,46HMAIN0:MOV TMOD,#11H MOV IE,#8aH MOV TH1, #3cH MOV TL1, #0b0H lcall ksjnz TTM12 MOV 40H,#00HNEXT20: MOV A,40HMOV DPH,52HMOV DPL,53HMOVCA,A+DPTRMOV R2,AJZ STOPANL A,#0FHMOV R1,AMOV A,R2SWAP AANL A,#0FHJNZ SINGCLR TR0JMPSING: 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 NEXT20STOP: CLR TR0 CLR TR1 LJMP MAIN0 TTM12: LCALL K2 MOV A,37HCJNE A,#0EH,TTM13CLR TR1 LCALL DELAY1TTM120:LCALL KS LCALL 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,ATTM2:RETTT0: PUSH ACCPUSH PSWMOV TL0,20HMOV TH0,21HCPL P2.7POP PSWPOP ACCRETIT1INT: 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,AXRL A,#60X4: JNZ OUTMINSET: MOV SEC,#00H MOV A,MININC AMOV MIN,A MOV B,#10DIV ABADD A,#30HMOV P0,#0CBH ;显示分十位CALL ENABLECALL WRITE2MOV A,BADD 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 WRITE2MOV A,B ADD A,#30H MOV P0,#0C9H ;显示小时个位 CALL ENABLE CALL WRITE2 MOV A,HOU INC A MOV HOU,A XRL A,#10 JNZ OUTSJMP OVERFLOWOUT: RETIOVERFLOW: MOV L50MS,#20 MOV L1MS,#00H MOV L250MS,#00H MOV SEC,#00H MOV MIN,#00H MOV HOU,#00H RETIDELAY30: MOV R7,#2W2: MOV R4,#125W3: MOV R3,#248DJNZ R3,$DJNZ R4,W3DJNZ R7,W2DJNZ R1,DELAY30RETTABLE00:DW 64580,64684,64777,64820DW 64898,64968,65030,64260DW 64400,64524,65058,63835,64021TABLE10: 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 00TABLE20:DB 02H,82HDB 16H,32H,54H,02H,52HDB 0A6H,32H,54H,02H,52HDB 64H,74H,0B6H,64HDB 52H,CH,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 00TABLE30: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 00TABLE40: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 00TABLE50: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,22HDB12H,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,54HDB62H,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 00TABLE60:DB32H,22H,38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,12H,92H,92H,88H,04H,32H,22HDB38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,21H,92H,12H,28H,04H,32H,22HDB38H,02H,22H,32H,22H,18H,04H,92H,12H,24H,22H,32H,22H,12H,92H,91H,11H,88HDB04H,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,22HDB38H,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,22HDB38H,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 00TABLE70:DB66H,52H,34H,54H,0B4H,62H,52H,68H,34H,52H,62H,54H,34H,12H,92H,52H,32H,28DB 26H,32H,54H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FHDB66H,52H,34H,54H,0B4H,62H,52H,68H,34H,52H,62H,54H,34H,12H,92H,52H,32H,28HDB26H,32H,54H,52H,62H,34H,24H,18H,56H,32H,22H,12H,92H,12H,8FHDB66H,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 00TABLE80:DB86H,92H,12H,22H,32H,52H,68H,63H,52H,34H,62H,0B2H,0B2H,62H,51H,61H,51H,31H,54HDB62H,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,1CHDB21H,31H,22H,23H,31H,21H,18H,02H,0B2H,0BCH,0B4H,72H,61H,51H,72H,61H,71H,61H,51H,61H,71H,61H,6FHDB86H,94H,12H,22H,32H,52H,64H,62H,51H,31H,52H,21H,31H,21H,33H,62H,0B2H,0B2H,62H,51H,61H,51H,31H,54HDB62H,0B2H,72H,61H,51H,51H,61H,51H,31H,54H,61H,0B2H,72H,61H,51H,51H,61H,51H,31H,32H,21H,11H,32H,51H,61H,54HDB02H,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,62HDB51H,31H,31H,21H,11H,91H,23H,31H,21H,1CH,12H,24H,32H,62H,51H,31H,34H,0B4H,72H,61H,51H,63H,71H,64HDB0B2H,54H,72H,62H,71H,61H,54H,61H,51H,31H,21H,34H,73H,61
展开阅读全文