久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 7218|回復: 13

我自己用單片機做的電子琴

[復制鏈接]
1#
發(fā)表于 2009-10-7 13:40:44 | 只看該作者 |倒序瀏覽 |閱讀模式
本帖最后由 jili1986729 于 2009-10-7 13:42 編輯
3 J: w" ^, b% ]
# v, D; G# h5 H7 P1 i我自己用單片機做的電子琴,比較簡單,用了一個功放,自己做了個矩陣鍵盤2 l2 @: R7 \% K( B
單片機應該用892051,這里89c51,有點浪費9 Y% J. O+ r: T+ u: x& p' c

2 |1 X! o9 n4 N! I程序:
+ b; G& L2 o4 b' k" N( CORG 00H6 p) W" m2 [2 a
AJMP START
4 M  ~3 B+ `5 J7 H, yORG 001BH
6 j2 I' `( K. q( m2 w7 mLJMP TIME1
+ i. i* \  i' o3 nORG 30H
0 i7 E+ Z9 F, l, k+ PSTART:MOV TMOD,#10H& K+ ~: Z3 p: G" B* ^) X9 q
      MOV IE,#88H
1 x0 i4 F) h, dKEY:SETB F0* u7 Q% L2 N9 g' o
    CLR EA7 p1 [) }& L; {" @& R
CLR TR1
: g& Z6 Y: V/ g$ c6 _7 h. e- d    MOV P1,#0F0H% u; t' d- X* C# B5 M* F
KEY1:MOV A,P1( A# D1 D3 h" T
  CPL A) u9 `8 I7 k5 Q& a! Y# U' g, s7 X
  ANL A,#0F0H
" F  I3 s* x0 Z) x  JZ KEY  ?- u+ f# }! W
  CLR F0
# W8 Z. N% R, @' ?3 Y- @L1: LCALL SKEY
+ v2 R  f- Z  R2 p2 r  CLR EA
. _9 ~2 b5 S% \  CLR TR1% X2 J; |; q  C# V" W
  JB F0,KEY
: {( i" x2 y  j. IMOV 22H,A. A0 Z: Q  X1 i% t  x
   ADD A,22H8 b/ q; ^3 y% H: Q' c
   MOV R3,A. C0 k5 d% }: L+ u  U6 z4 n5 O; j$ j/ v
   MOV DPTR,#TABLE17 I! ?, `5 e4 t) x4 R1 v8 e
   MOVC A,@A+DPTR. B, Q7 n# j6 h1 r- l- Q. u8 ]
   MOV TH1,A
  ~& R5 C- q9 D4 x3 H: H   MOV 21H,A0 }1 f$ s5 C6 [5 {- [! R( W
   MOV A,R3
' h$ r9 w( M: w   INC A; Z- c/ }) j' M: V9 {
   MOVC A,@A+DPTR9 P6 {; I; Y6 D- k
   MOV TL1,A$ X6 N+ O# A: U$ A8 {
   MOV 20H,A
" B/ }, v7 A& [6 ]& U      SETB EA
9 v3 |) W9 N& ^. o2 K. O( u   SETB TR11 f; I8 }" E2 V5 o3 t) a/ ~( f
L2:CALL SKEY
- }) Z1 q. Z4 e* V2 ]   SETB EA
9 W% T1 z5 h9 q3 `3 U( a. t, Q! R   SETB TR1
' v: X) p" V! w* E' n, N& j   JB F0,KEY
/ d  }7 x) w" _$ j3 U   LJMP L2
8 t+ t2 b* r- |( sSKEY:MOV A,#00
' c& V: Z3 T6 A+ |, v8 i8 F3 d& A     MOV R0,A
' a' h. q% F3 e9 v, o  MOV R1,A3 N; u+ P7 z# f- n5 R
  MOV R3,#0FEH
0 N0 I7 e$ o( A" @) A8 x; @# l5 {: H7 hSKEY2:MOV A,R3, }5 W) g) O; T, o. l( c. u: w, z
      MOV P1,A3 w' Q) m2 h2 g1 o6 L3 I
   NOP) Z5 S. w* y$ p1 g7 F8 X
   NOP. _* i: W8 Y* r
   NOP
* E# |2 p+ m8 D' s   MOV A,P1
# k; n% p0 M; q. h   MOV R1,A& [4 T: _  r* i4 ~) `) K) V
      CPL A
2 F: N, B; _) u   ANL A,#0F0H& U8 |' u& B: I9 U/ J, W
S123:JNZ SKEY3+ r7 a0 [7 L2 R4 _' |
  SETB F0
0 r$ I: M4 b; @/ ?     INC R0  k5 l# R. W8 |1 x- A5 B
  SETB C
8 f- ]: H5 B5 O9 |  MOV A,R3# h' n3 u/ c/ r; A4 U6 m
  RLC A
( z3 r+ l* g, ~+ o; I  MOV R3,A
* C2 E2 |# F& s% K1 N* M0 F' [8 f  MOV A,R0
/ I! Q, U/ ~" c! a; S  CJNE A,#04H,SKEY2
" R! H4 q/ D6 D: IEKEY:RET
0 j5 _3 |' U+ x5 o* w! RSKEY3:CLR F0/ f- s6 P( P! C: z4 w  s
      MOV A,R1
' x- I; u1 B" [+ A7 q- M* \9 l* F  _$ R      JNB ACC.4,SKEY5/ d2 p  u5 u3 x
   JNB ACC.5,SKEY6
+ ?8 }% o! h( K6 S$ x  @2 P   JNB ACC.6,SKEY7! B  c. U+ R3 _) i% i" L9 e
   JNB ACC.7,SKEY8* K' W5 e# p- L3 p6 n% s* Y
   AJMP EKEY, j% _; L; L- H4 e
SKEY5:MOV A,#00H! i  q/ L1 q5 L2 Z9 z; F. j
      MOV R2,A
" E. Z( b! E% H) ]; ~' U8 }' F   AJMP DKEY1 d8 {+ h2 S* I' v. t6 Y
SKEY6:MOV A,#01H& W0 I/ l- n! ^- i# W! f, }, B
      MOV R2,A* U) f. Y4 P1 p3 S6 b- _( A
   AJMP DKEY' B9 [4 ]! A+ h$ i+ O3 {8 K( z* F, ~
SKEY7:MOV A,#02H- X8 y' a5 z0 r, u% u( n" f
     MOV R2,A
+ i: T. {+ o+ M  AJMP DKEY
: k" d2 V* z% w# h7 w/ H% cSKEY8:MOV A,#03H
6 X2 S! _; g+ I1 `/ `7 T: {      MOV R2,A6 m# C% P+ g8 H  x
   AJMP DKEY' Y' g0 o! R3 O1 H& s
DKEY:MOV A,R0
# p) Q9 g0 G' t; b; n& v     ACALL DECODE6 ~0 ^0 R9 g  M8 y0 L( [7 ~
  AJMP EKEY( |. A- x" n9 K+ |2 }  A
DECODE:MOV A,R0
( D. |5 O1 `/ w: o6 A       MOV B,#04H
( H4 D: W) O4 k$ u+ `5 t    MUL AB3 d: w5 V% P$ e
    ADD A,R2
( ?- S6 N; j9 ?* p4 Y. q    RET, G+ w5 k% h7 G# p' c
TIME1:   PUSH ACC: L: g5 V, F% w+ Q) J, D/ D
      PUSH PSW
( E; t+ X1 w% O- _. h. x$ ^: L   CPL P2.42 V8 p* N; d/ Y3 S* Q; z
   MOV TL1,20H- {3 v) g, O7 ]: K8 a5 D
   MOV TH1,21H" H  S. s- W" m6 o' N
   POP PSW
, n" W4 c  P! S   POP ACC/ z3 a# R/ z2 z6 q5 w/ @
   RETI
1 K1 p* y/ H3 Z/ nTABLE1:  DW 64021,64103,64260,64400,64524,64580,64684,64777
5 t' C- ~4 G* u" V8 ?& |% k3 E% P       DW 64820,64898,64968,65030,65058,65110,65157,651783 z, h+ d. q; e- @) g$ J
END

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有賬號?注冊會員

×
回復

使用道具 舉報

2#
發(fā)表于 2009-10-8 06:51:24 | 只看該作者
jili1986729 網(wǎng)友好!/ q6 X# q' Q4 w6 v8 Y, A' Q/ c  r
.
$ F5 K0 [, Z5 E4 c0 k進入任何一門“陌生”的知識領域,選準正確的路徑由為重要,會使你少走彎路。4 W$ r8 R$ }+ k9 h
.
& o3 R! @7 p7 F& c9 ?4 }) o匯編語言,是在計算機技術發(fā)展的過程中,由機器碼走向高級語言的過程中的一個
. o/ p( Y4 R: `' ]1 w* t- W  l8 O過渡語言,當出現(xiàn)了能做底層操作的高級語言的C語言后,匯編語言就應該從高校的
6 D- O# i' h$ I' ^% h* u/ A2 Q- j2 S教材中清除出去,以免浪費學生的精力,以提高學時的有效性。( U& z2 T7 w7 ^! I5 s# c3 w  t. W
.
5 {7 A- K) A2 O我國高校教材的更新存在著滯后現(xiàn)象,做為學生應該學會取舍。) z- K8 o  E) c2 K" q$ s' D
對此,我能給出如下建議:, r! ~- L/ ^/ [  N! w/ N0 Y$ q
." V# P8 X- k" H/ F
1、學單片機應該改用C語言,而拋棄匯編。* Y' E# ~% u2 y. x1 x* g
2、應該盡可能的設計出一套自己專用的萬能板,以應對“所有的項目”。' q) T0 H& ~$ W$ J
3、一定要在畫專業(yè)的PCB電路板方面下足功夫。. F' k) [7 u8 X) K% `3 X* W) Q
4、……
( i+ q9 n3 U0 x; B1 m( T! A' U5 b.8 B& C$ D- N2 V
syw  091008---06.51
3#
發(fā)表于 2009-10-8 10:21:03 | 只看該作者
不錯啊,我在學習!
4#
發(fā)表于 2009-10-8 13:27:28 | 只看該作者
現(xiàn)在用C語言的比較多
5#
發(fā)表于 2009-10-8 14:42:44 | 只看該作者
嗯 不錯 其實不應該叫電子琴  這個離電子琴遠啦  不過能自己動手做東西還是很好的
6#
 樓主| 發(fā)表于 2009-10-8 18:42:02 | 只看該作者
恩,謝謝提醒。
: S9 F* @% W, V" A因為在學校里學的是匯編。: A/ e5 {5 f- y! \5 m: ]( b
現(xiàn)在正在學習C語言,感覺C有它的好處,但有時匯編語言也有優(yōu)勢
7#
發(fā)表于 2009-10-9 11:21:54 | 只看該作者
造車總工; l% x" G1 c  r0 D$ A2 B5 e7 j4 ?  [8 I
現(xiàn)在的C語言支持底層編程,能大體說說優(yōu)勢嗎?我有10多年沒用過匯編了,記得96年用C編了段程序,用工具轉換成低匯編,程序量太大了,而直接用匯編編程,短短的幾行就可以,不知道現(xiàn)在支持底層編程的C這方面改進的怎么樣了,多年沒接觸單片機,以為大家還都在用匯編呢
8#
發(fā)表于 2009-10-17 17:18:27 | 只看該作者
牛人
9#
發(fā)表于 2009-10-17 19:54:55 | 只看該作者
在學校時摸索的用用也挺好
10#
發(fā)表于 2009-10-17 20:50:37 | 只看該作者
對于很多低端的單片機,還是用匯編比較多,因為考慮到匯編可以更加精簡,可以節(jié)省很多程序空間,這對于低成本的單片機來說尤為重要。原因很簡單,你如果程序量太大,就只好選用程序空間更多,也更貴的單片機來做。像義隆,中翰等單片機都是用匯編的多。* Z$ z0 S7 i* o/ X0 @% {
不過,現(xiàn)在的趨勢上,單片機的程序空間越來越大 ,成本越來越低,用C成為了大勢所趨。
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

Archiver|手機版|小黑屋|機械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-7-13 22:18 , Processed in 0.072346 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表