机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 6405|回复: 13
打印 上一主题 下一主题

我自己用单片机做的电子琴

[复制链接]
跳转到指定楼层
1#
发表于 2009-10-7 13:40:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 jili1986729 于 2009-10-7 13:42 编辑
$ [2 k7 _: u. t% |1 }4 z  \, _( d5 q" H3 S" a- Z
我自己用单片机做的电子琴,比较简单,用了一个功放,自己做了个矩阵键盘
9 X& C: e+ D; S# u: Q' F4 F单片机应该用892051,这里89c51,有点浪费" i& y) l! U4 r

; [& {. q+ g8 z5 i7 a! B( G9 Y+ V程序:) c3 p- Q7 ?" }8 G3 Y
ORG 00H
* q; C, a, L* E% _) mAJMP START; B( P; m7 Y5 t0 }5 p# I$ [
ORG 001BH
8 N1 O7 @9 t' x) ]LJMP TIME1
( G8 z# t- L+ h6 n% H& bORG 30H# h5 x4 U' c$ }$ ^6 Y9 E0 p
START:MOV TMOD,#10H, _$ k1 j/ ^8 _: O1 d& m
      MOV IE,#88H
. q! b$ y# p$ @" rKEY:SETB F0
  w, `7 D. e# Z$ p+ u3 s- [6 v& `    CLR EA4 s# B$ v5 Q- B" V% N( V$ l% N
CLR TR1
) u' M9 b- d! \* i8 P  W    MOV P1,#0F0H, w* E/ H4 K% N/ W
KEY1:MOV A,P1
) H  [9 H7 G* X  CPL A$ \+ R6 U$ m4 G0 C0 c0 F/ k8 g
  ANL A,#0F0H
9 Z0 [# ?* {. {5 A* t% m" M  JZ KEY- J( f$ P; j. x) v3 N" t/ B) Y
  CLR F0; q# I0 A4 w. X5 g9 _
L1: LCALL SKEY
- S3 X% B4 z9 n6 I* l5 ]  CLR EA
% H7 S1 J2 g9 m0 O6 g+ u+ l  CLR TR1
, j4 g! c. E5 ]! i) F  JB F0,KEY9 C3 F# f# |# c5 Q- u& i0 p& g$ N
MOV 22H,A1 L3 k0 b5 I1 U+ ]( a
   ADD A,22H
' ^# F/ C& x0 z0 o3 p   MOV R3,A! u5 z. i0 M, g2 V6 o
   MOV DPTR,#TABLE1
, E: g/ y0 v$ m3 g1 ]   MOVC A,@A+DPTR
/ l, p. Q" I$ I9 J: }# a   MOV TH1,A
3 E# \$ x5 ~( D4 s4 Y) {5 P+ Z   MOV 21H,A
: l- |+ J* {$ O9 V9 m* K" Q   MOV A,R31 l! u, S) D3 ?3 C
   INC A4 @5 i  {" X6 b
   MOVC A,@A+DPTR! m* K7 s3 i) Z3 g
   MOV TL1,A) m4 F/ Y* E: W/ p9 B$ p! ~$ t
   MOV 20H,A9 o# u8 n% e. X* m. X1 ?
      SETB EA
5 H% |8 v+ j- f0 a& c0 ]! {( g   SETB TR10 b  a2 E- h! R3 r) T+ b, n7 u
L2:CALL SKEY. A3 v4 A2 o0 _, ~7 |
   SETB EA
# w3 t. ]9 n0 v# Y+ |   SETB TR1/ X+ V: U7 h( a3 U2 m( A2 i
   JB F0,KEY
: G- i! Z* m( ]( m   LJMP L2, _( D$ d5 o; g0 s+ N+ u9 h; x! j
SKEY:MOV A,#00
) ?; u- H& {$ G1 c$ _8 z7 ~$ C: Q     MOV R0,A
* S  C' D6 ~. i$ J' I- \/ U  MOV R1,A: n% Z/ Z: a5 Y9 w
  MOV R3,#0FEH3 B$ K! i+ C+ a1 b, |
SKEY2:MOV A,R3
" M! Z- }7 W3 a      MOV P1,A5 ^* L8 t9 F3 t  b
   NOP% n5 d' H- }. @
   NOP# ~+ V# p3 A1 h8 P
   NOP2 v' \. d$ V" V9 M( @% ^' K
   MOV A,P12 h' i# a" W  y4 B( T" ~% b8 s
   MOV R1,A+ ?9 a# ?$ L& Z  a5 R
      CPL A( X% Y# u+ X& ?  ?4 _5 {
   ANL A,#0F0H5 i3 W3 O* t" B  m6 X2 ]
S123:JNZ SKEY32 Y- P. `! J" k$ \! d# n8 r3 B
  SETB F0" D+ I' K: {& p- m  T
     INC R0& u! J& {% W4 z5 {0 [- P! B
  SETB C& q& u9 a! T7 G
  MOV A,R3! W) Z! n8 V* o9 ~1 I
  RLC A
0 |( ]" n' @* B# E, Q5 E7 x# Z  MOV R3,A
' Q2 G$ M5 @# R1 w  MOV A,R0) x+ ?5 k0 f3 O. v+ b
  CJNE A,#04H,SKEY2
0 [' B; q4 O' ^" Y( p3 c7 vEKEY:RET- _" q$ P9 L" R* a
SKEY3:CLR F0/ ?4 ]; T5 G# E3 |' m; w5 Y+ A
      MOV A,R1
7 [; ]: V* v* n& M* S. G/ i      JNB ACC.4,SKEY5
- A4 n' G2 l. S: v   JNB ACC.5,SKEY6
/ Q8 ?9 Z) u1 m1 K: ~$ t   JNB ACC.6,SKEY7
: ~# r0 v/ K  R" k/ f7 x   JNB ACC.7,SKEY8
4 ?/ r2 I* |7 f# q- d# N3 q   AJMP EKEY
  F+ x! ^! D* u! _4 FSKEY5:MOV A,#00H
2 k8 L5 q1 y' P# P6 {9 U      MOV R2,A
$ R$ o+ ]' L9 s& x$ E9 M  Z   AJMP DKEY
0 J2 y' c  i3 Z  @9 RSKEY6:MOV A,#01H+ q% O3 l# T4 j. E2 _4 i8 U" L
      MOV R2,A1 Z5 w- I% y8 j7 [( v
   AJMP DKEY) i. q3 T# N; Z' l9 d  ~$ f
SKEY7:MOV A,#02H
9 u* H: V9 F7 J! f" ?) S     MOV R2,A
- T( f$ h/ A  S+ `% j  AJMP DKEY9 K% Z. R$ R: R" D) U
SKEY8:MOV A,#03H
4 x" j5 u' [# ^" z, B2 E, m      MOV R2,A4 `' c: M- P/ Y% }  ~
   AJMP DKEY3 p3 L9 v6 U) n4 w5 M+ x9 P% X
DKEY:MOV A,R04 L6 B% o( T8 L5 M
     ACALL DECODE
0 ]3 k" Z& ^* V- q  AJMP EKEY
1 b3 C: t8 z  m+ mDECODE:MOV A,R0  H9 ]' z* K* z% R: S. E( h- ^
       MOV B,#04H
8 t5 n$ b3 c/ M    MUL AB
4 U; I; I; ~- X1 Z  y' l% e    ADD A,R2
6 A1 O, E" C* v/ P' v/ q    RET2 s$ E- g6 U! K$ r, d$ b" v0 q
TIME1:   PUSH ACC
9 Y- [1 {" S$ M- k0 r2 l9 X      PUSH PSW
* a6 h( f- c( X   CPL P2.48 ^$ u/ v& w/ l' w
   MOV TL1,20H
/ p7 w7 Y* U# T, r2 p   MOV TH1,21H- c; A9 U9 Q  ], l  d- H
   POP PSW1 \( _; S5 o& Y/ M( R( U
   POP ACC
) v8 u' x# d, l( V3 }& g   RETI: i' Q0 B, c. V, X; I
TABLE1:  DW 64021,64103,64260,64400,64524,64580,64684,64777
2 {; \7 Q/ H9 I       DW 64820,64898,64968,65030,65058,65110,65157,65178
" Q, ]3 U: m* I+ e, yEND

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
回复

使用道具 举报

14#
发表于 2010-1-16 21:57:23 | 只看该作者
比较简单   不过手工制作牛比
回复 支持 反对

使用道具 举报

13#
发表于 2010-1-16 21:52:37 | 只看该作者
楼主的单片机学的真好   羡慕死我了    上学那会老师讲单片机硬是听不懂
回复 支持 反对

使用道具 举报

12#
发表于 2010-1-15 23:25:17 | 只看该作者
谢谢楼主提醒
回复 支持 反对

使用道具 举报

11#
发表于 2010-1-12 14:08:08 | 只看该作者
本帖最后由 hobbylinux 于 2010-1-12 14:09 编辑
- A- I# R4 {9 H; D1 M( ]
jili1986729 网友好!+ K5 `. F2 ]. Z" _0 q5 F. O' A
.
- z( _1 {# H2 a8 v9 a: x进入任何一门“陌生”的知识领域,选准正确的路径由为重要,会使你少走弯路。0 d2 s! R6 W+ O/ N* q& \' J! q2 `1 {  A8 w8 t9 o7 @
./ ?2 f; Q) B; i4 H: N; V# D( X6 w5 f1 F' W/ y- j! C
汇编语言,是在计算机技术发展的过程中,由机器码走向高级语言的过程中的一个过渡语言,当出现了能做底层操作的高级语言的C语言后,汇编语言就应该从高校的: u+ K! w5 C* f/ i5 W* L7 f1 f8 T9 m8 R3 Z9 s6 g
教材中清除出去,以免浪费学生的精力,以提高学时的有效性。& P4 |& h; W3 G* w7 f
我国高校教材的更新存在着滞后现象,做为学生应该学会取舍。6 y: q/ r. t& [- P
对此,我能给出如下建议:5 Z" U3 ~7 A2 r6 [- S0 e& l
6 l6 y  c9 L
3 Z9 x1 l1 K2 S+ r& Q1、学单片机应该改用C语言,而抛弃汇编。, }' A( l  I5 L+ [; h
& Y7 h, z9 i+ T: B2、应该尽可能的设计出一套自己专用的万能板,以应对“所有的项目”。
8 S8 z) O" e+ @- G3、一定要在画专业的PCB电路板方面下足功夫。: F) F* t$ j6 k4 h" ^, K) ~  X
0 a; T4 a2 k5 {0 A! B0 e7 |4、……$ Z& r$ @& j  H) f# X0 e
syw开门造车 发表于 2009-10-8 06:51

" ~7 s, X8 @& K& f) b3 {! O5 \# {. ~0 M: q& P9 D; x
syw开门造车 兄的话真是有深度,也讲得很对,
3 R  B# v% j/ B8 L我认为还要锁定好是学什么

  G3 t7 b. z6 {4 }: S0 e片机,AVR?或其它。! \9 K/ ]0 ]5 v- n5 a
问题是,电路不懂的话,应该从哪里下功夫?
回复 支持 反对

使用道具 举报

10#
发表于 2009-10-17 20:50:37 | 只看该作者
对于很多低端的单片机,还是用汇编比较多,因为考虑到汇编可以更加精简,可以节省很多程序空间,这对于低成本的单片机来说尤为重要。原因很简单,你如果程序量太大,就只好选用程序空间更多,也更贵的单片机来做。像义隆,中翰等单片机都是用汇编的多。. O8 Z. g! P9 x6 `% x
不过,现在的趋势上,单片机的程序空间越来越大 ,成本越来越低,用C成为了大势所趋。
回复 支持 反对

使用道具 举报

9#
发表于 2009-10-17 19:54:55 | 只看该作者
在学校时摸索的用用也挺好
回复 支持 反对

使用道具 举报

8#
发表于 2009-10-17 17:18:27 | 只看该作者
牛人
回复 支持 反对

使用道具 举报

7#
发表于 2009-10-9 11:21:54 | 只看该作者
造车总工0 v6 I( h, \7 y$ w
现在的C语言支持底层编程,能大体说说优势吗?我有10多年没用过汇编了,记得96年用C编了段程序,用工具转换成低汇编,程序量太大了,而直接用汇编编程,短短的几行就可以,不知道现在支持底层编程的C这方面改进的怎么样了,多年没接触单片机,以为大家还都在用汇编呢
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2009-10-8 18:42:02 | 只看该作者
恩,谢谢提醒。/ p9 t# n# x, |7 a0 v
因为在学校里学的是汇编。
! M5 Y8 ^5 Y$ ?: q% Q# s( }  B/ D现在正在学习C语言,感觉C有它的好处,但有时汇编语言也有优势
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2024-10-15 21:14 , Processed in 0.060113 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表