ORG 0000H
LJMP START
ORG 000BH
INC 20H ;中断服务,中断计数器加1
MOV TH0,#0D8H
MOV TL0,#0EFH ;12M晶振,形成10毫秒中断
RETI
START: 
MOV SP,#50H
MOV TH0,#0D8H
MOV TL0,#0EFH

MOV TMOD,#01H
MOV IE,#82H
MUSIC0:
NOP
MOV DPTR,#DAT ;表头地址送DPTR
MOV 20H,#00H ;中断计数器清0
MOV B,#00H ;表序号清0
MUSIC1:
NOP
CLR A
MOVC A,@A+DPTR ;查表取代码
JZ END0 ;是00H,则结束
CJNE A,#0FFH,MUSIC5
LJMP MUSIC3
MUSIC5:
NOP
MOV R6,A
INC DPTR
MOV A,B
MOVC A,@A+DPTR ;取节拍代码送R7
MOV R7,A
SETB TR0 ;启动计数
MUSIC2:
NOP
CPL P3.2
MOV A,R6
MOV R3,A
LCALL DEL
MOV A,R7
CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否?
;不等,则继续循环
MOV 20H,#00H ;等于,则取下一代码
INC DPTR
; INC B
LJMP MUSIC1
MUSIC3:
NOP
CLR TR0 ;休止100毫秒
MOV R2,#0DH
MUSIC4:
NOP
MOV R3,#0FFH
LCALL DEL
DJNZ R2,MUSIC4
INC DPTR
LJMP MUSIC1
END0:
NOP
MOV R2,#64H ;歌曲结束,延时1秒后继续
MUSIC6:
MOV R3,#00H
LCALL DEL
DJNZ R2,MUSIC6
LJMP MUSIC0
DEL:
NOP
DEL3: 
MOV R4,#02H
DEL4: 
NOP
DJNZ R4,DEL4
NOP
DJNZ R3,DEL3
RET
NOP
DAT:
db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h
db 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h
db 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h
db 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h
db 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10h
db 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h
db 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h
db 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h
db 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h
db 20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h
db 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h
db 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h
db 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h
db 20h,10h,2bh,10h,26h,30h,30h,80h,00H


END

以下是hex文件:

:03000000020014E7
:10000B000520758CD8758AEF32758150758CD87533
:10001B008AEF75890175A8820090007D75200075A7
:10002B00F00000E4936033B4FF0302005400FEA31E
:10003B00E5F093FFD28C00B2B3EEFB120072EFB57A
:10004B0020F4752000A302002D00C28C7A0D007BDA
:10005B00FF120072DAF8A302002D007A647B001203
:10006B000072DAF9020023007C0200DCFD00DBF8F1
:10007B002200262020202020261020102080262041
:10008B0030203020391030103080262020202020C6
:10009B001C2020802B20262020202B1026102B808C
:1000AB0026203020302039102610266040103910C1
:1000BB0026203020302039102610268026202B10A9
:1000CB002B102B203010391026102B102B202B40EF
:1000DB004020201020102B102630308018201820A4
:1000EB0026202020204026202B20302030201C20B2
:1000FB00202020801C201C201C2030203060391038
:10010B00301020202B1026102B10261026102B1011
:10011B002B801820182026202020206026102B2032
:10012B00302030201C202020208026203010301042
:10013B003020392026102B102B202B404010401044
:0B014B00201020102B10263030800008
:00000001FF


关键字:祝你平安  源程序 引用地址:“祝你平安”源程序

上一篇:PCF8563 I2C 实时时钟日历芯片
下一篇:PC机与单片机的通讯程序

推荐阅读

/*写汉字液晶子程 液晶屏分为4行*12列汉字,全部使用模拟接口方式。/* TGLCMLIMIT64A接口程序(模拟方式);***************************************************************************;连线图:;*LCM---89C52* *LCM---89C52* *LCM-------89C52* *LCM----------89C52* *;*DB0---P0.0* *DB4---P0.4* *D/I-------P2.6* *CS1----------P...
  集中式光伏逆变器特点:     1、 应用于中小型商业、工业屋顶分布式光伏和大型地面并网光伏电站     2、采用工业级的产品设计理念和成熟的逆变控制技术,可确保逆变器25年的使用寿命。     3、低电压穿越能力、特有的智能防逆流保护技术,可实现输出功率远程线性调节,并以极低的谐波输出和极高的转换效率为绿色、高效的光伏电站运营提供有...
意法半导体已经与ROHM集团旗下公司SiCrystal签署了多年的SiC晶圆供应协议。该协议规定了在此期间,SiCrystal向意法半导体提供了超过1.2亿美元的先进150mm碳化硅晶片。“这项长期SiC衬底供应协议是我们需要再扩容,这将使意法半导体能够增加晶圆的供应,以满足我们为满足未来几年汽车和工业计划客户强劲的需求增长所需要的晶圆。”意法半导体首席执行官Jean...
LPC2300系列ARM的大部分引脚具有多种功能,但是一个引脚在同一时刻只能使用其中一种功能,即可以分时使用.因此LPC2300系列ARM设计了"引脚连接模块"部件,该部件具有两个功能:选择引脚功能,设置引脚功能.看一下下面的图: 也就是使用PINMODEx和PINSELx两个寄存器来实现这样的功能.PINSELx比较好理解,不讲了.PINMODEx寄存器内的每两位控件一个引脚的片内上/下...

史海拾趣

小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved