单片机输出脉冲的C语言简易程序,单片机简易程序, 电子琴 内附图 有说明...

满意答案

00e27ab806e4881f8254fe7ae8741834.png

greensob

2014.01.22

00e27ab806e4881f8254fe7ae8741834.png

采纳率:48%    等级:11

已帮助:1998人

自己写的程序,多谢支持!给点分,我在Keil上试过了。

ORG 0000H

LJMP START

ORG 000BH

LJMP TIMER

START:CLR TR0

MOV SP,#70H

MOV TMOD,#01H

MOV IE,#82H

MOV P0,#0FFH

XUANZ:

MOV A,P2

CJNE A,#0FFH,BOFANG

KEY:MOV R0,#00H

JB P1.0,KEY1

LJMP KEYIN

KEY1:INC R0

JB P1.1,KEY2

LJMP KEYIN

KEY2:INC R0

JB P1.2,KEY3

LJMP KEYIN

KEY3:INC R0

JB P1.3,KEY4

LJMP KEYIN

KEY4: INC R0

JB P1.4,KEY5

LJMP KEYIN

KEY5:INC R0

JB P1.5,KEY6

LJMP KEYIN

KEY6:INC R0

JB P1.6,KEY7

LJMP KEYIN

KEY7:INC R0

JB P1.7,XUANZ

KEYIN:

LCALL DELAY1

MOV A,R0

MOV B,#02H

MUL AB

MOV 33H,A

MOV DPTR,#TABLE1

MOVC A,@A+DPTR

MOV 30H,A

MOV TH0,A

INC 33H

MOV A,33H

MOVC A,@A+DPTR

MOV 31H,A

MOV TL0,A

SETB TR0

SK:

MOV A,P1

CJNE A,#0FFH,SK

LJMP START

BOFANG:

JB P2.0,K1

MOV DPTR,#TABLE2

LJMP KS

K1:JB P2.2,K2

MOV DPTR,#TABLE3

LJMP KS

K2:JB P2.5,XUANZ

MOV DPTR,#TABLE4

KS: MOV 40H,#00H

NEXT:MOV A,40H

MOVC A ,@A+DPTR

MOV R2,A

JZ STOP

ANL A,#0FH

MOV R5,A

MOV A,R2

SWAP A

ANL A,#0FH

JNZ SING

CLR TR0

LJMP W1

SING:DEC A

MOV 22H,A

RL A

MOV DPTR,#TABLE1

MOVC A,@A+DPTR

MOV TH0,A

MOV 30H,A

MOV A,22H

RL A

INC A

MOVC A,@A+DPTR

MOV TL0,A

MOV 31H,A

SETB TR0

W1:LCALL DELAY

INC 40H

LJMP NEXT

STOP:CLR TR0

LJMP START

DELAY1:MOV R7,#40

D1:MOV R6,#200

DJNZ R6,$

DJNZ R7,D1

RET

DELAY:MOV R7,#2

W2:MOV R4,#187

W3:MOV R3,#248

DJNZ R3,$

DJNZ R4,W3

DJNZ R7,W2

DJNZ R5,DELAY

RET

TIMER:PUSH ACC

PUSH PSW

MOV TL0,31H

MOV TH0,30H

CPL P0.7

POP PSW

POP ACC

RETI

TABLE1:DW 64580,64684,64777,64820

DW 64898,64968,65030,65058

TABLE2:DB 82H,01H,81H,94H,84H ;生日快乐

DB 0B4H,0A4H,04H

DB 82H,01H,81H,94H,84H

DB 0C4H,0B4H,04H

DB 82H,01H,81H,0F4H,0D4H

DB 0B4H,0A4H,94H

DB 0E2H,01H,0E1H,0D4H,0B4H

DB 0C4H,0B4H,04H

DB 82H,01H,81H,94H,84H

DB 0B4H,0A4H,04H

DB 82H,01H,81H,94H,84H

DB 0C4H,0B4H,04H

DB 82H,01H,81H,0F4H,0D4H

DB 0B4H,0A4H,94H

DB 0E2H,01H,0E1H,0D4H,0B4H

DB 0C4H,0B4H,04H

DB 00H

TABLE3:DB 72H,62H,52H,42H,32H,22H,12H,02H,00H ;这里可以装入你喜欢的音乐代码库,我这里没有了

TABLE4:DB 02H,12H,22H,32H,42H,52H,62H,72H,00H ;这里可以装入你喜欢的音乐代码库,我这里没有了

END

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值