单片机实验报告4.docx

上传人:b****8 文档编号:28182303 上传时间:2023-07-09 格式:DOCX 页数:17 大小:173.04KB
下载 相关 举报
单片机实验报告4.docx_第1页
第1页 / 共17页
单片机实验报告4.docx_第2页
第2页 / 共17页
单片机实验报告4.docx_第3页
第3页 / 共17页
单片机实验报告4.docx_第4页
第4页 / 共17页
单片机实验报告4.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

单片机实验报告4.docx

《单片机实验报告4.docx》由会员分享,可在线阅读,更多相关《单片机实验报告4.docx(17页珍藏版)》请在冰豆网上搜索。

单片机实验报告4.docx

单片机实验报告4

 

 

单片机原理与应用实验报告

(四)

 

题目:

音乐播放模块实验

学院:

专业:

姓名:

指导教师:

赫辽瓦

完成日期:

2012年11月04日

一、实验题目

音乐播放模块实验

二、实验目的

(1)掌握可编程的软件K3设计与应用;

(2)掌握实验所用电子元件的特性、使用性能及其焊接方法;

(3)掌握用软件CAD画图;

(4)了解歌曲的编译规则。

三、实验内容

(1)编译毛阿敏的《思念》;

(2)焊接共阳接法的音乐播放模块。

四、硬件电路

1.硬件电路图及设计说明

电路图:

(共阳接法)

 

+5V

音乐播放模块电路图

彩灯模块实物图

硬件电路图说明

1)共阳极接法。

2)本电路设计追求最简原则,没用驱动器。

2.电子元器件清单

序号

名称

数量

1

电路板

1块

2

扬声器

1个

3

排插针座

1个

4

电阻330Ω

16个

5

焊锡

若干

6

9013三极管

1个

7

电阻10kΩ

1个

 

五、编制软件

1.程序流程框图

 

2.歌曲简谱

3.LST表格文件清单

A51MACROASSEMBLERSTARTUP10/30/201221:

22:

05PAGE1

MACROASSEMBLERA51V8.00

OBJECTMODULEPLACEDINSTARTUP.OBJ

ASSEMBLERINVOKEDBY:

E:

\Keil\C51\BIN\A51.EXESTARTUP.A51SET(SMALL)DEBUGEP

LOCOBJLINESOURCE

1$nomod51

2;--------------------------------------------------

3;ThisfileispartoftheC51Compilerpackage

4;Copyright(c)1988-2005KeilElektronikGmbHandKeilSoftware,Inc.

5;Version8.01

6;

7;***<<>>***

8;-------------------------------------------------

9;STARTUP.A51:

Thiscodeisexecutedafterprocessorreset.

10;

11;TotranslatethisfileuseA51withthefollowinginvocation:

12;

13;A51STARTUP.A51

14;

15;TolinkthemodifiedSTARTUP.OBJfiletoyourapplicationusethefollowing

16;Lx51invocation:

17;

18;Lx51yourobjectfilelist,STARTUP.OBJcontrols

19;

20;---------------------------------------------------

21;

22;User-definedPower-OnInitializationofMemory

23;

24;WiththefollowingEQUstatementstheinitializationofmemory

25;atprocessorresetcanbedefined:

26;

27;IDATALEN:

IDATAmemorysize<0x0-0x100>

28;Note:

Theabsolutestart-addressofIDATAmemoryisalways0

29;TheIDATAspaceoverlapsphysicallytheDATAandBITareas.

008030IDATALENEQU80H

31;

32;XDATASTART:

XDATAmemorystartaddress<0x0-0xFFFF>

33;TheabsolutestartaddressofXDATAmemory

000034XDATASTARTEQU0

35;

36;XDATALEN:

XDATAmemorysize<0x0-0xFFFF>

37;ThelengthofXDATAmemoryinbytes.

000038XDATALENEQU0

39;

40;PDATASTART:

PDATAmemorystartaddress<0x0-0xFFFF>

41;TheabsolutestartaddressofPDATAmemory

000042PDATASTARTEQU0H

43;

44;PDATALEN:

PDATAmemorysize<0x0-0xFF>

45;ThelengthofPDATAmemoryinbytes.

000046PDATALENEQU0H

47;

48;

49;---------------------------------------------------------

50;

51;ReentrantStackInitialization

52;

53;ThefollowingEQUstatementsdefinethestackpointerforreentrant

54;functionsandinitializedit:

55;

56;StackSpaceforreentrantfunctionsintheSMALLmodel.

57;IBPSTACK:

EnableSMALLmodelreentrantstack

58;StackspaceforreentrantfunctionsintheSMALLmodel.

A51MACROASSEMBLERSTARTUP10/30/201221:

22:

05PAGE2

000059IBPSTACKEQU0;setto1ifsmallreentrantisused.

60;IBPSTACKTOP:

EndaddressofSMALLmodelstack<0x0-0xFF>

61;Setthetopofthestacktothehighestlocation.

010062IBPSTACKTOPEQU0xFF+1;default0FFH+1

63;

64;

65;StackSpaceforreentrantfunctionsintheLARGEmodel.

66;XBPSTACK:

EnableLARGEmodelreentrantstack

67;StackspaceforreentrantfunctionsintheLARGEmodel.

000068XBPSTACKEQU0;setto1iflargereentrantisused.

69;XBPSTACKTOP:

EndaddressofLARGEmodelstack<0x0-0xFFFF>

70;Setthetopofthestacktothehighestlocation.

000071XBPSTACKTOPEQU0xFFFF+1;default0FFFFH+1

72;

73;

74;StackSpaceforreentrantfunctionsintheCOMPACTmodel.

75;PBPSTACK:

EnableCOMPACTmodelreentrantstack

76;StackspaceforreentrantfunctionsintheCOMPACTmodel.

000077PBPSTACKEQU0;setto1ifcompactreentrantisused.

78;

79;PBPSTACKTOP:

EndaddressofCOMPACTmodelstack<0x0-0xFFFF>

80;Setthetopofthestacktothehighestlocation.

010081PBPSTACKTOPEQU0xFF+1;default0FFH+1

82;

83;

84;----------------------------------------------------

85;

86;MemoryPageforUsingtheCompactModelwith64KBytexdataRAM

87;CompactModelPageDefinition

88;

89;DefinetheXDATApageusedforPDATAvariables.

90;PPAGEmustconformwiththePPAGEsetinthelinkerinvocation.

91;

92;Enablepdatamemorypageinitalization

000093PPAGEENABLEEQU0;setto1ifpdataobjectareused.

94;

95;PPAGEnumber<0x0-0xFF>

96;uppermost256-byteaddressofthepageusedforPDATAvariables.

000097PPAGEEQU0

98;

99;SFRaddresswhichsuppliesuppermostaddressbyte<0x0-0xFF>

100;most8051variantsuseP2asuppermostaddressbyte

00A0101PPAGE_SFRDATA0A0H

102;

103;

104;---------------------------------------------------

105

106;StandardSFRSymbols

00E0107ACCDATA0E0H

00F0108BDATA0F0H

0081109SPDATA81H

0082110DPLDATA82H

0083111DPHDATA83H

112

113NAME?

C_STARTUP

114

115

116?

C_C51STARTUPSEGMENTCODE

117?

STACKSEGMENTIDATA

118

----119RSEG?

STACK

0000120DS1

121

122EXTRNCODE(?

C_START)

123PUBLIC?

C_STARTUP

124

A51MACROASSEMBLERSTARTUP10/30/201221:

22:

05PAGE3

----125CSEGAT0

0000020000F126?

C_STARTUP:

LJMPSTARTUP1

127

----128RSEG?

C_C51STARTUP

129

0000130STARTUP1:

131

132IFIDATALEN<>0

0000787F133MOVR0,#IDATALEN-1

0002E4134CLRA

0003F6135IDATALOOP:

MOV@R0,A

0004D8FD136DJNZR0,IDATALOOP

137ENDIF

138

139IFXDATALEN<>0

140MOVDPTR,#XDATASTART

141MOVR7,#LOW(XDATALEN)

142IF(LOW(XDATALEN))<>0

143MOVR6,#(HIGH(XDATALEN))+1

144ELSE

145MOVR6,#HIGH(XDATALEN)

146ENDIF

147CLRA

148XDATALOOP:

MOVX@DPTR,A

149INCDPTR

150DJNZR7,XDATALOOP

151DJNZR6,XDATALOOP

152ENDIF

153

154IFPPAGEENABLE<>0

155MOVPPAGE_SFR,#PPAGE

156ENDIF

157

158IFPDATALEN<>0

159MOVR0,#LOW(PDATASTART)

160MOVR7,#LOW(PDATALEN)

161CLRA

162PDATALOOP:

MOVX@R0,A

163INCR0

164DJNZR7,PDATALOOP

165ENDIF

166

167IFIBPSTACK<>0

168EXTRNDATA(?

C_IBP)

169

170MOV?

C_IBP,#LOWIBPSTACKTOP

171ENDIF

172

173IFXBPSTACK<>0

174EXTRNDATA(?

C_XBP)

175

176MOV?

C_XBP,#HIGHXBPSTACKTOP

177MOV?

C_XBP+1,#LOWXBPSTACKTOP

178ENDIF

179

180IFPBPSTACK<>0

181EXTRNDATA(?

C_PBP)

182MOV?

C_PBP,#LOWPBPSTACKTOP

183ENDIF

184

0006758100F185MOVSP,#?

STACK-1

186

187;ThiscodeisrequiredifyouuseL51_BANK.A51withBankingMode4

188;CodeBanking

189;SelectBank0forL51_BANK.A51Mode4

190

A51MACROASSEMBLERSTARTUP10/30/201221:

22:

05PAGE4

195;

0009020000F196LJMP?

C_START

197

198END

A51MACROASSEMBLERSTARTUP10/30/201221:

22:

05PAGE5

SYMBOLTABLELISTING

------------------

NAMETYPEVALUEATTRIBUTES

?

C_C51STARTUP...CSEG000CHREL=UNIT

?

C_START.....CADDR-----EXT

?

C_STARTUP....CADDR0000HA

?

STACK......ISEG0001HREL=UNIT

ACC........DADDR00E0HA

B.........DADDR00F0HA

DPH........DADDR0083HA

DPL........DADDR0082HA

IBPSTACK.....NNUMB0000HA

IBPSTACKTOP....NNUMB0100HA

IDATALEN.....NNUMB0080HA

IDATALOOP.....CADDR0003HRSEG=?

C_C51STARTUP

PBPSTACK.....NNUMB0000HA

PBPSTACKTOP....NNUMB0100HA

PDATALEN.....NNUMB0000HA

PDATASTART....NNUMB0000HA

PPAGE.......NNUMB0000HA

PPAGEENABLE....NNUMB0000HA

PPAGE_SFR.....DADDR00A0HA

SP........DADDR0081HA

STARTUP1.....CADDR0000HRSEG=?

C_C51STARTUP

XBPSTACK.....NNUMB0000HA

XBPSTACKTOP....NNUMB0000HA

XDATALEN.....NNUMB0000HA

XDATASTART....NNUMB0000HA

REGISTERBANK(S)USED:

0

ASSEMBLYCOMPLETE.0WARNING(S),0ERROR(S)

六、实验总结

通过本次实验,我编译了毛阿敏的《思念》,虽然某些音跑调,但在老师的指点下编写完成相匹配的旋律。

在焊接方面,由于前期设计,使得焊接更加简洁迅速。

编写相应的程序是用查表法,方便易行。

通过此次实验,使我对单片机产生更加浓的兴趣,听着自己编译的歌曲,那是一种享受的体验。

参考文献

[1]李群芳,肖看,张士军.单片微型计算机与接口技术.北京:

电子工业出版社,2012年1月.

展开阅读全文
相关搜索

当前位置:首页 > 党团工作 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1