c51單片機(jī)課程設(shè)計(jì)-電子琴-圖文_第1頁
c51單片機(jī)課程設(shè)計(jì)-電子琴-圖文_第2頁
c51單片機(jī)課程設(shè)計(jì)-電子琴-圖文_第3頁
c51單片機(jī)課程設(shè)計(jì)-電子琴-圖文_第4頁
c51單片機(jī)課程設(shè)計(jì)-電子琴-圖文_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

SUrGg:?tz????{€fu5[Pt4

v?_U

1??????v?

3

2.????v?v?

3

3.N;‰?Q 1...................................................

3

4.—ó{&?‘s?N??epRP<[ùqg?h

3

5.[?e?/??epVhv?]?O\S?t

4

5.1e1_[?[XVh

4

5.2T//P\c§R6[?[XVhTCON

6

6.N-e-c§R6

6

6.1TCONu(N?N-e-?÷lB

6

6.2N-e-QA??[?[XVhIE

7

7.|?~?Rg?

7

7.1|?~?~?b

8

7.2|?~?]?O\S?t

8

&|?~?xlN?????

8

8.1|?~?xlN?`;OS????

8

8.2LEDf>y:j!WW

9

8.3blXeVhj!WW

9

8.4[P|?~??j!WW?u5??Vt

10

8.4.1Qq–3g?u5??Vt

10

1

SUrGg:?tz????{€fu5[Pt4

8.4.2NOM_Qs

10

9.|?~??oN?????

1

0

9.1|?~??oN?`;OS????

1

0

9.2g,|?~?`;OSN?x

1

1

10.?tz????bg?

15

11.N*No`;~ó

15

S?€e?s

17

2

SUrGg:〈bz〈認(rèn)〈i{efu5[Pt4

N0〈認(rèn)〈i~~v各y{efu5[Pt4

N正0〈認(rèn)〈iv各v”y

y1yqy、%SUrGg:v”Q….è~og”y

y2yc正ciC51.ze1l負(fù)y

y3yc正ci[seδVhNS動(dòng)Xδv”Qs|iy

y4yc正ciN從mA?之#Vhv”S動(dòng)XδSytT正z^.c§R6e1l負(fù)y

y5yc正ciN2教Lc§R6..vo..v”〈足R+e1l負(fù)y

y6yc正ciXδ—6~‘s?v”〈i{—e1l負(fù)0

N0N;%.Q…[1

g,|i~B〈認(rèn)〈iR6O\NN*S團(tuán)oYOv”u5[Pt40~iT^”u(NfN$~y〈認(rèn)〈i

y1yeyN§u~_—6yNf%關(guān)—6正soONv”c§R6e1l負(fù)0

y2yu(..voN關(guān)fyu5[Pt4v”..voyc§R6oYO—6NP0

yayc正ciN2教Lc§R6..vo..v”〈足R+e1l負(fù)y

ybyh9cn..P<c§R6S動(dòng)Xδ0

y3y.6\oYONe/NPfδ0

V華0—6{&~‘s?N〈iepRP<[iqg教h:

〈iepR—6{&

P<

0xf7dso—61

8

so—620xf8bd

0xf98so—63

7

0xf9eso—64

4

0xfa9so—65

0

6{&~‘s?

N-—61440

N-—62494

N-—63554

N-—64587

N-—65659

〈iepY

NK

Oxefa

9

0xf17

3

0xf30

7

0xf3c

8

0xf51

e

〈iepR

P<

0xfbef

0xfc6

2

0xfcc

7

0xfcf

6

0xfd4b

—6{&

ON—61

ON—26

ON—36

ON—46

ON—56

~‘s?

880

988

1109

1175

1318

~‘s?

220

247

277

294

330

3

SUrGg:?tz????{€fu5[Pt4

ON—7ó

ON—7ó

370

415

0xf64

c

0xf75

a

N-—ó6740

N-—ó7831

0xfb2

9

0xfbb

1

??—ó6

??—ó7

1480

1661

0xfd9

8

0xfdd

c

N”0[?e?/??epVhS?t

MCS-51SUrGg:Q…?èg2N*16OMv?S??z[?e?/??epVh?[?e?/??epVh0u1??epVhTHOT?TLO~?b?[?e?/??epVh1u1??epVhTH1T?TL1~?b?THXT?TLX?X=0,1?RR+N:N$N*8OM??epVh??Tc¥?wgeS?~?b16OM??epVh0[?e?/??epVhv?]?O\e1_u1e1_c§R6[WTMOD?bé,[?e?/??epVhv?T/P\u1c§R6[?[XVhTCONzzR6??ùN$N*[?[XVhWG\^N?ryk?R?[€?y[XVh0[?e?/??epVhv?]?O\

S?tVtY?N?Qvh8_?f/NN*R1??epVh?

R1??epVhv??Q2gN$N*gen??NN*f/Y?è?Q2n??S?NN*f/|?~?v?e?”?c/?a

Vh0_S?Q2n?N:e?”?c/?aVh?{I??–”?Q2^?R?e??u1N???epVh?Q2Thgv?T?b@N??Q2epNXN??Q2Thg\1f/[?e?e????kde?N:[?e?R?€y0_S?Q2n?N:Y

?è?Q2e??\1f/Y?èN?N?v???epVh?kde?N:??epR?€y0

—h

■M2

C/I=O

7

JL

%

R1

??epVh

%

%

TFX—N-e·

C7T=1

T/R¨OáS÷

?pe?/??ep?-v?~ó`BhF?p0X??;Q

5.1e1_[?[XVhTMOD

D7

D6D5D4

D3D2D1D0

4

GATEC/TM1M0GATEC/TM1M0

[seδ/〈iepVh1e!一[W[seδ/〈iepVh0e!一[W

SUrGg:〈bz〈認(rèn)〈i{efu5[Pt4

GATE=OeδyY.èN-e-OiS一NS括~”c§R6ykdeδySê%.c§R6OMy

TRO(TRI)N:1eδy[seδ/〈iepVh\1一Y輕〈iepyeN{iY.èN-e-OiS一v”u5^sN:so

.of/N:ON0

C/T:〈iepe!一.of/[seδe!一.béOMy一SN:0eδN:[seδe!一y一SN:

〈iepe!一0

M1T正M0diO\e!一.béOM0[i^”4yidiO\e!一y一S|i~BS動(dòng)uYOM

TMOTOMN:00

diO\e!一.béY,NVby

1eδN:

eδy

M1M0

00

01

10

11

diO\e!

e!0

e!1

e!2

e!3

Ryey

13OM〈iepVh

16OM〈iepVh

S團(tuán).êR“Q.^括.}v”8OM〈iepVh[seδ/〈iepVh0RN:N$N*rìz輕〈iepVhy

[seδ/〈iepVh1N:N2^LS關(guān)l關(guān)rys?S動(dòng)uVh

YsS關(guān)y,員SUrGg:fvc/N:12MHz〈認(rèn)[seδ/〈iepVh1O\[seδVhyN員e!一1]員

O\y[seδeδ.δN:5ms[seδ/〈iepVh0O\〈iepVhyN員e!一2]員O\yYuLS動(dòng)uNk!

N〈Nδ(NN*..Q2)SsN§un$Qi0

%關(guān)y[seδ/〈iepVh0v”RP<N::

5

SUrGg:?tz????{€fu5[Pt4

X=28-1=255=FFHSsSi?FFH??QeTHO,FFH??QeTLO0

[?e?/??epVh1v?RP<N:?

X=216-5ms/1Sis=EC78HSs?ECH??QeTH1,78H??QeTL10

e1_[?[XVhTMOD=00010110B=16H

5.2T//P\c§R6[?[XVhTCON

[?e?/??epVhv?c§R6[?[XVhN_f/NN*8OMv?ryk?R?€y[?[XVh?[W??

W0W@8:H,S?N?OM[?W@0Qvh<_Y?N?

TF1TR1TF0TR0IE1IT1IE0IT0

TFI(TFO):[?e?/??epVh1(0)n¢Qúh_×0_S[?e?/??epVh1(0)N§un¢Qúe??u1

xlN??n1,S?TCPUS?N-e-?÷lB0CPUTí^”N-e-T??xlN??êR¨n0,N_S?N?u1

z^?g??aTn0.

TR1(TR0):[?e?/??epVh1(0)T//P\c§R6OM?u1?oN??n1b?n0geT/R¨bQs?í

[?e?/??epVh1]?O\0

Qm0N-e-c§R6

6.1TCONu(N?N-e-?÷lB

TF0

IE1IT1

IE0

IT0

TF1

IT0:Y?èN-e-?÷lB‰?S?e1_0_SIT0=0e??ONu5^s‰?S??_SIT0=1e?,N–Ml?

‰?S?0

IT1Y?èN-e-?÷lB‰?S?e1_0O\u(TIT00

IE0?Y?èN-e-?÷lBh_×OM0_SS?N-e-?÷lBe???n

IE1:Y?èN-e-?÷lBh_×OM0O\u(TIE00

1,T&R?n00

6

SUrGg:〈bz〈認(rèn)〈i{efu5[Pt4

TFO:rGQ…[se〈iepVh0v”n$Qi〈政lBh一根OMY[seδ/〈iepVh0n$Qieδ,.n1YT&

R.n0.

TF1YrGQ…[seδ/〈iepVh1v”n$QiN-e-〈政lBh一根OMYO\u(TTF0.

6.2N-e-QA〈s[括[XVhIE

ESET1EX1ET0EX0

EA

EA:一N-e-h一根OM0一SEA=1eδYCPU一N-e-YEA=0eδYCPUQsN-e-0

ES:N2^LS關(guān)v”N-e-QA〈sOM0一SES=1eδYN2^LS關(guān)QA〈sN-e-YES=0eδYRNQA

〈sN-e-0

ET0(ET1):[seδ/〈iepVh0(1)v”N-e-QA〈sOM0一SET0=1,[seδ/〈iepVh0(1)n$

QiYQA〈sN-e-YT&RNQA〈s0

EX0(EX1):INTOv”N-e-QA〈sOMY一SEX0=1eδYQA〈sN-e-YT&RYNQA

〈s0

N0|i~BRg.:

7.1|i~B~括b

g,|i~Bu1wé-5..vo0blXδVh0LEDf>y:{ij!WWN.w~括Teb0Y,N:

7.2|i~B]員O\Syt

g,|i~Bbkc各..vowé-50f>y:c..0blXδVhS動(dòng)Qi[i^”—6{&0

7

SUrGg:?tz????{€fu5[Pt4

4X2?LR_?.v???R+Sêf>y:S?tY?N?

?x?.v???.v?g,??^&g[?s°c¥S?N;‰?R?€yb@—v?xlN?u5??0NN?€y

?êR¨hàmK??cNv??.?^v[?bS?b–R¨0–2N2?.{IR?€y?€N€ycDO?N??c

?.R?€y[ù^”v??.x?_€CPUb@N???x?.v?c¥S?{€SU0O?u(e1O?0OFu1

N?xlN?u5????YgB?Và€N÷h<???50

?.v?c¥S?_??{QwgS?b–R¨0–2N2?.0c?.??R+T??.x4N*Wúg,R?€y0

?1?S?b–R¨:b@?b–R¨f/cW(??R+??c?.f/_??{??_b–R¨r?

SêgYW(z3[?c¥?bz3[?e-_r?`bM€yOY?á??R+kcxneà??0

b–????S?????oN?^?e?bxlN?u5??‰?Q30

?2?–2N2?.?–2N2?.f/N:N?‰?Q3YN*?.Te?cNb€RMN

`?

S?

c?.

l?g‘êe>Sège°v?c?.cNe?N§uv?????0^8u(v?e1l?gSì?.?[?T?N

?.?nVTN$yíe1l?0?3???

c?.??R+?Y?OU??R+??c?.f/c¥S?‰?Q3v?N;‰??????N?,S?????o

xl~óTv?e1l?[?b0^8u(v?e1l?g?Lbkc?l?T?~?Sí?ll?N$yí0

?4??.xN§u?N:N?N??.v??LRWPh?x_—R0Síf?.R?€yv??.

x?N?,W(Q…[XS:N-^úz?NN*?.v??x?h????g??h?·_—??c?.v??.

x0u(AT89C52v?^v?LS?P1c¥4X2wé–5?.v??N?P1.0—P1.3O\?“Qe

~??W(epx{?Nf>y:k?N*c?.v?“1—8”^?S÷0

Qk0|?~?xlN?????

8.1|?~?xlN?`;OS????

g,|?~?u1?.v?wé–50LEDf>y:{?0blXeVh?ùQàN*?èR~?b?LEDf>y:{?f>

y:_SRMc?.?blXeVhS?Qú[ù^”—ó{&?g~è??‰?[?etv?oU1N?–kLfò0

8

SUrGg:?tz????{€fu5[Pt4

N?–—óNPf/??YNTv?—ó–6~?bv??€k?N*—ó–6[ù^”w@NTv??‘s???ùh7

bNì\1S?N?R)u(NTv??‘s?v?~?T?SsS?g?bbNìb@`ó‰?v?—óNPN??_Sq6[ùN?SUrGg:geN§uNTv??‘s?—^^8e1O??bNìS?N?R)u(SUrGg:v?[?e?/??epVhTOge

N§u?ùh7e1la?‘s?OáS÷?Vàkd?bNìSê‰?b?N?–kLfòv?—ó–6[ù^”?‘s?Qs|?kcxn

SsS?0

R)u(AT89C52v?Q…?è[?e?VhO?Qv]?O\??epVhj!_?MODE?N?e9S???

epP<TH0SêTLON?N§uNT?‘s?v?e1l?N§uNTó–60

8.2LEDf>y:j!WW

LEDf>y:j!WWY?Vt2-2b@y:?R)u(AT89S52SUrGg:v?P0z?S?v?P0.0

—P0.7?Tc¥R0NN*Nkμepx{?v?a—hv?{kμN(yùn)?epx{?v?QlQqz?c¥u5n?0

wé–5bkc?f>y:_SRMc?.j!WWY?N:

8.3blXeVhj!WW

wé–5bkc?blXeVhS?Qú[ù^”—ó{&j!WWY:?N

9

SUrGg:tz??{fu5[Pt4

8.4[P|?~??j!WW?u5?Vt

841Qq3gu5?Vt

842NOM_Qs

9.|?~?oN???

9.1|?~?oN?`;OS??

g,|?~?voN?mAzVtYN:

10

SUrGg:?tz????{€fu5[Pt4

9.2g,|?~?`;OSN?xY?N?

#include<reg51.h>

#include<intrins.h>

#defineucharunsignedchar

#defineuintunsignedint

sbitBEEP=PM7;

sbitSDA=P1A0;

sbitCLK=PM1;

sbitP12=P1A2;

sbitP13=P1A3;

uintflag,tO,n;

ucharm,q;

codeucharTable[8]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80};0epx{?f>y:

epcn

Code

[music]={0xfbef,0xfbef,0xfd4b,0xfd4b,0xfd98,0xfd98,0xfd4b,0,0,0,0xfcf6,0xfcf6,0xfcc7,0xfcc7,0xfc62,0xfc62,0xfbef,0,0,0,0xfd4b,0xfd4b,0xfcf6,0xfcf6,0xfcc7,0xfcc7,0xfc

62,0,0,0,0xfd4b,0,0};0NP?1

Codeuint

11

SUrGg:?tz????{€fu5[Pt4

freq[21]={0xefa9,0xf173,0xf307,0xf3c8,0xf51e,0xf64c,0xf75a,0xf7d8,0xf8bd,0xf987,

0xf9e4,0xfa90,0xfb29,0xfbb1,0xfbef,0xfc62,0xfcc7,0xfcf6,0xfd4b,0xfd98,0xfddc};

0ONN-??—óv??‘s?

voiddelay()

{

uinti;

for(i=0;i<5000;i++);

}

timer0()interrupt1

{

TH0=t0/256;

TL0=t0%256;

BEEP=~BEEP;

}

//^?e?Qyep

//S?XeQyep

timer1()interrupt3

{

n++;

TH1=0xd8;0[?e?50010*50=500

TL1=0xf0;065536-10ms/1us=55536--->0xd8fo

if(n==50)

{n=0;

q++;

TR0=0;

TR1=0;

}

}

voidsend(uchara)//N2^v?lcbQyep

{

ucharj;

for(j=0;j<8;j++)

{

if(_crol_(a,j)&0x80)

SDA=1;

elseSDA=0;

CLK=0;

CLK=1;

}

voidmain(void)

{

//N;Qyep

12

SUrGg:?tz????{€fu5[Pt4

ucharkey8_count,com,i,a,j;key8_count=0;

n=0;

TMOD=0x11;

//[?e?/??epVh0T?[?e?/??epVh1]?O\Ne1_1

EA=1;

//cpu_N-e-

ET0=1;

0[?e?/??epVh0_N-e-

ET1=1;

0[?e?/??epVh1_N-e-

TH1=0xd8;

//65536-10000=55536->0xd8f0

TL1=0xf0;

//th1=0xd8

TR0=0;

TRNá0;

//thl=0xf0

BEEP=1;

q=0;

m=0;

while(1)

{

//kLfò?êR¨_asˉd-e>if(q>=33){

q=1;m=0;

}

0?êR¨d-e>—óNPif(key8_count==3&&q>m){t0=music[m++];

if(t0==0){delay();q++;

}else{TH0=t0/256;TL0=t0%256;TH1=0xd8;TL1=0xf0;TR0=1;TR1=1;

}

}else

{

delay();

flag=0;

//_??bkc?

a=0x00;

P13=1;

send(a);

if(P12==0)

{

m=q=0;

com=0xfe;

for(i=0;i<8;i++)

{

P13=1;

send(com);

if(P12==0){

flag=1;

P13=1;

send(Table[i]);delay();

P13=0;break;

}elsecom=_crol_(com,1);

13

SUrGg:〈bz〈認(rèn)〈i{efu5[Pt4

}NN

if(flag==1)

{

for(j=0;j<5;j++){delay();

}

TR1=0;

TR0=0;

if(i==7)

{key8_count++;key8_count=key8_count%4;//u1~‘s?R$e-c..—6bed-e>kLfδ

if(key8_count==3)

{_

q++;

}

}

else

{

switch(key8_count)

{

case0:t0=freq[i];

TH0=t0/256;

TL0=t0%256;

TH1=0xd8;

TL1=OxfO;

TR1=1;

TR0=1;break;

case1:t0=freq[i+7];

TH0=t0/256;

TL0=t0%256;

TH1=0xd8;

TL1=0xf0;

TR1=1;

TR0=1;break;

case2:t0=freq[i+14];

TH0=t0/256;

TL0=t0%256;

TH1=0xd8;

TL1=0xf0;

TR1=1;

TR0=1;break;

case3:q++;break;

}

}

14

SUrGg:〈bz〈認(rèn)〈i{efu5[Pt4

}

}

}

}

}

SA0〈bz〈認(rèn)〈ibgcy

〈bz〈認(rèn)〈i~ogcT正%.lBNh7yey[之s。y1yeyN§u~一—6yy2yu(..voN關(guān)fyu5[P

y3y

t4v”..voyc§R6oYO—6NPy^vh9cn..P<c§R6S動(dòng)Xδy

oYONe/NPfδ0

SAN0N*N。、;~oy

..?N$Thv”〈bz〈認(rèn)〈iyb[fR0Nf_換Yy.階N〉NN括N括\@一PN2]éViYN、Nf〈bg,Nw員〈足p1y.o.;p%Nf.ê]iRg..各~~N員S及R…bK[之一EdiO\v”eyR〉y\N員RM[f.?

v”一δecv”w員〈足N2R0N.wQ。[fN員.δu(0\~括N$N*N。..eδ.δv”〈…〈。N員S及正〈負(fù)yg,

|i~BWig,N[之s。NfcN..vowé一5N-v”c..OO.epx{if>y:_SRMc..yblXδVhd-e>[i^”v”—6{&yTeδSUN*z^.N_eyd-e>kLfδyN.3NKYW(N2Ney\c..T正d-e>—6NPv”z^.Ney[正.2?.TySêeyW(N[SfVδQ…ni.3c..bd-e>kLfδNyi

—%.00

g,k!~iT〈認(rèn)〈iN;%.m%S及xlNδT正.oNδN$e1—bv”Q…[y.?.階k!〈bzybv”xlNδT正.oNδ_S動(dòng)eyR〉.yf·_—NfcDSo0m一QHxlNδe1—byfδRqy、1NUrGg:v”~og”N員S及[fv”[之u(yWig,Nf%關(guān)Nfu5[PN§T括v”_S動(dòng)mAzT正@.PZv”]員O\0Wig,

c正ciNfC51^v〈認(rèn)〈iNfNN*SUrGg:g\|i~B0..?C〈ís.zv”.?zyO.b[i

C〈ísv”.zeyR〉T正C51SUrGg:v”RyeygNffδmi\Bk!v”t%關(guān)yqy、%NfNN〉SU

rGg:^8u(v”YVδu5.團(tuán)_.T正.備c呈e1l負(fù)yY,LEDepx{iy..vo{Iy^vNb[fO

Nf.GR0.各~~%.Rg..各~~S及%關(guān)Q3.各~~v”eyR〉yRmiNf[ib@[ft〈。w員〈足v”t%關(guān)T正

15

SUrGg:?tz????{€fu5[Pt4

?Du(0bv?R¨bK€yR?_—R0N?_?Y'v?cD???\$Qvf/Va–TO\T?l??N¤mA€yR?_—

R0ff>?;p?0

k?k![?–Ev?~?S??yO~ù?ê]?^&ge_?Yb€€yv?cDSG??}q6s°W(v??ê]?

??N?N?f/NT[fu?S?N_\1f/[fuv?Ne-[fN`T?Re°?NN*SèNN*Re°T???ke^&geN?um;v?N0[ì?b?cá[????b\1\ge?a?"€^v???R?~ùb^&gev?e6

?·?N?Tf?RRaR?0

16

SUrGg:?tz????{€fu5[Pt4

S?€e?s.:

[1]_mO.SUrGg:C?í?z^?????[??-100O?.u5[P]?NQúrHy>.2009^t

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論