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

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 7239|回復: 13

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

[復制鏈接]
1#
發表于 2009-10-7 13:40:44 | 只看該作者 |倒序瀏覽 |閱讀模式
本帖最后由 jili1986729 于 2009-10-7 13:42 編輯 * e0 L: |$ {9 v% N

; O7 v+ Q% \( {& {4 {7 d$ e* s) _我自己用單片機做的電子琴,比較簡單,用了一個功放,自己做了個矩陣鍵盤
  Z# N8 u3 B9 b( W! W單片機應該用892051,這里89c51,有點浪費( ?$ @2 B1 r2 [& J# L

: W0 l, R$ d7 H7 _+ b  w$ d程序:- i5 ?/ O7 t5 T( l8 x1 J
ORG 00H
1 `  p+ W6 ^5 b9 @AJMP START
  J% D) }' |3 b6 f; U$ D( h" X9 R$ iORG 001BH! k1 D0 N0 u# f  L6 @. M- f4 D% j
LJMP TIME18 ^/ d& V+ u) d: r: f  U' y! C# q! z
ORG 30H7 i) R* D+ q% F) ~0 T* }/ I& D
START:MOV TMOD,#10H
0 I0 [5 y  B$ P# w0 l      MOV IE,#88H. u- K# _8 ~& ?$ i! B
KEY:SETB F0
% @5 l: N5 s$ D7 J- p    CLR EA$ }" I2 Y% \* F6 ?5 S( j, q
CLR TR1
% e& }! `+ f0 L5 F: G1 J8 M    MOV P1,#0F0H  q! B3 S. s/ r. y; Z
KEY1:MOV A,P1$ f0 \0 B/ _- h% l. V$ b
  CPL A" m; Y5 B. k" L, N7 K; ]
  ANL A,#0F0H
; C/ Q/ w3 H/ k4 d8 ^- H  JZ KEY
0 e: u  k% e. u) G  CLR F0
+ R7 |! v/ a1 b. sL1: LCALL SKEY
0 I0 W$ [: o, z- ?( b  CLR EA& l0 R7 ]& F' {3 O8 }3 ~- k# _' @- X$ P
  CLR TR1" }9 ]- f' J1 j2 [' H
  JB F0,KEY+ W- G( I* n7 X$ Y# M, ^
MOV 22H,A
$ ]( Q" ^  R/ r) |6 J8 t" J% z   ADD A,22H. u* x$ e$ T* a% k. R5 \
   MOV R3,A$ J/ b, i0 Z$ B7 N6 _- }
   MOV DPTR,#TABLE1: V8 ?% b7 O' t) {7 L7 ~
   MOVC A,@A+DPTR
# u: r# h! p. q* T3 @% ~   MOV TH1,A
$ x7 Q! w9 _3 U' F, n   MOV 21H,A( z+ i1 ^9 E9 h6 [* M' `0 C
   MOV A,R3
1 v/ Z: t' U0 q  ^& u& t/ F   INC A* j* N' w; @% s  E  H4 S
   MOVC A,@A+DPTR4 c: ]9 ^! c' {7 O
   MOV TL1,A0 R$ ~' n* C* ~( \0 z
   MOV 20H,A. p6 ~7 H; _. H8 a
      SETB EA4 Q4 ?( T4 w9 E: V, j
   SETB TR1
  j6 z5 r6 ^; e/ a# p1 q' g! tL2:CALL SKEY/ f! s( M  y% [5 ?0 }
   SETB EA
( Y: S2 b" w$ ~7 i0 Y   SETB TR1
/ f" S3 K- w4 }% J! T0 T* G   JB F0,KEY  Z$ }* k$ m$ z4 }
   LJMP L2
3 h2 a- {7 }( @/ q; s5 I+ p, e0 JSKEY:MOV A,#00
, ^0 s, t6 z" X" h4 k' r( a7 u- S     MOV R0,A
0 _2 D6 V! ?9 Q8 c4 E0 O* U2 R  MOV R1,A
, _" c# p3 c0 r  MOV R3,#0FEH
( m2 _6 s+ r! K) v3 }SKEY2:MOV A,R34 M: F% D- f+ D7 Y  u( }+ r6 O7 ]# }
      MOV P1,A
- m* a3 j/ g" v5 f1 A. q; T   NOP3 U* N' ]! N0 c  \1 c5 k! s
   NOP4 S; Y" i( w2 ~1 b: B' @
   NOP# W# N! B& {) K5 ~) S# x3 \
   MOV A,P1
/ m' b: S1 M1 O   MOV R1,A
, }! T* ]& t% ?' k+ u      CPL A
( x$ V5 t4 |! {& r7 m   ANL A,#0F0H
0 R  G# f5 r# t6 O' @7 ES123:JNZ SKEY3) _4 G( ]1 T/ h* g2 L3 }- X" P
  SETB F02 I- v4 n5 r2 ~6 k
     INC R0
- K( |' T9 w. t* C0 A  SETB C$ u6 _, x" S8 {: Z, B( K9 Q1 H
  MOV A,R34 H0 D9 c9 s6 N  e- K
  RLC A
2 o7 K; P7 U% `, W  MOV R3,A
( c' |( K7 u2 O' A  MOV A,R0
# r% F0 ~. p2 ?2 a2 \6 V) |0 m  CJNE A,#04H,SKEY2
: P5 c$ V7 s( U9 W0 fEKEY:RET6 G$ x9 m3 U; P
SKEY3:CLR F0
3 o/ f8 k" P" v/ K* g      MOV A,R1
& ]* s3 K, p  [6 G3 N" @      JNB ACC.4,SKEY5$ R" l! i, k- [' O/ i
   JNB ACC.5,SKEY6
% d% t% e( Q8 ]+ I2 Y" O   JNB ACC.6,SKEY7
3 {: {' S+ r3 x2 I* t  X) t" M   JNB ACC.7,SKEY8) C, A+ @* u/ k* a. s
   AJMP EKEY
8 X6 D0 a. ^$ A0 {5 h' CSKEY5:MOV A,#00H6 ^3 l$ D$ o1 B" I5 T9 H. B
      MOV R2,A& K( F% W9 M( c+ a% K
   AJMP DKEY: o0 S( S# r8 ~  s! A
SKEY6:MOV A,#01H4 O( f5 ?8 c8 l& h; ?6 [+ U' u
      MOV R2,A
$ I" `* o9 w% o5 T$ A0 _9 y   AJMP DKEY6 a+ ?7 K: |9 x
SKEY7:MOV A,#02H
0 P% r, K) O( b- o5 ^4 ~# s, G5 H     MOV R2,A
+ a2 B( q5 t' Z8 }, B3 H$ _$ v5 e  AJMP DKEY& o3 Q9 ?3 V3 [( j
SKEY8:MOV A,#03H  V" U, q+ ^1 m4 O
      MOV R2,A0 h& r# Z4 P4 t* V
   AJMP DKEY
2 C1 l+ `8 g# Y; R% L9 _4 PDKEY:MOV A,R0
2 t( p, [+ x5 \* v' r     ACALL DECODE
% k+ {& a- X* ^" ~  AJMP EKEY
/ ]! L( h& D' ^9 b% |# kDECODE:MOV A,R0' d4 {9 D- q1 b5 a7 |
       MOV B,#04H
2 |& Q0 S1 Q4 c1 Y    MUL AB: s! r$ O5 `) o" A" @
    ADD A,R2
' A8 x, c9 M7 H. e    RET
- J1 F2 u& l' z) k& S) t, KTIME1:   PUSH ACC
3 F" E; N1 u) Q# ^( n      PUSH PSW# z9 |, Y9 K3 m( \0 O8 ~1 \+ N. Y
   CPL P2.4- {' \5 u( Q  K6 t- O( Q* J
   MOV TL1,20H7 n/ t1 ?1 w* D4 t- c) c( D
   MOV TH1,21H
7 {# G  K: W  U1 c   POP PSW+ t( }( Z5 i9 N
   POP ACC! K. a6 f+ m% `! ]( B/ X
   RETI
8 N. ?  K9 e, D/ x/ ?/ A3 k' CTABLE1:  DW 64021,64103,64260,64400,64524,64580,64684,647776 n" M' O8 |5 ?
       DW 64820,64898,64968,65030,65058,65110,65157,65178
% g2 A2 d" G2 p  o6 P$ CEND

本帖子中包含更多資源

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

×
回復

使用道具 舉報

2#
發表于 2009-10-8 06:51:24 | 只看該作者
jili1986729 網友好!1 E' {! s; ]2 ?+ G8 k2 f  b6 C
.
9 E! i- }, F, `! y4 J進入任何一門“陌生”的知識領域,選準正確的路徑由為重要,會使你少走彎路。
& d0 k' a( f5 u8 C: H" j2 i.
. ]) _6 B& [: y  ?. k, |匯編語言,是在計算機技術發展的過程中,由機器碼走向高級語言的過程中的一個
- ]( g# K- P7 m1 b3 ~( m, n1 w" ]過渡語言,當出現了能做底層操作的高級語言的C語言后,匯編語言就應該從高校的
9 N0 t7 V8 P9 h5 V教材中清除出去,以免浪費學生的精力,以提高學時的有效性。( g" `7 \7 C# N( K$ `
.$ o! m( ]) k; o! y8 R, i
我國高校教材的更新存在著滯后現象,做為學生應該學會取舍。4 W, u6 h& i" A/ p
對此,我能給出如下建議:  T" l' b+ q: c
.
: y, _+ ]+ k6 ?# e9 t% w1、學單片機應該改用C語言,而拋棄匯編。* q: O. B, E5 K) O: c8 k4 B
2、應該盡可能的設計出一套自己專用的萬能板,以應對“所有的項目”。  }, \' g1 S- `- f# l' G% M) W
3、一定要在畫專業的PCB電路板方面下足功夫。
; O! h" w5 t2 l2 {$ Z4、……
  C% S3 ~: T. T" A.5 a) i5 Z3 u% ]5 }4 x
syw  091008---06.51
3#
發表于 2009-10-8 10:21:03 | 只看該作者
不錯啊,我在學習!
4#
發表于 2009-10-8 13:27:28 | 只看該作者
現在用C語言的比較多
5#
發表于 2009-10-8 14:42:44 | 只看該作者
嗯 不錯 其實不應該叫電子琴  這個離電子琴遠啦  不過能自己動手做東西還是很好的
6#
 樓主| 發表于 2009-10-8 18:42:02 | 只看該作者
恩,謝謝提醒。0 w, F/ ]7 e" O2 B, ]/ @( j8 s
因為在學校里學的是匯編。
- v$ d6 S( L4 ?. F5 h* j5 R+ T現在正在學習C語言,感覺C有它的好處,但有時匯編語言也有優勢
7#
發表于 2009-10-9 11:21:54 | 只看該作者
造車總工) ^5 s/ I$ c; \% Y+ [4 u
現在的C語言支持底層編程,能大體說說優勢嗎?我有10多年沒用過匯編了,記得96年用C編了段程序,用工具轉換成低匯編,程序量太大了,而直接用匯編編程,短短的幾行就可以,不知道現在支持底層編程的C這方面改進的怎么樣了,多年沒接觸單片機,以為大家還都在用匯編呢
8#
發表于 2009-10-17 17:18:27 | 只看該作者
牛人
9#
發表于 2009-10-17 19:54:55 | 只看該作者
在學校時摸索的用用也挺好
10#
發表于 2009-10-17 20:50:37 | 只看該作者
對于很多低端的單片機,還是用匯編比較多,因為考慮到匯編可以更加精簡,可以節省很多程序空間,這對于低成本的單片機來說尤為重要。原因很簡單,你如果程序量太大,就只好選用程序空間更多,也更貴的單片機來做。像義隆,中翰等單片機都是用匯編的多。
, U$ s8 I. p  ]1 L; V& w% P1 {4 V) t不過,現在的趨勢上,單片機的程序空間越來越大 ,成本越來越低,用C成為了大勢所趨。
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

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

GMT+8, 2025-7-19 10:22 , Processed in 0.086513 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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