📄 m62429asm.asm
字号:
M62429音量控制芯片的编程问题
我写了个用串口控制80C51控制M62429音量的程序,但无反应,波形都对啊,请大虾帮帮忙!!!
;;;;;;;;;;;;;;;;;;;;;M62429控制程序;;;;;;;;;;;;;;;
M62429_DATA EQU P1.0
M62429_CLK EQU P1.1
ORG 0000H
MOV TMOD,#20H ; 定时器1工作于8位自动重载模式,用于产生波特率
MOV TH1,#0FDH
MOV TL1,#0FDH ; 波特率9600
MOV SCON,#50H ; 设定串行口工作方式
ANL PCON,#0EFH ; 波特率不倍增
SETB TR1 ; 启动定时器1
CLR RI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MAIN: JB RI, VC4
LJMP MAIN
VC4: CLR RI ;清除RI=0
CLR M62429_DATA ;************音量调节
CLR M62429_CLK
LCALL voldelay
SETB M62429_DATA ;;;wxp changed. CLR M62429_DATA
LCALL voldelay
SETB M62429_CLK
LCALL voldelay ;;;;D0 双通道选通0
CLR M62429_DATA
LCALL voldelay
CLR M62429_CLK
LCALL voldelay
MOV R3,#8 ;;;;;;;;D1--D8音量数据
MOV A,SBUF
vol1: RLC A
MOV M62429_DATA,C
LCALL voldelay
SETB M62429_CLK
LCALL voldelay
CLR M62429_DATA
LCALL voldelay
CLR M62429_CLK
LCALL voldelay
DJNZ R3,vol1
SETB M62429_DATA ;;;;;;;;;;;;;;;;;;;;; D9
LCALL voldelay
SETB M62429_CLK
LCALL voldelay
CLR M62429_DATA
LCALL voldelay
CLR M62429_CLK
LCALL voldelay
SETB M62429_DATA ;;;;;;;;;;;;;;;;;;;;;D10
LCALL voldelay
SETB M62429_CLK
LCALL voldelay
LCALL voldelay
CLR M62429_CLK
LCALL voldelay
CLR M62429_DATA
LCALL voldelay
LJMP MAIN
RET
voldelay: mov r0, #8 ;;;40us延时
DELAY: nop
nop
djnz r0, DELAY
ret
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -