维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 327|回复: 1

单片机唱歌---“祝你平安”的源程序

[复制链接]
发表于 2010-1-22 21:19:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
ORG 0000H
! V9 x, Y! p/ |! `LJMP START) Y1 h, ~) n* R
ORG 000BH
* O* |7 o; m' W% \7 m, _! vINC 20H ;中断服务,中断计数器加17 `6 |* {4 ]. ]/ X8 t: l
MOV TH0,#0D8H
4 H0 G: D3 g0 \1 ?# I6 Q( hMOV TL0,#0EFH ;12M晶振,形成10毫秒中断0 L0 d# g) E# W
RETI
% _) |6 C3 N; s' F1 }START:
$ Y9 ]/ J: f1 N) y# [$ cMOV SP,#50H
7 w/ D. j' R* }) j. a% j& HMOV TH0,#0D8H
. |) y* z2 d/ R# UMOV TL0,#0EFH
# g2 y: t) q7 E8 _MOV TMOD,#01H7 K8 Y' k$ D, m2 \" B4 d
MOV IE,#82H" f: Y/ @; ~, y5 [( Y" K
MUSIC0:
, \/ x' C$ n/ ~# e' ZNOP6 S& v" S% B; q
MOV DPTR,#DAT ;表头地址送DPTR
+ i  |$ m( ?: f  M1 R' W$ X. A$ CMOV 20H,#00H ;中断计数器清0. O9 y" u( g9 F( a
MOV B,#00H ;表序号清0$ n& A4 w, Q' f8 P1 E4 i/ v8 @
MUSIC1:2 n( M3 d% j* ]# C3 }  s( x) a
NOP9 O8 m7 t. W: ~; @( U
CLR A
  H+ N& X! V" _& p5 UMOVC A,@A+DPTR ;查表取代码
, N( \) V7 O2 U1 S; lJZ END0 ;是00H,则结束
$ P+ m, H& F  w7 e" \" gCJNE A,#0FFH,MUSIC5
2 t9 Y' M. Q' H; d+ WLJMP MUSIC3
6 O1 v8 f/ u; Z4 w8 K) B8 s4 n9 FMUSIC5:) |$ J2 w6 [2 W6 Q- D! e0 L/ ^- c: v9 u: G
NOP
1 j  ?/ m* o$ o6 i$ tMOV R6,A0 `1 [: h* M, L4 n  j
INC DPTR% C1 T: `  R- z
MOV A,B
8 L! A) X1 h. I* t0 i- C" oMOVC A,@A+DPTR ;取节拍代码送R7
/ Z0 U2 q9 v: v1 YMOV R7,A! e9 o" Q4 i. y1 U: ~, d
SETB TR0 ;启动计数
) P8 I  g, ]7 k/ n6 YMUSIC2:
4 K' S9 F) C* ~1 `, B7 C$ C6 wNOP* T8 k( v% J+ g! m# g9 K
CPL P3.3
* ~2 O, ^' i4 ]6 ]1 T! o! v, xMOV A,R64 O+ i, d' b1 P- t3 d+ F6 f
MOV R3,A- Q% g  p) P/ q; A$ i2 O  Y, C3 \
LCALL DEL
  u( g8 e' Z  M4 G, IMOV A,R7) M# Q1 h0 K, ^
CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否?
+ A0 s# I% A0 R;不等,则继续循环
& E& q) x0 {# q. _4 F9 GMOV 20H,#00H ;等于,则取下一代码; W4 R4 a6 T+ U  b
INC DPTR
" J0 B( p3 o7 n; INC B
3 @( I  c- }3 nLJMP MUSIC17 \1 ?# N7 @0 O* ~/ R+ B; E
MUSIC3:" W2 X+ B% o! A5 `
NOP( T3 w/ n- s" D' N! z
CLR TR0 ;休止100毫秒- j3 O- ]5 a, f6 [. h9 Z) Q
MOV R2,#0DH
" b4 m0 ^7 T- V3 BMUSIC4:
  [5 J5 y# q& t. r6 o% {NOP
4 f- P  V$ s  y7 D5 l4 S. a0 Q9 ZMOV R3,#0FFH  [4 B2 ^7 T* I+ z& v! j2 U
LCALL DEL
' ?7 v9 ]! a0 lDJNZ R2,MUSIC4  H6 s+ z6 A! D3 }/ v
INC DPTR- q9 ^* R1 ^! ]% i8 F
LJMP MUSIC1! Y& R) g- A* L) `; H
END0:
5 Y# O6 q7 c8 p' i' h* j5 C/ CNOP$ M* x2 @" l1 f5 x: \# J  L& T
MOV R2,#64H ;歌曲结束,延时1秒后继续
9 \) ~' N9 n; m/ iMUSIC6:7 g& g3 _: p7 O5 Q+ R/ e- O/ b4 ~7 B
MOV R3,#00H" T5 L8 Z! s( _8 c
LCALL DEL+ c: h6 r! s" Y- |
DJNZ R2,MUSIC6
: L  p8 w( ?: Q5 [LJMP MUSIC0; k" _' H! m* `/ z8 d" L
DEL:: d8 s( P- I) n' |
NOP: p9 a" u% u$ G5 `; F0 n+ M
DEL3:
- {, z( A: r3 z- [1 g% n0 ?MOV R4,#02H
; I$ `2 T4 w- u* G- K( oDEL4: 9 r3 }% x  m5 e- n9 [$ P
NOP, J3 f" A- c9 k  P+ y
DJNZ R4,DEL4
" C, s: h* x' g5 R& i' ^+ N; bNOP" b& f- O/ W' o# S8 V) X
DJNZ R3,DEL3
4 t+ t! x2 d% O/ s0 N# ]1 J; d3 v; SRET
7 R9 H* }* _( A2 Z) b0 xNOP2 T$ R( x2 I' Y8 K' b$ R* S
DAT:
! [7 M) y+ p; [( Cdb 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h+ n8 ]7 n$ ^! ^# U- |4 w
db 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h
: u3 J4 R1 y) s( Bdb 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h
0 Q% ^+ B; N4 Z" s# Odb 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h
8 E0 c& ?1 \. [, Z( C" |, [" [# Gdb 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10h: \* K- e! B  _* g: ~
db 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h' m! x1 O3 G9 N$ z+ W: k. J
db 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h5 y( s. s) @# ?' H) B2 W4 D
db 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h) S9 H6 e: _- d0 k
db 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h* f: v9 s3 [3 ]% W% n4 Y# C% W
db 20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h$ I: j8 z, l3 T0 l2 J& t3 v* t
db 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h
; W( m  i  L5 B# [3 S; u. p* ?db 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h
4 l4 p- i$ W- t4 \3 v; Vdb 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h2 y7 h4 P3 r9 A% d
db 20h,10h,2bh,10h,26h,30h,30h,80h,00H' u  _/ x" b  O* M5 `) |, r
1 P# F4 A3 q, ~- e) f- D' \5 B
END

手机扫码浏览

classn_11

发表于 2011-11-8 01:25:04 | 显示全部楼层
人生感悟:牵手时,即使你的手有多汗,也别放开。  
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|手机版|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2024-5-4 13:41 , Processed in 0.259891 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表