版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机数字音乐盒设计摘 要:本设计是采用单片机为核心设计的数字音乐播放器。它可以实现音乐的播放,可以通过功能键来选择乐曲,播放或暂停,上一曲或下一曲,并可以通过 LCD 屏幕显示正在播放的歌曲的序号,以及播放时间。开机时有英文欢迎提示字符。本音乐播放器可以播放十首歌曲。主控芯片采用 AT89C51,采用汇编语言进行编程,编程后利用 KEIl C51 进行编译,用Proteus 软件来仿真。关键词:数字音乐盒;单片机;智能化 Digital Music Box Design CHENYING Instructor:HUKEYONG Abstract:This design is using mi
2、crocontroller as the core design of the digital music player . It can play music. It can function keys to select a song, play or pause on one or the next one. and the serial number of the song that is playing, as well as play time can be displayed through the LCD screen. English boot welcome prompt
3、characters. The music player can play ten songs.The master chip is AT89C51, assembly language is programming, programming by KEIl C51 compile,then using Proteus software to simulate. Key words:Digital Music Box, SCM, Intelligent目录目录1 引言.11.1 单片机总体功能简介 .12 系统设计.12.1 总体设计方案 .12.2 系统硬件设计 .22.3 主要元器件介绍
4、.42.3.1 AT89C51 单片机.42.3.2 LM016L 液晶显示器.52.4 PROTEUS软件介绍 .63 软件设计及仿真.73.1 程序流程 .73.2 系统初始化程序设计 .73.3 音调的确定 .83.4 项目仿真 .9总结.10参考文献:.10附录一.11附录二.1111 引言引言目前,各种传感器、变送器、控制仪表已经普遍采用单片机应用系统。它测量、处理、控制功能于一单片机是单片微型机的简称,故又称为微控制器 MCU。通常由单块集成电路芯片组成,内部含有计算机的基本功能部件:中央处理器 CPU,存储器和 I/O 接口电路等。因此,单片机只要和适当的软件及外部设备相结合,便
5、可成为一个单片机控制系统。1.11.1 单片机总体功能简介单片机总体功能简介单片机是在工业测控需要背景下而产生的,在一个应用系统中。按照测控系统的特点和要求,单片机的应用可分为单机应用和多机应用两大类。我们这次要完成的单片机课程设计就是它的单机应用,下面介绍一下单片机应用领域内的主要内容。(1) 智能产品单片机与传统机械产品相结合,使传统机械产品结构简化,控制智能化,购成新一代机电一体化产品。目前,利用单片机构成的智能产品已广泛应用于家用电器、办公设备、数控机床、纺织机械、 工业设备等行业。(2) 智能仪表 目前,各种传感器、变送器、控制仪表已经普遍采用单片机应用系统。它测量、处理、控制功能于
6、 一体,具有各种智能化功能,如存储、数据处理、查找、判断、联网和语音等功能。单片机构成的智能仪表,能使仪表具有数字化、智能化、多功能化、综合化等优点。(3) 测控技术用于单片机结构的各种工业控制系统中的数据采集系统具有工作稳定可靠、抗干扰能力强的优点。(4) 智能接口在计算机系统,特别是较大型的工业测控系统中,除通用外部设备外,还由许多外部通信、采集、多路分配管理、驱动控制等接口。这些外部设备与接口如果完全由主机进行管理,势必会造成主机负担过重,运行速度降低,接 口的管理水平也不可能提高。如果用单片机进行接口的控制与管理,单片机与主机可并行加工处理,可以大量降 低接口的通信密度,极大的提高了接
7、口控制广利水平。在一些通用计算机外部设备上,以实现了单片机的键盘管理、打印机控制、硬盘驱动控制等。2 2 系统设计系统设计2.12.1 总体设计方案总体设计方案(1)利用 AT89C51 单片机的 I/O 口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,2从而演奏乐曲。(2)LCD 液晶显示歌曲的序号、播放时间,开机时显示英文欢迎字符。(3)用键盘控制 10 首歌曲的播放,并设置开机键、暂停键、上一曲、下一曲控制键。2.22.2 系统硬件设计系统硬件设计硬件功能模块划分:单片机最小系统模块、按键模块、蜂鸣器电路模块、LCD 液晶显示屏模块。系统结构框图如图 2.1 所示LCD 液晶显示AT8
8、9C51单片机复位电路晶振电路电源电路蜂鸣器电路4X4 按键矩阵电路图 2.1 数字音乐盒系统结构框图(1)单片机最小系统模块最小系统模块包括单片机、复位电路、晶振电路以及电源电路。如图 2.2 所示图 2.2 单片机最小系统(2)按键模块选用 4X4 矩阵键盘,如图 2.3 所示,14 端口扫描行,58 端口扫描列3图 2.3 按键模块4x4 键盘构成与键盘对应功能如图 2.4 所示曲一曲二曲三曲四曲五曲六曲七曲八曲九曲十下曲上曲暂停开机图 2.4 键盘对应功能图(3)蜂鸣器电路模块蜂鸣器电路模块由单片机接口外接两个 1K 电阻、一个 100 欧电阻和一个 NPN 型三极管来驱动扬声器。其主
9、要任务是输出大信号和大功率,对音频信号有效不失真的进行放大以推动扬声器发出声音。如图 2.5 所示42.5 蜂鸣器电路(4)LCD 液晶显示屏模块LCD 液晶显示屏如图 2.6 所示,D0D7 为传送数据信息引脚,E 为使能信号引脚,而当 RS为 1,R/W 为 0 时,设定为将数据信息写入 LCD 的数据暂存区图 2.6 LCD 液晶显示屏模块2.32.3 主要元器件介绍主要元器件介绍2.3.12.3.1 AT89C51AT89C51 单片机单片机本系统采用的是 51 系列的 AT89C51 单片机。AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFlash Pr
10、ogrammable and Erasable Read Only Memory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器, 为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图 2.7 为 AT89C51 单片机的管脚图。5图 2.7 AT89C51 单片机管脚图VCC:正电源端GND:单片机的接地端XTAL1/XTAL2:片内振荡电路输入/输出端,两端跨接晶体或
11、陶瓷谐振器,与单片机内部反相器构成稳定的自激振荡器。发出的脉冲直接送入片内定的控制部件RESET:复位端EA/VPP:寻址外部 ROM 控制端/编程电源输入端。ALE/PROG:地址锁存允许/编程脉冲输入端。PSEN:寻址外部程序存储器,选通外部 EPROM 的端口(OE) 。P0.0P0.7 P1.0P1.7 P2.0P2.7:准双向 I/O 口。P3.0P3.7:具有特定的第二功能(准双向 I/O 口) 。2.3.22.3.2 LM016LLM016L 液晶显示器液晶显示器LM016L 液晶模块采用 HD44780 控制器,HD44780 具有简单而功能较强的指令集,可以实现字符移动,闪烁
12、等功能,LM016L 与单片机 MCU 通讯可采用 8 位或 4 位并行传输两种方式,hd44780 控制器由两个 8 位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF) ,显示数 RAM(DDRAM) ,字符发生器 ROMA(CGOROM)字符发生器RAM(CGRAM) ,地址计数器 RAM(AC)。IR 用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入 DDRAM 和 CGRAM,或者暂存从 DDRAM 和CGRAM 读出的数据,BF 为 1 时,液晶模块处于内部模式,不响应外部操作指令和接受数6据,DDTAM 用来存储显示的字符,能存储 80 个字符
13、码, CGROM 由 8 位字符码生成5*7 点阵字符 160 种和 5*10 点阵字符 32 种。图 2.8 为 LM016L 液晶显示屏的引脚图图 2.8 LM016L 液晶显示屏引脚图VSS:一般接地VCC:接电源(+5V)V0:液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度)。RS:RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。R/W:R/W 为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。E:E(或 EN)端为使能(enable)端,下降
14、沿使能。DB0DB7:底 4 位三态、 双向数据总线 06 位RS、R/W 寄存器选择控制如表 2.1 所示:表 2.1 RS、R/W 寄存器选择控制表RSR/W操作说明00写入指令寄存器(清除屏等)01读 busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据2.42.4 proteusproteus 软件介绍软件介绍Proteus 与其它单片机仿真软件不同的是,它不仅能仿真单片机 CPU 的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器
15、和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。运行 proteus 的 ISIS 程序后,进入该仿真软件的主界面。在工作前,要设置 view 菜单下的捕捉对齐和 system 下的颜色、图形界面大小等项目。通过工具栏中的 p(从库中选择元件命令)命令,在 pick devices 窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在 source 菜单的7Definecode generation tools 菜单命令下,选择程序编译的工具、路径、扩
16、展名等项目;在 source 菜单的 Add/removesource files 命令下,加入单片机硬件电路的对应程序;通过 debug 菜单的相应命令仿真程序和电路的运行情况。Proteus 软件所提供的元件资源 Proteus 软件所提供了 30 多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。3 3 软件设计及仿真软件设计及仿真3.13.1 程序流程程序流程先从主程序开始,接着初始化变量及 LCD 接口,使 LCD 进入了开机状态,等待选择按键,包括播放键,暂停键,停止键。键盘采用动态扫描方式,每次扫描一行键盘,送此行低电平,读输入口的状态值,判断有没有键按下。如有键按下,
17、则根据读入口的值选择显示值并送至显示值寄存单元,判断键值;启动计数器 T0,根据次值为偏移地址找到要选择的音乐的代码的首地址,根据代码产生一定的频率脉冲,驱动蜂鸣器,放出声音;同时启动定时器 T1,计算音乐的播放时间,并且启动 LCD,在 LCD 上显示序号和播放时间。程序流程图如图 3.1 所示图 3.1 主程序流程图和 LCD 显示流程图3.23.2 系统初始化程序设计系统初始化程序设计8RS BIT P2.0 ;引脚定义,定义液晶显示端口标号RW BIT P2.1E BIT P2.2L50MS EQU 60H ;工作内存定义L1MS EQU 61HL250MS EQU 62HSEC EQ
18、U 65HMIN EQU 64HHOU EQU 63HORG 0000HLJMP MAINORG 000BH ;定时器 T0 溢出中断入口地址LJMP TT0ORG 001BH ; 定时器 T1 溢出中断入口地址LJMP T1INTORG 1000HMAIN: ;液晶初始化 MOV SP,#70H 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 DISPL
19、AYLCALL INITIL ;内存初始化INITIL:MOV R3,#08HMOV R0,#30H3.33.3 音调的确定音调的确定不同音高的乐音是用 C、D、E、F、G、A、B 来表示,这 7 个字母就是音乐的音名,它们一般依次唱成 DO、RE、MI、FA、SO、LA、SI,即唱成简谱的 1、2、3、4、5、6、7,相当于汉字“都喏米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调” ,即 Tone。把C、D、E、F、G、A、B 这一组音的距离分成 12 个等份,每一个等份叫一个“半音” 。两个音之间的距离有两个“半音” ,就叫“全音” 。在钢琴等键盘乐器上,CD、DE、FG、GA、A
20、B 两音之间隔着一个黑键,他们之间的距离就是全音;EF、BC 两音之间没有黑键相隔,它们之间的距离就是半音。通常唱成 1、2、3、4、5、6、7 的音叫自然音,那些在它们的左上角加上号或者 b 号的叫变化音。叫升记号,表示把音在原来的基础上升高半音,b 叫降记音,表示在原来的基础上降低半音。高音 DO 的频率(1046Hz)刚好9是中音 DO 的频率(523Hz)的一倍,中音 DO 的频率(523Hz)刚好是低音 DO 频率(266 Hz)的一倍;同样的,高音 RE 的频率(1175Hz)刚好是中音 RE 的频率(587Hz)的一倍,中音 RE 的频率(587Hz)刚好是低音 RE 频率(29
21、4 Hz)的一倍。要产生音频脉冲,只要算出某一音频的周期(1/频率) ,然后将此周期除以 2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的 I/O 反相,然后重复计时此半周期时间再对 I/O 反相,就可在 I/O 脚上得到此频率的脉冲。利用 AT89S52 的内部定时器使其工作在计数器模式 MODE1 下,改变计数值 TH0 及 TL0以产生不同频率的方法。此外结束符和休止符可以分别用代码 00H 和 FFH 来表示,若查表结果为 00H,则表示曲子终了;若查表结果为 FFH,则产生相应的停顿效果。C 调各音符频率与计数值 T 的值如表 3.1 所示:表 3.1
22、C 调音符频率与计数值 T低音频率T参数中音频率T参数高音频率T参数Do2621908229Do523956115Do10465757Do2771805217Do554903108Do11095454Re2941701204Re587852102Re11755151Re3111608193Re62280497Re12454848Mi3301515182Mi65975991Mi13184545Fa3491433172Fa69871686Fa13974343Fa3701351162Fa74067681Fa14804141So3921276153So78463877So15683838So41512
23、05145So83160272So16613636La4401136136La88056868La17603434La4641078129La93253664La18653232Si4941012121Si98850661Si197630303.43.4 项目仿真项目仿真使用 keil 软件进行编译,生成 hex 文件。 导入 protus 软件进行仿真。结果如下图103.2 (a)按下开机键 (b)按下第三首图 3.2 仿真结果按下一曲、上一曲、暂停等功能键,均能实现。总结总结此次设计的整个过程中,出现了各种小问题,例如因为代码错误某一首歌无法播放,我通过查找资料重新修改了音乐代码,解决了这
24、个问题。虽然设计结果不是很完美,但是,在这整个设计期间,使我学到了很多在这之前没有学到的知识、技能。使我把大学期间所学到的知识进行了一个总结和复习,也使我对所学的知识有了进一步的思考。也让我从另一个方面认识了我所学专业的重要性。脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。 参考文献: 1王为青,邱文勋.51 单片机应用开发案例精选人民邮政出版社,2007.2单片机基础李广第 朱月秀 王秀山编 北京航空航天大学出版社,2001.3 杨居义. 单片机课程
25、设计指导. 清华大学出版社, 2009. 44-61 页.4 陈骏莲. 倪云峰.单片机原理与应用基础.清华大学出版社.200911附录一附录一仿真电路图如下:附录图 1 仿真电路图附录二附录二以下是以下是十首歌音乐播放器的单片机控制源程序:RS BIT P2.0 ;引脚定义,定义液晶显示端口标号RW BIT P2.1E BIT P2.2L50MS EQU 60H ;工作内存定义L1MS EQU 61HL250MS EQU 62HSEC EQU 65HMIN EQU 64HHOU EQU 63H org 0000hljmp mainORG 000BH ;定时器 T0 溢出中断入口地址LJMP T
26、T0ORG 001BH ;定时器 T1 溢出中断入口地址LJMP T1INTorg 1000hmain: ;液晶初始化MOV SP,#70H MOV P0,#01H ;清屏CALL DISPLAYMOV P0,#38H ;8 位,2 行显示lCALL DISPLAYMOV P0FH ;屏显 on,光标 on,闪烁 onlCALL DISPLAYMOV P0,#06H ;计数地址加 1,显示幕 onlCALL DISPLAYlcall initil ;内存初始化 WAIT:lcall key ; 键盘扫描是否有键按下12lcall modd ljmp WAIT ;若无则等待key:nopnopl
27、call ksjnz k1 ;有按键转到 K1lcall kaijilcall SOPxn:ljmp keyk1:lcall moddlcall moddlcall ksjnz k2ljmp keyk2:mov R2,#0feh ;读键盘mov R4#00hk3:mov A,R2mov P1,Amov A,P1JB ACC.4,L1 ;为 1 跳转,第一行无按键mov a,#00hljmp lkL1:jb acc.5,L2mov a,#04hljmp lkL2:jb acc.6,L3mov a,#08hljmp lkL3:jb acc.7,next1mov a,#0chlk:add a,R4p
28、ush acck4:lcall delay1 ;若同时有其他按键,则等待lcall ksjnz k4mov r3,#07h clr amov r0,#30hmov r1,#31hmm1:mov a,r1mov r0,ainc r0inc r1djnz r3,mm1pop accmov r0,a RETnext1:inc R4 ;-列扫描mov a,R2JNB acc.3,n2ljmp n1n2:ljmp keyn1:rl amov R2,aljmp k3ks:mov a,#0f0h ;判断 P1 口mov P1,anopnopmov a,P1cpl aanl a,#0f0hRETDELAY1:
29、SETB RS0dl:mov R5,#0ahdl2:mov R6,#63dl3:nop nopdjnz R6,dl313djnz R5,dl2 CLR RS0 RETinitil: ;30H-37H 初值为 0mov r3,#08hmov r0,#30hm1:mov r0,#00hinc r0djnz r3,m1 RETmodd: ;显示MOV P0,#8EHlCALL DISPLAY mov A,37Hmov DPTR,#TABLE3 MOVC A,A+DPTRlCALL WRITE2 RETkaiji: ;开机提示字mov a,37hcjne a,#0fh,DFFMOV P0,#80H ;
30、设光标地址 lCALL DISPLAYMOV DPTR,#TABLE1;写数据lCALL WRITE1 DFF:RET;按键值播放歌曲SOP:mov a,37hcjne a,#01h,A11LCALL MODDMOV 52H,#HIGH TABLE10MOV 53H,#LOW TABLE10LCALL INITILE2lcall MAIN0A11:CJNE A,#02H,A22LCALL MODDMOV 52H,#HIGH TABLE20MOV 53H,#LOW TABLE20 LCALL INITILE2 lcall MAIN0A22:CJNE A,#03H,A33LCALL MODDMOV
31、 52H,#HIGH TABLE30MOV 53H,#LOW TABLE30 LCALL INITILE2 lcall MAIN0 A33:CJNE A,#04H,A44LCALL MODDMOV 52H,#HIGH TABLE40MOV 53H,#LOW TABLE40 LCALL INITILE2 lcall MAIN0A44:CJNE A,#05H,A55LCALL MODDMOV 52H,#HIGH TABLE50MOV 53H,#LOW TABLE50 LCALL INITILE2 lcall MAIN0A55:CJNE A,#06H,A66LCALL MODDMOV 52H,#HI
32、GH TABLE60MOV 53H,#LOW TABLE60 LCALL INITILE2 lcall MAIN0 A66:CJNE A,#07H,A77LCALL MODDMOV 52H,#HIGH TABLE70MOV 53H,#LOW TABLE70 LCALL INITILE2 lcall MAIN0 A77:CJNE A,#08H,A88LCALL MODDMOV 52H,#HIGH TABLE80MOV 53H,#LOW TABLE80 LCALL INITILE2 lcall MAIN0A88:CJNE A,#09H,A9914LCALL MODDMOV 52H,#HIGH TA
33、BLE90MOV 53H,#LOW TABLE90 LCALL INITILE2 lcall MAIN0 A99:CJNE A,#0AH,AAALCALL MODDMOV 52H,#HIGH TABLE100MOV 53H,#LOW TABLE100 LCALL INITILE2 lcall MAIN0 AAA:RET INITILE2:MOV L50MS,#20MOV L1MS,#00HMOV L250MS,#00HMOV SEC,#00HMOV MIN,#00HMOV HOU,#00HMOV A,HOUMOV B,#10DIV ABADD A,#30H ;将 BCD 吗转化为 ASIIC
34、码MOV P0,#0C8H ;显示小时十位CALL DISPLAYCALL WRITE2MOV A,BADD A,#30HMOV P0,#0C9H ;显示小时个位CALL DISPLAYCALL WRITE2MOV A,#3AHMOV P0,#0DH ;显示冒号CALL DISPLAYCALL WRITE2MOV A,MINMOV B,#10DIV ABADD A,#30HMOV P0,#0CBH ;显示分十位CALL DISPLAYCALL WRITE2MOV A,BADD A,#30HMOV P0,#0CCH ;显示分个位CALL DISPLAYCALL WRITE2MOV A,#3AHM
35、OV P0,#0CDH ;显示冒号CALL DISPLAYCALL WRITE2MOV A,SECMOV B,#10DIV ABADD A,#30H MOV P0,#0CEH ;显示秒十位CALL DISPLAYCALL WRITE2MOV A,BADD A,#30HMOV P0,#0CFH ;显示秒个位CALL DISPLAYCALL WRITE2MOV P0,#0C0H ;设光标地址 CALL DISPLAYMOV DPTR,#TABLE2;写数据CALL WRITE1 RETDISPLAY: ;写指令CLR RSCLR RWCLR ELCALL DELAYSETB ERETWRITE1:
36、 ;写数据MOV R1,#00HA1:MOV A,R1MOVC A,A+DPTRCALL WRITE2INC R1CJNE A,#0FEH,A1 ;未到字符串末尾继续RETWRITE2:MOV P0,ASETB RS15CLR RWCLR ECALL DELAYSETB ERETDELAY:MOV R4,#05D1:MOV R5,#0FFHDJNZ R5,$DJNZ R4,D1RET TAB:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8hdb 80h,90h,88h,83h,0c6h,0a1h,86h,8ehTAB1:db 89h,86h,0c7h,0c7h,0
37、c0hTAB2:db 0c6h,88h,0c0hTABLE1:DB WELCOME HERE,0FEHTABLE2:DB DFF WB ,0FEHTABLE4:DB CAU,0FEHTABLE3:DB 30H,31H,32H,33h DB 34H,35H,36H,37HDB 38h,39H,41H,42HDB 43H,44H,45H,46H ;播放歌曲程序MAIN0:MOV TMOD,#11HMOV IE,#8aH ;MOV TH1,#3cH;MOV TL1,#0b0H lcall ksjnz TTM12 MOV 40H,#00HNEXT20:MOV A,40HMOV DPH,52HMOV D
38、PL,53HMOVC A,A+DPTRMOV R2,AJZ STOPANL A,#0FHMOV R1,AMOV A,R2SWAP AANL A,#0FHJNZ SINGCLR TR0JMP W1SING: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 TR
39、0CLR TR1LJMP MAIN0 TTM12:LCALL K2MOV A,37HCJNE A,#0EH,TTM13CLR TR1LCALL DELAY1TTM120:LCALL KSLCALL DELAY1JZ TTM120LCALL K2MOV A,37HCJNE A,#0EH,TTM120SETB TR116LJMP NEXT20TTM13:CJNE A,#0CH,TTM14MOV A,52HINC AMOV 52H,AMOV A,53HINC AMOV 53H,AMOV A,36HINC AMOV 37H,ALJMP TTM2TTM14:CJNE A,#0DH,TTM2MOV A,5
40、2HDEC AMOV 52H,AMOV A,53HDEC AMOV 53H,AMOV A,36HDEC AMOV 37H,A TTM2:RET;定时器中断子程序 0TT0:PUSH ACCPUSH PSWMOV TL0,20HMOV TH0,21HCPL P3.7POP PSWPOP ACCRETI*;定时器中断子程序 1T1INT: MOV TH1, #3cHMOV TL1, #0b0HDJNZ L50MS,X4MOV L50MS,#20;每秒种时钟刷新秒显示一次SECSET:MOV A,SECMOV B,#10DIV ABADD A,#30H MOV P0,#0CEH ;显示秒十位lCAL
41、L DISPLAYlCALL WRITE2MOV A,BADD A,#30HMOV P0,#0CFH ;显示秒个位lCALL DISPLAYlCALL WRITE2MOV A,SECINC AMOV SEC,AXRL A,#60X4:JNZ OUTMINSET:MOV SEC,#00H ;每分钟刷新分显示一次MOV A,MININC AMOV MIN,A MOV B,#10DIV ABADD A,#30HMOV P0,#0CBH ;显示分十位lCALL DISPLAYlCALL WRITE2MOV A,BADD A,#30HMOV P0,#0CCH ;显示分个位lCALL DISPLAYlCA
42、LL WRITE2MOV A,MIN MOV B,#3MUL ABMOV B,#100DIV ABMOV R2,AMOV A,#10XCH A,B17DIV ABMOV A,MINXRL A,#60JNZ OUTHOUSET:MOV MIN,#00H ;每小时刷新小时显示一次 MOV A,HOUMOV B,#10DIV ABADD A,#30H ;将 BCD 吗转化为 ASIIC 码MOV P0,#0C8H ;显示小时十位CALL DISPLAYCALL WRITE2MOV A,BADD A,#30HMOV P0,#0C9H ;显示小时个位CALL DISPLAYCALL WRITE2MOV
43、A,HOUINC AMOV HOU,AXRL A,#10JNZ OUTSJMP OVERFLOWOUT:RETIOVERFLOW:;溢出处理MOV L50MS,#20MOV L1MS,#00HMOV L250MS,#00HMOV SEC,#00HMOV MIN,#00HMOV HOU,#00HRETIDELAY30: 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,6
44、4260DW 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,38
45、HDB 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;第二首月亮代表
46、我的心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,32H18DB 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,
47、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,84
48、H,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,44
49、H,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,
50、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,44
51、H,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,9
52、2H,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,52H19DB 66H,0b2H,0b4H,62H,52H,5cH,32H,52H,62H,64H,62H
53、,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,1
54、2H,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,
55、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,2
56、2H,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,92
57、H,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
58、,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,33
59、H,62H,0B2H,0B2H,62H,51H,61H,51H,31H,54HDB 62H,0B2H,72H,61H,51H,51H,61H,51H,31H,54H,6201H,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,6
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电力安全工作规程考试题库(变电部分)
- 2025-2026年山东省苏教版九年级生物第11课生物多样性的保护综合测试卷
- 2025-2026年部编版高二化学第10章化学与生活练习题
- 2026年安徽省人教版初中英语九年级下册第10章语法专项训练习题
- 2025-2026年宪法学基础理论模拟试卷
- 2025-2026年天津市人教版小学二年级语文下册第1单元课文背诵练习题
- 2026年湖南省高三语文一轮复习文言文翻译第十七章测试卷
- 2025-2026年山东省人教版六年级英语下册语法专项训练习题
- 2025-2026年黑龙江省人教版八年级物理第8课能量守恒定律测试题
- 2025-2026年福建省部编版高三生物一轮复习细胞生物学第五章测试卷
- 2026交投集团所属辽宁省高速公路运营管理有限责任公司操作岗招聘30人考试备考题库及答案详解
- 2026 年小学秋季开学第一课红色故事浸润少年心灵德育
- 新版部编人教版四年级上册道德与法治(课件)9安全文明上网
- 建筑公司安全生产资金投入保障制度范本
- 2026秋小学新版苏教版数学六年级上册教学设计(附目录)适用于新课标
- 新版西师版五年级上册数学全册教案(完整版)教学设计含教学反思
- 教科版2026年小学四年级科学上册全册教案
- 2026宁夏医科大学总医院自主招聘事业单位工作人员87人考试备考题库及答案详解
- 2026年道路运输企业主要负责人和安全生产管理人员考试机考题库及答案
- 2026辽宁沈阳汽车集团有限公司所属企业沈汽华制(沈阳)汽车产业服务有限公司招聘12人笔试备考题库及答案详解
- 2025年中级会计职称中级会计实务考试真题及答案
评论
0/150
提交评论