ACALL DELAY2
INC A
AJMP TSQ1
YLL:JB P2.1,ZHZ;检测按键SW4是否被按下,我们将SW4定义为音量-
ACALL DELAY2
DEC A
AJMP TSQ1
ZHZ:JB P2.3,YLH;检测按键SW2是否被按下,我们将SW2定义为音量终止端
ACALL DELAY2
AJMP DENGD
TSQ1:CLR P2.5;产生一个1ms锁存数据更新脉冲,
ACALL DELAY1
SETB P2.5
ACALL DELAY1
CLR P2.5;选中片选端
MOV TMOD,#00H;设T0 工作在方式0
MOV TH0,#0E0H;装入初值,产生1K的工作时钟
MOV TL0,#18H
SETB ET0;T0 开中断
SETB TR0;启动T0
SJMP $;等待中断
DVT0:CPL P1.7;时钟端取反
RRC A
MOV P1.6,C
DJNZ R0,FANH;检测是否循环8次
CLR ET0;关中断
CLR TR0;关定时器
CLR P1.7
AJMP MSB;跳往高位数据写入
FANH:MOV TH0,#0E0H;装入初值,产生1K的工作时钟
MOV TL0,#18H
RETI
MSB:ACALL DELAY3
MOV R0,#8;再装循环初值
CJNE A,#0FFH,TSQ2;检测低八位是否为0FFH,若不是MSB不进位
INC R1
CLR A
TSQ2:MOV TMOD,#00H;设T0 工作在方式0
MOV TH0,#0E0H;装入初值,产生1K的工作时钟
MOV TL0,#18H
SETB ET0;T0 开中断
SETB TR0;启动T0
SJMP $;等待中断
DVT1:CPL P1.7;时钟端取反
MOV R2,A
MOV A,R1
RRC A
MOV P1.6,C
DJNZ R0,FANHH;检测是否循环8次
MOV A,R2
CLR ET0;关中断
CLR TR0;关定时器
AJMP MAIN;跳回主程序
FANHH:MOV TH0,#0E0H;装入初值,产生1K的工作时钟
MOV TL0,#18H
RETI
DELAY1:MOV R6,#10 ;1ms延时
L1:MOV R7,#100
L2:DJNZ R7,L2
DJNZ R6,L1
RET
DELAY2:MOV R6,#50 ;5ms延时
D1:MOV R7,#100
&nb
首页 上一页 7 8 9 10 11 下一页 尾页 10/11/11
免费资料文档--全遥控数字音量控制的D 类功率放大器(十)由毕业论文网(www.huoyuandh.com)会员上传。