📄 p3.3小喇叭---生日快乐.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0039)http://www.8951.com/test/test/happy.htm -->
<HTML><HEAD><TITLE>单片机音乐试验</TITLE><LINK href="P3.3小喇叭---生日快乐.files/gpszx.css"
type=text/css rel=stylesheet><LINK href="../index.files/gpszx.css" type=text/css
rel=stylesheet>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content="MSHTML 6.00.2900.2523" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId></HEAD>
<BODY>
<DIV align=center>
<CENTER>
<TABLE height=356 cellSpacing=0 cellPadding=0 width=769 bgColor=#66ccff
borderColorLight=#000000 border=0>
<TBODY>
<TR>
<TD align=middle width=752 bgColor=#ffffff colSpan=5 height=356><FONT
font><FONT color=#ff0000>单片机提高</FONT><FONT color=#ff0000><IMG height=11
src="P3.3小喇叭---生日快乐.files/gif091.gif" width=28 border=0></FONT><FONT
color=#454545>WWW.51C51.COM
自学单片机的网站:作中国单片机编程技术普及推广第一站!倚天一出宝刀屠龙</FONT></FONT><IMG height=100
src="P3.3小喇叭---生日快乐.files/titou2.jpg" width=760 border=0> <FONT
color=#454545 font><A href="http://www.8951.com/index.htm">返回主页 给我留言</A>
<A href="http://www.8951.com/jiaoxue.htm">单片机教学</A> <A
href="http://www.8951.com/tigao.htm">单片机提高</A> <A
href="http://www.8951.com/pinzhi.htm">品质技术</A> <A
href="http://www.8951.com/1000/WANGZHI.HTM">单片机网址</A> <A
href="http://www.8951.com/down/down.htm">软件下载</A> <A
href="http://www.8951.com/yejin/yejin.htm">学液晶显示</A> <A
href="http://www.8951.com/chanpin.htm">产品介绍</A> <A
href="http://www.8951.com/10/huikan.htm">如何购买</A></FONT>
<CENTER></CENTER>
<P
align=left>;;P3.3小喇叭---生日快乐。<BR>;***************************************************************************<BR>;*
(程序转载请著明出处 ,未声明可适应本站腾龙/isp开发套件/倚天版开发套件
*<BR>;* E-mail:sxj1974@163.com (51c51 test web)
51单片机学习网,自学单片机的网站
*<BR>;* Create by :石学军 <A
href="http://www.51c51.com/">http://www.51c51.com/</A>
www.8951.com
更多例程请登陆网站
*<BR>;***************************************************************************<BR>org
0000h<BR>ajmp main<BR>org 000bh<BR>jmp tim0<BR>org 0030h<BR>main:
;主程序<BR>mov tmod,#01h ;设定时方式<BR>mov ie,#82h ;开中断<BR>start0:<BR>mov
30h,#00h ;<BR>next: mov a,30h<BR>mov dptr,#table<BR>movc a,@a+dptr
;查表取音调和节拍<BR>mov r2,a<BR>jz end0 ;为零,不进行处理.<BR>anl a,#0fh<BR>mov r5,a
;将节拍存入R5<BR>mov a,r2<BR>swap a<BR>anl a,#0fh<BR>jnz sing
;根据音调决定是否演奏.<BR>clr tr0<BR>jmp d1<BR>sing: dec a<BR>mov 22h,a
;将音调存入22H.<BR>rl a<BR>mov dptr,#table1<BR>movc a,@a+dptr
;根据音调决定定时器初值.<BR>mov th0,a ;放入TH0<BR>mov 21h,a<BR>mov a,22h<BR>rl a<BR>inc
a<BR>movc a,@a+dptr<BR>mov tl0,a ;放入TL0<BR>mov 20h,a<BR>setb tr0
;启动定时<BR>d1: call delay<BR>inc 30h<BR>jmp next<BR>end0: clr tr0<BR>jmp
start0<BR><BR>tim0: ;定时器中断服务程序<BR>push acc<BR>push psw<BR>mov tl0,20h
;重赋初值.<BR>mov th0,21h<BR>cpl p3.3 <BR>pop psw<BR>pop
acc<BR>reti<BR><BR>delay: mov r7,#02h ;延时子程序<BR>d2: mov r4,#187<BR>d3: mov
r3,#248<BR>djnz r3,$<BR>djnz r4,d3<BR>djnz r7,d2<BR>djnz
r5,delay<BR>ret<BR><BR>table1: ;决定音调的定时初值.<BR>dw
64260,64400,64524,64580<BR>dw 64684,64777,64820,64898<BR>dw
64968,65030,65058,65110<BR>dw 65157,65178,65217<BR><BR>table:
;决定音调和节拍的表格,不同的歌曲只是此表不同<BR>;1<BR>db
82h,01h,81h,94h,84h,0b4h,0a4h,04h,82h,01h,81h,94h,84h,0c4h,0b4h,04h<BR>;2<BR>db
82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h<BR>;3<BR>db
82h,01h,81h,94h,84h,0b4h,0a4h,04h,82h,01h,81h,94h,84h,0c4h,0b4h,04h<BR>;4<BR>db
82h,01h,81h,0f4h,0d4h,0b4h,0a4h,94h,0e2h,01h,0e1h,0d4h,0b4h,0c4h,0b4h,04h,00<BR>end<BR></P></TD></TR></TBODY></TABLE></DIV></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -