人妻暴雨中被强制侵犯在线,亚洲国产欧美日韩精品一区二区三区,四虎影免看黄,国产无人区二卡三卡四卡不见星空

 找回密碼
 注冊(cè)會(huì)員

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7228|回復(fù): 13

我自己用單片機(jī)做的電子琴

[復(fù)制鏈接]
1#
發(fā)表于 2009-10-7 13:40:44 | 只看該作者 |倒序?yàn)g覽 |閱讀模式
本帖最后由 jili1986729 于 2009-10-7 13:42 編輯 5 C5 w% J$ Q4 W0 K% W" z

* h- F( [, x' }我自己用單片機(jī)做的電子琴,比較簡(jiǎn)單,用了一個(gè)功放,自己做了個(gè)矩陣鍵盤
0 ~$ i$ d( K, ]; K: j) P單片機(jī)應(yīng)該用892051,這里89c51,有點(diǎn)浪費(fèi)
& {9 W$ z: _4 j" W. z9 r
9 S, }. b# [# @程序:
. [1 U7 v# f  gORG 00H# [  m2 L& A1 }8 ]4 d
AJMP START
9 k  D2 L' C* E& t, ]- sORG 001BH3 p; F$ D0 b6 z3 f# g$ s
LJMP TIME1
6 K% A: f3 R+ r! I0 _- o- SORG 30H
: L; T+ \' V7 h0 T5 f: j* B! rSTART:MOV TMOD,#10H
; d9 e9 X" s# }0 @; ^8 G: b      MOV IE,#88H+ B: H# r& x: N" y( g1 ^# x
KEY:SETB F0
' C; C. B( C1 G' u* U8 A    CLR EA0 D  m2 e0 L5 w& b/ V
CLR TR1
/ J, g0 h' Y6 b, C& }    MOV P1,#0F0H, [' W7 J' r, ]- `
KEY1:MOV A,P1
  m- W0 `9 T( |  CPL A
* A9 H# j; g- }7 S$ N  ANL A,#0F0H% H4 K( v( g5 e! S) P1 A
  JZ KEY
2 [3 Y; U8 w# Y  `  CLR F04 @8 U' e( A- v$ \* x5 }7 D6 ?! X
L1: LCALL SKEY
7 m: T' R. u; v" o8 N/ m+ a  CLR EA/ \/ l' G/ ?) `6 W* n+ v/ _
  CLR TR1
  }+ M( O- l  u6 ~% Y( s* `  JB F0,KEY
2 N1 H) d2 \$ sMOV 22H,A
* A, l- c4 f$ M& M0 L   ADD A,22H
1 n' w6 Z" P: D; A   MOV R3,A
7 l# h7 {4 ^+ {   MOV DPTR,#TABLE1; @8 Q: |) A+ T9 O' P" ~3 N
   MOVC A,@A+DPTR6 Z. U( g3 M0 M" U
   MOV TH1,A
) L# R. q- r+ _5 @9 h   MOV 21H,A4 o' Z; ]- y) k+ [/ {7 ?+ Q
   MOV A,R3
: W- `* k7 s; c+ O3 D1 S5 W& f   INC A
8 |# g/ l! h7 `9 h' n; T! S   MOVC A,@A+DPTR
6 `" R$ }' D3 V8 R% g   MOV TL1,A3 n) }( _: M5 ]  @( Q
   MOV 20H,A2 V' Z1 i5 Z" p, z9 |7 e9 \
      SETB EA5 B$ |) G4 B! P& ]) F: D
   SETB TR1
6 `7 a3 ^: n% \& k) _" q! J: hL2:CALL SKEY
. m' c1 p1 e% ?" y- e   SETB EA
9 N+ U6 q! @( M   SETB TR1( W/ z5 v' I! Y5 F& ?. D
   JB F0,KEY
  r8 B: \: S* h   LJMP L2* \; A) M" V/ H+ |% B
SKEY:MOV A,#00
4 ]1 n4 j! N+ x5 ~     MOV R0,A
2 y' P2 z3 }' J* x9 ^" t! P  MOV R1,A% ^9 w! }* I( r" E! p' f/ P$ @
  MOV R3,#0FEH
0 }! t- W. U( iSKEY2:MOV A,R32 ?( d; s) p! s$ W
      MOV P1,A% ~' g/ o$ `8 U$ W# H
   NOP
9 Q# ^- R' V# o% e7 s! {4 J   NOP- O' r; D9 j( m+ |' ~1 W. X9 w
   NOP3 A# D) p; e* M+ {1 j5 q
   MOV A,P1
0 O. _* r2 @( _6 Z& V   MOV R1,A
+ F' a7 [  }" A8 J3 ~: J      CPL A3 d' U: f. v6 ~# y
   ANL A,#0F0H
# D  {  _. h! c" X2 x! J, ?+ [: Q7 aS123:JNZ SKEY3
4 ?4 W6 ]4 X. H5 U  SETB F0( T% }. O# Q8 M0 r) H# }
     INC R0
: k5 q6 w3 ~) U* [  SETB C) |% E4 a% W# H/ v5 m
  MOV A,R3* J/ L4 G0 q) v2 a  W0 o) A
  RLC A4 j  Q4 R& h+ `5 I) N/ g
  MOV R3,A# X* g6 ~2 H) D! {3 e' a" q
  MOV A,R0( l! v0 \& Y+ h  \
  CJNE A,#04H,SKEY20 P3 R  Z/ m# N. Q! t7 j* v
EKEY:RET  z0 \* ?7 i) @0 P9 k. w$ J. u
SKEY3:CLR F0! p7 a: Z2 n2 ~
      MOV A,R1! c; m$ a/ |- e3 S$ |
      JNB ACC.4,SKEY5
" n2 A7 c& B: c' D   JNB ACC.5,SKEY6- U; q+ A; i$ C# B
   JNB ACC.6,SKEY7
% C% D2 R/ q' s   JNB ACC.7,SKEY8; p# ^/ }6 Z" C) P+ m
   AJMP EKEY
$ q. \2 c$ O* ~/ L& j: pSKEY5:MOV A,#00H6 u, t( G4 ^3 T8 p& e* [( i9 H
      MOV R2,A! o$ ^% l1 M* F2 s, T* s; c; f
   AJMP DKEY; u8 `1 J5 _/ Q
SKEY6:MOV A,#01H5 g5 ~6 L' T( P% T! g
      MOV R2,A# j5 n' d, y( U' U0 U$ n
   AJMP DKEY
7 @2 O  Q) y2 ^/ d" C( Y( e% E! }2 Q/ RSKEY7:MOV A,#02H
/ p  x8 I- X+ n$ C     MOV R2,A
! I9 I9 n' f6 B- P9 H4 b- E9 k  AJMP DKEY/ c$ k7 I- \5 k7 `% H" y
SKEY8:MOV A,#03H
" d6 Y) y' P) q1 \! e      MOV R2,A" X* L& Q6 m) U  _: t$ v) L
   AJMP DKEY) p" S' k1 {/ R; n
DKEY:MOV A,R08 U8 L* b8 W$ \0 O7 ^; ^( K; M! R9 n* @
     ACALL DECODE' q' H7 x- o. j. [4 r" L
  AJMP EKEY
9 a7 Z$ M7 ?+ A# P+ D$ b1 `DECODE:MOV A,R0
7 B- Z) X5 i, t# F       MOV B,#04H
$ p- w$ s: R3 Q" c6 A    MUL AB  Z. p  ]# N+ m) y
    ADD A,R2
1 P' @. l0 P5 n. l& E    RET  t" b6 Y1 |2 u. G- n& C" S( d3 d  Z
TIME1:   PUSH ACC$ [! x. S! O# f
      PUSH PSW
: a; T* a0 g: a5 {% \# r' `. a   CPL P2.4
. \2 C1 J' |3 x0 u4 \) {& R0 i   MOV TL1,20H# ]+ p& {. \' q" d0 t" U. I
   MOV TH1,21H
" y% {! {* G7 c( n' s   POP PSW8 k! ~7 @+ @9 h" ]+ N# U
   POP ACC
6 T( F8 o3 S9 {. e   RETI
- D( g+ V1 D( m3 r2 j& dTABLE1:  DW 64021,64103,64260,64400,64524,64580,64684,647779 x* a" ]/ p  g# E) F& z+ \6 X# R0 t
       DW 64820,64898,64968,65030,65058,65110,65157,65178
1 R$ }, k4 k$ Q4 d0 K2 NEND

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒(méi)有賬號(hào)?注冊(cè)會(huì)員

×
2#
發(fā)表于 2009-10-8 06:51:24 | 只看該作者
jili1986729 網(wǎng)友好!/ U" o' S- i& X0 a3 U+ ~: I" N
.
* M4 {6 V1 }4 |5 A進(jìn)入任何一門“陌生”的知識(shí)領(lǐng)域,選準(zhǔn)正確的路徑由為重要,會(huì)使你少走彎路。* z0 m+ |5 d% X; ^6 E, I
.+ f/ \+ f/ ^% v7 p$ y! q
匯編語(yǔ)言,是在計(jì)算機(jī)技術(shù)發(fā)展的過(guò)程中,由機(jī)器碼走向高級(jí)語(yǔ)言的過(guò)程中的一個(gè)1 z7 E* s" P2 g  k
過(guò)渡語(yǔ)言,當(dāng)出現(xiàn)了能做底層操作的高級(jí)語(yǔ)言的C語(yǔ)言后,匯編語(yǔ)言就應(yīng)該從高校的+ `# ?8 l' C/ I. s) N8 B2 i& S
教材中清除出去,以免浪費(fèi)學(xué)生的精力,以提高學(xué)時(shí)的有效性。3 n/ G! O7 C2 ^: e9 Z$ ~
.
& n: Y+ M( r0 J' u9 r( `7 {( z我國(guó)高校教材的更新存在著滯后現(xiàn)象,做為學(xué)生應(yīng)該學(xué)會(huì)取舍。
! f) ~7 e* y) }- C5 u$ v6 M對(duì)此,我能給出如下建議:
+ ~) U$ N2 S) k; n.7 J; |; b+ `3 T" v* z9 \
1、學(xué)單片機(jī)應(yīng)該改用C語(yǔ)言,而拋棄匯編。
( i; g! k) z! ^# b( o$ B0 a2、應(yīng)該盡可能的設(shè)計(jì)出一套自己專用的萬(wàn)能板,以應(yīng)對(duì)“所有的項(xiàng)目”。
5 W( L" `) |% a' B. w" Y3、一定要在畫專業(yè)的PCB電路板方面下足功夫。
1 c6 \5 Z6 R5 x: V4、……, L0 ?* n0 Y1 M3 k
.0 c+ D5 L  i# g3 R9 _% t
syw  091008---06.51
3#
發(fā)表于 2009-10-8 10:21:03 | 只看該作者
不錯(cuò)啊,我在學(xué)習(xí)!
4#
發(fā)表于 2009-10-8 13:27:28 | 只看該作者
現(xiàn)在用C語(yǔ)言的比較多
5#
發(fā)表于 2009-10-8 14:42:44 | 只看該作者
嗯 不錯(cuò) 其實(shí)不應(yīng)該叫電子琴  這個(gè)離電子琴遠(yuǎn)啦  不過(guò)能自己動(dòng)手做東西還是很好的
6#
 樓主| 發(fā)表于 2009-10-8 18:42:02 | 只看該作者
恩,謝謝提醒。
0 I! y# m7 y; D9 f" [1 A- t# q% k' Z因?yàn)樵趯W(xué)校里學(xué)的是匯編。1 _1 L2 O6 u4 q  S0 Z  m6 k. S
現(xiàn)在正在學(xué)習(xí)C語(yǔ)言,感覺(jué)C有它的好處,但有時(shí)匯編語(yǔ)言也有優(yōu)勢(shì)
7#
發(fā)表于 2009-10-9 11:21:54 | 只看該作者
造車總工
' L& `1 R% z* h' F現(xiàn)在的C語(yǔ)言支持底層編程,能大體說(shuō)說(shuō)優(yōu)勢(shì)嗎?我有10多年沒(méi)用過(guò)匯編了,記得96年用C編了段程序,用工具轉(zhuǎn)換成低匯編,程序量太大了,而直接用匯編編程,短短的幾行就可以,不知道現(xiàn)在支持底層編程的C這方面改進(jìn)的怎么樣了,多年沒(méi)接觸單片機(jī),以為大家還都在用匯編呢
8#
發(fā)表于 2009-10-17 17:18:27 | 只看該作者
牛人
9#
發(fā)表于 2009-10-17 19:54:55 | 只看該作者
在學(xué)校時(shí)摸索的用用也挺好
10#
發(fā)表于 2009-10-17 20:50:37 | 只看該作者
對(duì)于很多低端的單片機(jī),還是用匯編比較多,因?yàn)榭紤]到匯編可以更加精簡(jiǎn),可以節(jié)省很多程序空間,這對(duì)于低成本的單片機(jī)來(lái)說(shuō)尤為重要。原因很簡(jiǎn)單,你如果程序量太大,就只好選用程序空間更多,也更貴的單片機(jī)來(lái)做。像義隆,中翰等單片機(jī)都是用匯編的多。
: M, p4 G# J1 ]不過(guò),現(xiàn)在的趨勢(shì)上,單片機(jī)的程序空間越來(lái)越大 ,成本越來(lái)越低,用C成為了大勢(shì)所趨。

本版積分規(guī)則

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

GMT+8, 2025-7-16 06:07 , Processed in 0.069897 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復(fù) 返回頂部 返回列表