标题: 51单片机汇编语言七个音阶的电子琴实验代码+Proteus仿真 [打印本页]

作者: yangzhen999    时间: 2020-6-25 18:40
标题: 51单片机汇编语言七个音阶的电子琴实验代码+Proteus仿真
利用七个开关和蜂鸣器实现一个七个音阶的电子琴。
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


单片机汇编语言源程序如下:
        LJMP START
        ORG  0100H
START:
        JNB P1.0,DO
        JNB P1.1,RE
        JNB P1.2,MI
        JNB P1.3,FA
        JNB P1.4,SO
        JNB P1.5,LA
        JNB P1.6,XI
        SJMP START

DO:   CPL  P3.0
          MOV  R0,#19
DEL1: MOV  R1,#50
DEL2: DJNZ  R1,DEL2      //50*2=100μs
DJNZ  R0,DEL1            //0.1ms*19=1.9ms
SJMP   START

RE:   CPL  P3.0
          MOV  R0,#17
DEL3: MOV  R1,#50
DEL4: DJNZ  R1,DEL4      //50*2=100μs
DJNZ  R0,DEL3            //0.1ms*17=1.7ms
SJMP   START

MI:   CPL  P3.0
          MOV  R0,#15
DEL5: MOV  R1,#50
DEL6: DJNZ  R1,DEL6      //50*2=100μs
DJNZ  R0,DEL5            //0.1ms*15=1.5ms
SJMP   START

FA:   CPL  P3.0
          MOV  R0,#14
DEL7: MOV  R1,#50
DEL8: DJNZ  R1,DEL8      //50*2=100μs
DJNZ  R0,DEL7
SJMP   START           //0.1ms*14=1.4ms


SO:   CPL  P3.0
          MOV  R0,#13
DEL9: MOV  R1,#50
DEL10: DJNZ  R1,DEL10      //50*2=100μs
DJNZ  R0,DEL9            //0.1ms*13=1.3ms
SJMP   START

LA:           CPL  P3.0
           MOV  R0,#11
DEL11: MOV  R1,#50
DEL12: DJNZ  R1,DEL12      //50*2=100μs
DJNZ  R0,DEL11            //0.1ms*11=1.1ms
SJMP   START

XI:    CPL  P3.0
           MOV  R0,#10
DEL13: MOV  R1,#50
DEL14: DJNZ  R1,DEL14     //50*2=100μs
DJNZ  R0,DEL13            //0.1ms*10=1.0ms
SJMP  START

END

电子琴(程序和仿真图).zip

91.32 KB, 下载次数: 41, 下载积分: 黑币 -5






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1