单片机c51简易电子琴软件模块

设计报告只用写软件部分,请问目录应该怎么写,会涉及到哪几个方面,麻烦大虾们帮帮忙咯!~

看看这篇文章,文章下方还有许多相关的链接,应该够用了。
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/d9581a512bddb3511138c282.html
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-22

BUZZ EQU P3.3

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP INT_T0

ORG 0100H

MAIN:

MOV SP,#60H

MOV P1,#0FFH

MOV TMOD,#01H

SETB ET0

SETB EA

CLR TR0

START:

MOV R0,P1

CJNE R0,#0FFH,KEY1

CLR TR0

SJMP START

KEY1:

CJNE R0,#0FEH,KEY2

MOV 30H,#0F8H

MOV 31H,#0E9H

LJMP SET_TIMER

KEY2:

CJNE R0,#0FDH,KEY3

MOV 30H,#0FCH

MOV 31H,#05CH

LJMP SET_TIMER

KEY3:

CJNE R0,#0FBH,KEY4

MOV 30H,#0FCH

MOV 31H,#0C1H

LJMP SET_TIMER

KEY4:

CJNE R0,#0F7H,KEY5

MOV 30H,#0FCH

MOV 31H,#0EFH

LJMP SET_TIMER

KEY5:

CJNE R0,#0EFH,KEY6

MOV 30H,#0FDH

MOV 31H,#045H

LJMP SET_TIMER

KEY6:

CJNE R0,#0DFH,KEY7

MOV 30H,#0FDH

MOV 31H,#092H

LJMP SET_TIMER

KEY7:

CJNE R0,#0BFH,NOKEY

MOV 30H,#0FDH

MOV 31H,#0D6H

SET_TIMER:

SETB TR0

SJMP START

NOKEY:

CLR TR0

SJMP START

INT_T0:

MOV TH0,30H

MOV TL0,31H

CPL BUZZ

RETI

;

END

原理就是按键控制单片机产生不同的频率来控制蜂鸣器。。。。。麻烦你多给点分

相似回答