No.69543 作者:byypm 邮件:sxj1974@163.com ID:28752 登陆:2次 文章数:5篇 最后登陆IP:61.144.183.52 最后登陆:2004/12/19 12:10:11 注册:2004/12/8 16:36:25 财富:115 发帖时间:2004/12/19 12:08:44 发贴者IP:61.144.183.52 标题:byypm:绝对经典奉献!5。1音响遥控解码程序! 摘要:No.69543绝对经典奉献!5。1音响遥控解码程序! 这个程序是51单片机与pt2258的5。1音响遥控解码程序, 搞定这个程序, 51单片机就算毕业了: 5.1ch音响的遥控源程序更详细资料请到51测试网  下载 COUNTER EQU 35H;显示计数 REMVOL EQU 36H;音量连续控制 DISPBUFF1 EQU 37H; DISPBUFF2 EQU 38H; DISPBUFF3 EQU 39H; DISPBUFF EQU 3AH; SDA BIT P3.4 SCL BIT P3.2 MTD EQU 30H;PT2258数据首址 NUMBYT EQU 3BH;PT2258数据位数 CS_X1 EQU 3CH;遥控 CS0_X1 EQU 3DH U0_X1 EQU 3EH;遥控数据暂存区 NO_M EQU 40H;数据码 FRONT EQU 41H REAR EQU 42H CEN EQU 43H S_UB EQU 44H RVER EQU 45H CVER EQU 46H SVER EQU 47H FVER EQU 48H PHONE EQU 49H NO_N EQU 51H ;----------------------- ORG 0000H AJMP START ORG 000BH AJMP ITT0 ORG 0013H AJMP INO1 ORG 001BH AJMP DISP ;------------------------ START: MOV SP,#60H MOV PSW,#00H MOV IE,#00H MOV IP,#00H CLR P3.1;刚开机时待机 CLR EA CLR P3.5;LED显示 SETB P3.7;数码管不显示 MOV P1,#7FH;电源灯亮 SETB P3.2; SETB P3.4;让SDA,SLK保持高电平 CLR P3.0;AC-3状态 SETB P3.3 MOV TMOD,#00010001B MOV TH1,#0f0H MOV TL1,#60H MOV TH0,#00H MOV TL0,#00H SETB TR0 SETB ET0;开定时器1中断 SETB EA SETB EX1 SETB IT1 CLR EX0 clr tr1 CLR (29H).0;遥控识别位 mov remvol,#02h MOV COUNTER,#0H MOV FRONT,#34H MOV REAR,#34H MOV CEN,#34H MOV S_UB,#34H MOV RVER,#5H MOV CVER,#5H MOV SVER,#5H MOV FVER,#5H MOV DISPBUFF,#40H acall delay;刚开机时不能马上给PT2258送数 NOP acall delay nop acall delay nop acall delay nop acall delay nop MOV 30H,#0C0H MOV NUMBYT,#01H ACALL WRNBYT NOP NOP MOV 30H,#0D3H MOV 31H,#0E4H MOV NUMBYT,#02H ACALL WRNBYT NOP MOV NO_M,#00H MOV NO_N,#00H MOV DISPBUFF3,#0DFH MAIN: setb ea CLR TR1 clr et1 SETB P3.7 MOV P1,#7FH CLR P3.5 CLR P3.1 ;待机端 SETB P3.2 SETB P3.4 MOV 30H,#0f9H MOV NUMBYT,#01H ACALL WRNBYT NOP PW_1: SETB P3.2 SETB P3.4 MOV A,NO_M JZ PW_1 MOV NO_M,#00H XRL A,#01H JNZ PW_1 SETB P3.1 SETB TR1 SETB ET1 CLR (29H).1 acall clmut NOP MOV R2,#00H MOV R3,#0FH LOOP: SETB P3.2 SETB P3.4 MOV A,R3 XRL A,#0fh jnz key MOV R3,#00h MOV A,DISPBUFF3 ORL A,#01010110B MOV DISPBUFF3,A CLR (29H).2 CLR (29H).3 CLR (29H).4 CLR (29H).5 mov r5,dispbuff acall disp_vol NOP KEY: MOV A,NO_M JZ LOOP MOV NO_M,#00H RL A MOV DPTR,#TAB_KEY NOP JMP @A+DPTR TAB_KEY: AJMP LOOP AJMP MAIN AJMP MUTE AJMP AC_33 AJMP RESET AJMP STEREO AJMP FRONT_V AJMP CEN_V AJMP REAR_V AJMP SUB_V AJMP VOLDN AJMP VOLUP AJMP LOOP AJMP LOOP RESET: CLR P3.0;AC-3 MOV FRONT,#34H MOV REAR,#34H MOV CEN,#34H MOV S_UB,#34H MOV RVER,#5H MOV CVER,#5H MOV SVER,#5H MOV FVER,#5H MOV DISPBUFF,#40H MOV DISPBUFF3,#0DFH MOV 30H,#0D3H MOV 31H,#0E4H MOV NUMBYT,#02H ACALL WRNBYT NOP AJMP INPUT_A AC_33: mov 30h,#0f9h mov numbyt,#01h acall wrnbyt NOP acall delay NOP MOV DISPBUFF3,#0DFH CLR P3.0 NOP AJMP INPUT_A STERE mov 30h,#0f9h mov numbyt,#01h acall wrnbyt NOP acall delay NOP MOV DISPBUFF3,#0F7H SETB P3.0 INPUT_A: SETB (29H).1 acall delay NOP MOV 30H,#0F8H MOV NUMBYT,#01H ACALL WRNBYT NOP MOV R3,#0FH mov r2,#00H NOP AJMP LOOP MUTE: CPL (29H).1 JB (29H).1,MUT_1 MOV 30H,#0F9H WRN_1: MOV NUMBYT,#1H LCALL WRNBYT NOP mov r2,#00H MOV R3,#0FH NOP AJMP LOOP MUT_1: MOV 30H,#0F8H MOV A,DISPBUFF3 ORL A,#10000000B MOV DISPBUFF3,A NOP AJMP WRN_1 FRONT_V: SETB (29H).2 CLR (29H).3 CLR (29H).4 CLR (29H).5 mov r5,fver MOV A,DISPBUFF3 ANL A,#11101111B ORL A,#01000110B NOP AJMP LOOP_d REAR_V: CLR (29H).2 SETB (29H).3 CLR (29H).4 CLR (29H).5 mov r5,rver MOV A,DISPBUFF3 ANL A,#10111111B ORL A,#00010110B NOP AJMP LOOP_d CEN_V: CLR (29H).2 CLR (29H).3 SETB (29H).4 CLR (29H).5 mov r5,cver MOV A,DISPBUFF3 ANL A,#11111101B ORL A,#01010100B NOP AJMP LOOP_d SUB_V: CLR (29H).2 CLR (29H).3 CLR (29H).4 SETB (29H).5 mov r5,sver MOV A,DISPBUFF3 ANL A,#11111011B ORL A,#01010010B loop_d: MOV DISPBUFF3,A acall disp_vol NOP acall clmut NOP MOV R2,#00H MOV R3,#00H LOOP_A: NOP ajmp loop CN_VOLUP_1: NOP AJMP CN_VOLUP SB_VOLUP_1: NOP AJMP SB_VOLUP VOLUP: MOV 30H,#0C0H MOV NUMBYT,#01H ACALL WRNBYT NOP acall clmut NOP MOV R3,#0 JB (29H).2,FR_VOLUP JB (29H).3,RR_VOLUP JB (29H).4,CN_VOLUP_1 JB (29H).5,SB_VOLUP_1 MOV A,DISPBUFF XRL A,#69H JZ LOOP_A MOV PHONE,FRONT ACALL DAA NOP MOV FRONT,PHONE MOV PHONE,REAR ACALL DAA NOP MOV REAR,PHONE MOV PHONE,CEN ACALL DAA NOP MOV CEN,PHONE MOV PHONE,S_UB ACALL DAA NOP MOV S_UB,PHONE MOV PHONE,DISPBUFF ACALL UAA NOP MOV DISPBUFF,PHONE ACALL FRDATA NOP ACALL RRDATA NOP ACALL CNDATA NOP ACALL SBDATA NOP mov r5,dispbuff NOP ajmp tt_volup FR_VOLUP: MOV A,FVER XRL A,#10H JZ LOOP_B MOV PHONE,FVER ACALL UAA NOP MOV FVER,PHONE MOV PHONE,FRONT ACALL DAA NOP MOV FRONT,PHONE ACALL FRDATA NOP mov r5,fver NOP ajmp tt_volup LOOP_B: NOP AJMP LOOP RR_VOLUP: MOV A,RVER XRL A,#10H JZ LOOP_B MOV PHONE,RVER ACALL UAA NOP MOV RVER,PHONE MOV PHONE,REAR ACALL DAA NOP MOV REAR,PHONE ACALL RRDATA NOP mov r5,rver NOP ajmp tt_volup CN_VOLUP: MOV A,CVER XRL A,#10H JZ LOOP_B MOV PHONE,CVER ACALL UAA NOP MOV CVER,PHONE MOV PHONE,CEN ACALL DAA NOP MOV CEN,PHONE ACALL CNDATA NOP mov r5,cver NOP ajmp tt_volup SB_VOLUP: MOV A,SVER XRL A,#10H JZ LOOP_C MOV PHONE,SVER ACALL UAA NOP MOV SVER,PHONE MOV PHONE,S_UB ACALL DAA NOP MOV S_UB,PHONE ACALL SBDATA NOP mov r5,sver tt_volup: acall disp_vol NOP LOOP_C: NOP AJMP LOOP CN_VOLDN_1: NOP AJMP CN_VOLDN SB_VOLDN_1: NOP AJMP SB_VOLDN VOLDN: acall clmut NOP mov r3,#0 JB (29H).2,FR_VOLDN JB (29H).3,RR_VOLDN JB (29H).4,CN_VOLDN_1 JB (29H).5,SB_VOLDN_1 MOV A,DISPBUFF JZ LOOP_C MOV PHONE,FRONT ACALL UAA NOP MOV FRONT,PHONE MOV PHONE,REAR ACALL UAA NOP MOV REAR,PHONE MOV PHONE,CEN ACALL UAA NOP MOV CEN,PHONE MOV PHONE,S_UB ACALL UAA NOP MOV S_UB,PHONE MOV PHONE,DISPBUFF ACALL DAA NOP MOV DISPBUFF,PHONE ACALL FRDATA NOP ACALL RRDATA NOP ACALL CNDATA NOP ACALL SBDATA NOP mov r5,dispbuff NOP ajmp tt_volup FR_VOLDN: MOV A,FVER JZ LOOP_C MOV PHONE,FVER ACALL DAA NOP MOV FVER,PHONE MOV PHONE,FRONT ACALL UAA NOP MOV FRONT,PHONE ACALL FRDATA NOP mov r5,fver NOP ajmp tt_volup RR_VOLDN: MOV A,RVER JZ LOOP_E MOV PHONE,RVER ACALL DAA NOP MOV RVER,PHONE MOV PHONE,REAR ACALL UAA NOP MOV REAR,PHONE ACALL RRDATA NOP mov r5,rver NOP ajmp tt_volup LOOP_E: NOP AJMP LOOP CN_VOLDN: MOV A,CVER JZ LOOP_E MOV PHONE,CVER ACALL DAA NOP MOV CVER,PHONE MOV PHONE,CEN ACALL UAA NOP MOV CEN,PHONE ACALL CNDATA NOP mov r5,cver NOP ajmp tt_volup SB_VOLDN: MOV A,SVE ......
>>返回讨论的主题
|