单片机课程设计制作(音乐盒,汇编,代码零错误)课件_第1页
单片机课程设计制作(音乐盒,汇编,代码零错误)课件_第2页
单片机课程设计制作(音乐盒,汇编,代码零错误)课件_第3页
单片机课程设计制作(音乐盒,汇编,代码零错误)课件_第4页
单片机课程设计制作(音乐盒,汇编,代码零错误)课件_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浙江理工大学单片机系统设计及应用实验设计报告题 目: MP3 音乐盒设计 专 业: 机械电子工程 班 级: 08 机电一班 姓 名: 竺冬伟 黄栋明 学 号: B0837129 B08370111 指导教师: 袁嫣红 机械与自动控制学院2011 年 6 月 30 日基于 AT89C51 单片机的 MP3 音乐盒设计【摘 要】:本设计是一个基于 AT89C51 系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能 MP3 音乐盒。本设计采用了扬声器发声来实现歌曲的播放,能保持基本音调不变,流畅播放出歌曲。利用 I/O 口产生一定频率的方波,驱动蜂鸣器,发出不

2、同的音调,从而演奏乐曲。通过单片机 P1 口控制,实现功能键盘控制;通过不同的按键实现歌曲的选择,播放顺序的调换和暂停播放功能;扬声器由单片机的 P2.7 口控制,实现歌曲播放;P3.0 口实现发光二极管随不同频率的闪动。主要工作过程是通过按下功能键实现曲目选择,上一首,下一首及暂停播放,同时有液晶屏显示当前播放歌曲的序号和播放时间,扬声器播放出音乐。【关键词】:AT89C51 单片机;方波; 音调; 音乐盒 目 录引言 .11 绪论 .21.1 概述.21.2 目的意义 .21.3 设计的概要思路 .22 设计方案简述 .32.1 设计功能要求.32.2 总体设计原理.32.3 总体设计框图

3、.43 详细设计.43.1 AT89C51 简介 .43.2 时钟振荡电路 .53.3 扬声器部分.53.4 显示部分 .53.5 流程图 .63.6 硬件电路图及功能 .64 仿真及调试.74.1 仿真.74.2 调试.85、课程设计总结 .9参考文献 .10附录一 电路图 .10附录二 源程序 .10评语表 .29引言21 世纪,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着 CMOS

4、化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能 IC 卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这

5、些都离不开单片机。随着科学技术的进步和社会的发展,人类所接触的信息也在不断增加并且日益复杂。面对浩如烟海的信息,人们已经能够利用计算机等工具高效准确地对之进行处理,但要想将处理完的信息及时,清晰地传递给别人,还必须通过寻求更加卓越的显示技术来实现。单片机技术与液晶显示技术的结合,使信息传输交流向着智能可视化方向迅速发展。随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。小小的音乐盒可以给人们带来美好的回忆,提高人们的精神文化享受。传统音乐盒多是机械型的,体积笨重,发音单调,不能实现批量生产。本文设计的音乐盒是以单片机为核心元件的电子式音乐盒,体积小,重量轻,能演奏和旋音乐,功

6、能多,外观效果多彩,使用方便,并具有一定的商业价值。1 1 绪论绪论1.11.1 概述概述本设计是以 AT89C51 芯片的电路为基础,外部加上放音设备和按键设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。1.21.2 目的意义目的意义为了更好地熟悉和掌握单片机的基本功能和编程,我们以 AT89C51 为基础设计电子音乐盒。A

7、T89C51 单片机电子音乐盒集成多个硬件资源模块,每个模块各自可以成为独立的单元,也可以相互组合,因此,可以为不同阶层的单片机爱好者所用。同时,电子音乐盒的设计具有很重要的现实意义。我们根据学习和实践的需要,进行了电子音乐盒功能设计。我们在制作电子音乐盒的过程中会学习到很多的东西,能够最大限度的了解我们自制的这一个单片机电子音乐盒,这样以后调试程序的时候便得心应手,效率要提高很多。1.31.3 设计的概要思路设计的概要思路制定音乐盒控制系统需要完成功能,并根据此来制定设计方案;根据设计方案来进行硬件电路图的设计和软件模块的开发;通过在 XL600 上不断调试后再来反复修改程序,最终达到预期功

8、能。2 2 设计方案简述设计方案简述2.2.1 1 设计功能要求设计功能要求1.利用 I/O 口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(本设计中含有 10 首歌曲) 2采用 LCD 显示信息(歌曲序号,播放时间等) 3开机时有英文欢迎提示字符,播放时显示歌曲序号 4可通过功能键选择乐曲,暂停,播放,上一曲,下一曲。5 . 八路流水灯随着不同音阶的播放产生相应的闪烁2.22.2 总体设计总体设计原理原理通过单片机的定时器产生一定长度的方波,方波脉冲驱动扬声器发声。要产生音频脉冲,只需算出某一音频的周期(1/音频) ,然后取半周期的时间定时。利用定时器计时这个半周期时间,每当

9、计时到后就将输出脉冲的 I/O 反相,然后重复计时此半周期时间再对 I/O 口反相,就可在 I/O 脚上得到此频率的脉冲。如中音 D0,频率为 523HZ,其周期 T=1/523=1912 微秒,因此只要令计数器定时 1912/2=956,在每计数 956 次时将 I/O口反相,就可得到中音 D0(523HZ)。 当键盘有键按下时,判断键值,启动计数器 T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时启动定时器 T1,在 LCD 显示歌曲号。通过单片机 P1 口控制,实现功能键盘的功能;功能键盘采用按键开关,通过单片机 P2 口控制,实现歌曲播放顺序的调换和暂停播放功能;扬声器由单片机的

10、P2.7 口控制,实现歌曲播放。通过按下功能键实现 曲目选择, 上一首和下一首及暂停播放,同时有LCD 显示当前播放歌曲的序号,扬声器播放出音乐 ,八路流水灯随着不同音阶的播放产生相应的闪烁。2.32.3 总体设计框总体设计框图图单片机接+5V 电源供电,晶振电路产生单片机所需时钟信号,通过功能键产生外部中断,控制音乐盒的上一首和下一首曲目,再由 I/O 接口输出控制扬声器发声,LCD显示。另外,复位电路在于营造一个程序运行的初始状态,在程序出错时,重新启动单片机工作。复位电路 AT89C51扬声器LCD 显示功能键电源晶振部分流水灯闪烁编程设置好定时时间,通过编程器写入 AT89C51 单片

11、机系统。由 AT89C51 单片机的定时器每秒钟通过 P0.0-P0.7 口控制 LCD 显示,复位信号由按钮输入,每按下一次,系统恢复原设定状态。3 3、 详细设计详细设计3.13.1 AT89C51AT89C51 简介简介AT89C51 是一种带 4K 字节闪存可编程可擦除只读存储器( FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS 8 位微处理器,俗称单片机。 AT89C2051 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100 次。该器件采用 AT

12、MEL 高密度非易失存储器制造技术制造,与工业标准的MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中, ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。 AT89C51 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3.1 所示图 3.21 AT89C51 系列单片机3.23.2 时钟振荡电路时钟振荡电路AT89C51 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1 和 XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷

13、谐振器一起构成自然振荡器。外接石英晶体及电容 C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容 C1,C2 虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用 30PF10PF,而如果使用陶瓷振荡器建议选择 40PF10PF。用户也可以采用外部时钟。采用外部时钟的电路如图示。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间

14、和最大的低电平持续时间应符合产品技术条件的要求。振荡器电路图如下:图 3.2 单片机内部、外部振荡电路3.33.3 扬声器部分扬声器部分扬声器是一种把电信号转换成声音信号的电声器件。确切地说,扬声器的工作实际上是把一定范围内的音频电功率讯号通过换能方式转变为失真小并具有足够声压级的可听声音。我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的“高”电平或低电平,则在该口上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高” “低”电平的持续时间,就能改变输出频率,从而改变音调。3.43.4 显示部分显示部分本设计方案采用液晶显示屏 16

15、02 作为显示器。选用单片机的 P0 口作为液晶数据输入口,P2.1、P2.2 分别接液晶的数据和时钟引脚。用液晶作为显示器,极大地简化了硬件电路,同时增强了系统的显示能力。3.53.5 流程图流程图主程序开始初始化变量及 LCD 接口初始化计数器 T0,定时器 T1LCD 显示英文欢迎字符等待按键歌曲号及播放时间显示在 LCD 上依据按键码播放对应歌曲YN八路流水灯闪烁3.6 硬件电路图及功能硬件电路图及功能总体硬件电路实现功能如下,如图 3.5 所示1) 电路中用 P1 口控制按键。2) P0 口控制 LED,显示时间,曲目。3) P2.7 控制蜂鸣器,播放音乐。4) P3 口控制流水灯闪

16、烁。5) 电路为 12MHZ 晶振频率工作,起振电路中 C1、C2 均为 30PF。4 4、 仿真、调试仿真、调试4.14.1 仿真仿真(1)按照设计的硬件电路在 PROTUSE 上画好电路图。(2)电路检查无误后,双击 AT89C51 单片机,打开编辑元件对话框如下图所示,将调试好的程序 HEX 文件加载到单片机上(3)点击运行按钮后,按下 F 键,LCD 上得到开机画面“WELCOME HERE”的字样,如下左图所示 (4)按下 1-A 中的某一键,即播放该歌曲,LCD 显示当前歌曲序列号,如上右图为播放第二首歌曲的画面(5)按下 C 键即终止当前播放,进入下一首歌曲的播放 (6)按下 D

17、 键,蜂鸣器演奏上一首歌曲,LCD 也显示上一首歌曲序列号 (7)E 键为暂停/播放键 (8)随着音乐的播放流水灯闪烁4.24.2 调试调试(1)按照设计的硬件电路在 XL600 上连好电路。C 键动作D 键动作E 建动作(2)在 keil 软件中编译程序,并且实现与硬件电路的连接。( 3) 在 XL600 中通过不同功能的按键实现不同的功能实现曲目选择,上一首和下一首及暂停播放,同时有 LCD 显示当前播放歌曲的序号,扬声器播放出音乐,八路流水灯随着不同音阶的播放产生相应的闪烁。5 5、 课程设计总结课程设计总结本文描述了电子音乐盒的硬件和软件制作方案,总体符合预期要求,能够成功实现按1-A

18、 按键能演奏不同的乐曲的基本功能,并添加了通过按键控制上一首,下一首,暂停/播放的功能和八路流水灯按照乐曲频率闪烁功能。在播放乐曲的过程中,还增加了显示歌曲演奏时间的功能。另外,采用了液晶显示技术,简化了硬件电路,还能显示英文的开机画面等。总体来说本次课程设计基本完成。当然,此设计过程中碰到了很多问题。如:1、刚开始 LCD 显示的时间不正确,走了几秒之后直接跳到分位。经过查阅资料之后,了解到是由于设置的延时时间和 LCD 编码的不同造成的,略作修改之后得到了解决。2、在播放过程中,音乐的频率和走的时间略微过快,分析得这可能和单片机上不同的晶振有关。3、在添加了八路流水灯程序之后之后,播放的音

19、乐有时会出现颤音现象。分析得该程序可能影响到了音乐节拍和延时程序的运行。在将该段程序放置合适方位之后,该问题得到解决。音乐盒设计是一项趣味性很强的设计,能激发我们的浓厚兴趣。同时要求我们从程序编程,调试,软件仿真和绘制开始,到硬件的调试,再到修改程序,在这期间我们了解到了单片机开发的大致流程。通过这次课程设计,也让我们学习到了很多新的东西,这些都让我们受益匪浅。单片机的定时器功能,LCD 显示,功能键盘的设计,这些内容都颇为丰富。有以前学习过的旧知识,也有很多未曾注意到得新知识,这些都曾使我们的设计出错,通过自己的努力,老师指导和同学的帮助,终于克服了一个一个的困难,把硬件实物顺利做好,把软件

20、调试顺利完成。最后,衷心感谢这次对我们的课程设计提供无私帮助的所有老师和同学!参考文献参考文献1 阎石. 数字电子技术基础. 北京: 高等教育出版社, 19982 陈明荧. MCS-51 单片机课程设计实训教程. 北京: 清华大学出版社,2004.33 张俊谟. 单片机中级教程-原理与应用. 北京: 北京航空航天大学出版社,20064 黄菊生. 单片机原理与接口技术. 北京:国防工业出版社 2007.095 杨西明、朱骐主. 单片机编程与应用入门. 北京:机械工业出版社 2004.066 徐爱钧 单片机原理实用教程(基于 Proteus 虚拟仿真). 北京:电子工业出版社 2009.01附录

21、1 电路图音乐盒硬件电路图附录 2 源程序;-;定义液晶显示端口标号RS BIT P2.0 ;LCD 寄存器选择信号RW BIT P2.1 ;LCD 读/写选择信号E BIT P2.2 ;LCD 使能信号;*L50MS EQU 60H ;把 60H 单元格赋值给 L50MSL1MS EQU 61H ;把 61H 单元格赋值给 LIMSL250MS EQU 62H ;把 62H 单元格赋值给 L250MSHOU EQU 63H ;把 63H 单元格赋值给 HOUMIN EQU 64H ;把 64H 单元格赋值给 MINSEC EQU 65H ;把 65H 单元格赋值给 SEC;*org 0000

22、h 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;-键盘扫描ke

23、y: 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 lkL

24、3: 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;-

25、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-38H 初值为零;-initil: mov r3,#09h mov r0,#30hm1: mov r0,#00h inc r0 djnz r3,m1 RET;-;显示 ;-modd: MOV P0,#8EH CALL ENABLE mov A,37

26、H 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,#0

27、2H,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

28、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:

29、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 MAIN

30、0 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 ;显示冒

31、号 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

32、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:

33、 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 TIME ,0FEHTA

34、BLE4: 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,A MOV 38H,A ANL 38H,#0F0H MOV A,38H

35、 SWAP A MOV 38H,A MOV A,R2JZ 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,A MOV 21H,AMOV A,22HRL AINC AMOVC A,A+DPTRMOV TL0,AMOV 20H,ASETB TR0SETB TR1MOV A,38H MOV DPTR,#TABLEHDM MOVC A,A+DPTR MOV P3,AW1: LCALL DEL

36、AY30INC 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: CJNE A,#0CH,TTM14MOV A,52HINC AMOV 52H,AMOV A,53HINC AMOV

37、 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 P2.7 POP PSWPOP ACCRETIOUT1:RETI;*;定时器中断子程序 1;*T1INT: MOV TH1, #3cH MOV TL1, #0b0H DJNZ L50MS,OUT1

38、 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 CJNE A,#60,OUTMINSET: MOV SEC,#00H ;*每分钟刷新分显示一次 MOV A,MIN INC A MOV MIN,A MOV B,#10 DIV AB A

39、DD 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 CJNE A,#60,OUT HOUSET: MOV MIN,#00H ;*每小时刷新小时显示一次 MOV A,HOU MOV B,#10 DIV AB ADD A,#30H ;将 BCD

40、吗转化为 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 CJNE A,#24,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: M

41、OV 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;-TABLEHDM: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH,0F0H,0FH,0C3H,00H;第一首精忠报国;-TABLE10: DB 66H,52H,36H,22H,12H,12H,22H,

42、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,98

43、H,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,0B6

44、H,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

45、,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,0d

46、2HDB 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

47、 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 92

48、H,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,1

49、4H,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

50、,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,12

51、H,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,1

52、8H,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

53、,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

54、,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,1

55、2H,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

56、,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,51H,31H,54HDB 62H,0B2H,72H,61H,51H

57、,51H,61H,51H,31H,54H,61H,0B2H,72H,61H,51H,51H,61H,51H,31H,32H,21H,11H,32H,51H,61H,54HDB 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,62HDB 51H,31H,31H,21H,11H,91H,23H,31H,21H,1CH,12H,24H,32H,62H,51H,31H,34H,0B4H,72H,61H,51H,63H,71H,64HDB 0B2H,54H,72H,62H,71H,61H,54H,61H,51H,31H,21H,34H,73H,61H,54H,22H,32H,52H,22H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论