1、KEYPRE: MOV 5BH,A CJNE A,#0F0H,KEYPRE1 SJMP KEYPRE2KEYPRE1: MOV 5AH,#0 ADD A,#0 SUBB A,#10 JC KEYPRE2 INC A MOV 5AH,AKEYPRE2: MOV DPTR,#PTAB1 MOV A,5AH MOV B,#3 MUL AB MOV R1 ,A MOV A,B ADD A,DPH MOV A,R1 JMP A+DPTR KEYPRE0: RET PTAB1:LJMP KEYPRE3PL001:LJMP PL001PPL002:LJMP PL002PPL003:LJMP PL003PPH
2、001:LJMP PH001PPH002:LJMP PH002PPH003:LJMP PH003P LJMP KEYPRE0KEYPRE3:MOV A,5BH CLR C SUBB A,#0F0H JZ KEYPRE4 mov 53h,52h mov 52h,51h mov 51h,50h mov 50h,5BH KEYPRE4:CLR PSW.1 LJMP KEYPRE0 PL001P:MOV A,5BH/S1键 CJNE A,#0AH,PL001END MOV A,58H JZ PL001END LCALL COMMS1K PL001END:LCALL S1MOVBUF CLR PSW.1
3、PL002P:/MOV DPTR,#L002/LCALL MOVXSBUF MOV A,5BH CJNE A,#0BH,PL002END MOV A,59H JZ PL002END CJNE A,#01H,PL002P2 MOV A,#5BH ADD A,59H MOV R0,A INC R0PL002P2:CJNE A,#02H,PL002P3 MOV A,#5EHPL002P3:CJNE A,#03H,PL002ENDPL002END:PL003P:MOV DPTR,#L003 LCALL MOVXSBUF LCALL ADC0809 SETB PSW.1 PH001P:/MOV DPTR
4、,#H001 /LCALL MOVXSBUF JZ PH001END LCALL COMMS4KPH001END:LCALL YDMOVBUF CLR PSW.1 PH002P: MOV DPTR,#H002 MOV DPTR,#PWM14/E键设定;占空比1:4 LCALL MOVXPMWBUFPH003P:MOV DPTR,#H003 LCALL GET_TEMP SUBT1: PUSH ACC/ PUSH PSW MOV TL1,#0fdH MOV TH1,#0FFH CPL P1.3/产生定时脉冲 LP4: POP PSW POP ACC RETILED: MOV P0,#0FFH M
5、OV P3,R2 LCALL DELAY MOV A,R0 MOV R1,ALED1: MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A RET LED2DELAY: mov R0,#4fh mov R2,#80h mov R3,#02H LED2DELAY1:mov A,R2 RL A mov R2,A INC R0 LCALL LED DJNZ R3,LED2DELAY1LED4LDELAY: MOV P0,#00H MOV P3,#0FFH MOV R0,#4FH MOV R2,#0F7H MOV R3,#04H LED4LDELAY1:MOV A,R2 MO
6、V R2,AINC R0 DJNZ R3,LED4LDELAY1LED4RDELAY: MOV R2,#07FHLED4RDELAY1: DJNZ R3,LED4RDELAY1 LED8DELAY: mov R2,#7fh mov R3,#08H LED8DELAY1: DJNZ R3,LED8DELAY1DELAY:MOV R5,#01H D0: MOV R6,#01AH D1: DJNZ R6,D1 DJNZ R5,D0KEY: MOV P3,#0FFH LCALL KS JNZ K1 MOV A,#0F0H LJMP K5 K1: JNZ K2 K2: MOV R4,#00H K3: M
7、OV A,R2 LCALL DELAY MOV A,P0 ANL A,#0FH JB ACC.0,L1 MOV A,#00H LJMP LK L1: JB ACC.1,L2 MOV A,#01H LJMP LK L2: JB ACC.2,L3 MOV A,#02H L3: JB ACC.3,NEXT MOV A,#03H LK: ADD A,R4 PUSH ACC K4: JNZ K4 K5: NEXT:MOV A,#4 MOV R4,A JNB ACC.4,K5 RR A LJMP K3 KS: MOV A,#0FH CPL A /SWAP AADC0809:CLR P1.0/ SETB P
8、1.0/START,ALE CLR P1.0 SETB P1.2ADC08P: mov c,P1.2 JNc ADC08P SETB P1.1 MOV P2,#0FFH MOV A,P2 MOV 62H,A MOV 50H,A MOV A,62H SWAP A MOV 51H,A ADC08M:DS18SL:CLR EA ;使用ds1820 一定要禁止任何中断产生 LCALL INTT ;初始化ds1820 MOV A,#33H LCALL WRITE ;送入读ds1820 的ROM 命令 LCALL READ ;开始读出当前ds1820 序列号 MOV 40H,A LCALL READ MO
9、V 41H,A MOV 42H,A MOV 43H,A MOV 44H,A MOV 45H,A MOV 46H,A MOV 47H,A SETB EAINTT: CLR EAINTT0: MOV R2,#200INTT1: DJNZ R2,INTT1 ;总线复位电平保持400us SETB P1.0 ;释放ds1820 总线 MOV R2,#30INTT4: DJNZ R2,INTT4 ;释放ds1820 总线保持60us CLR C ;清存在信号 ORL C,P1.0 JC INTT0 ;存在吗?不存在则重新来 MOV R6,#80INTT5: JC INTT3 DJNZ R6,INTT5
10、SJMP INTT0INTT3: MOV R2,#240INTT2: DJNZ R2,INTT2WRITE: CLR EA; 向ds1820 写操作命令子程序 MOV R3,#8 ;写入ds1820 的bit 数,一个字节8 个bitWR1: SETB P1.0 MOV R4,#8 RRC A ;把一个字节data(A)分成8 个bit 环移给 C CLR P1.0 ;开始写入ds1820 总线要处于复位(低)状态WR2: DJNZ R4,WR2 ;ds1820 总线复位保持16us MOV P1.0,C ;写入一个bit MOV R4,#20WR3: DJNZ R4,WR3 ;等待40us
11、DJNZ R3,WR1 ;写入下一个bit重新释放ds1820 总线READ: MOV R6,#8 ;连续读8 个bitRE1:读前总线保持为低 MOV R4,#4 NOP开始读总线释放RE2: DJNZ R4,RE2 ;持续8us MOV C,P1.0 ;从ds1820 总线读得一个bit把读得的位值环移给 A MOV R5,#30RE3: DJNZ R5,RE3 ;持续60us DJNZ R6,RE1 ;读下一个bit重新释放ds1820 总线 / 温度转换和读取GET_TEMP: CLR EA ; 使用ds1820 一定要禁止任何中断产生 调用初使化子程序 MOV A,#0CCH 送入跳
12、过ROM 命令 MOV A, #44H送入温度转换命令 温度转换完全,再次初使化ds1820送入跳过ROM 命令 MOV A,#0BEH送入读温度暂存器命令 MOV 62H,A ; 读出温度值低字节存入R7 MOV 63H,A ; 读出谩度值高字节存入R6GET_TEMP1:RET MOVXSBUF:MOV R7,#3 MOV A,R7 DEC R7 MOV 52H,A MOV 53H,AMOVXPMWBUF:MOV R7,#1 MOV 58H,A MOV 57H,ACOMMS4K: INC 58H CJNE A,#04H,COMMS4K1 MOV 58H,#01HCOMMS4K1:YDMOV
13、BUF: CJNE A,#01H,YDMOVBUF2 MOV R0,#5CH ANL A,#0F0H MOV 52H,#13H MOV 54H,A MOV 55H,#13H MOV 56H,A SJMP YDMOVBUF4YDMOVBUF2: CJNE A,#02H,YDMOVBUF3 MOV R0,#5FH YDMOVBUF3: MOV R0,#62H MOV 54H,#14H MOV 55H,#14H MOV 56H,#14H MOV 57H,#14HYDMOVBUF4:COMMS1K: INC 59H CJNE A,#05H,COMMS1K1 MOV 59H,#01HCOMMS1K1:S
14、1MOVBUF: MOV 50H,#13H MOV 51H,#13H MOV 53H,#13H MOV 54H,#13H MOV 56H,#13H MOV 57H,#13H CJNE A,#01H,S1MOVBUF2 CJNE A,#01H,S1MOV11 MOV R0,#5CH SJMP S1MOV12 S1MOV11:S1MOV12: SJMP S1MOVBUF4S1MOVBUF2: CJNE A,#02H,S1MOVBUF3 CJNE A,#01H,S1MOV21 SJMP S1MOV22 S1MOV21:S1MOV22:S1MOVBUF3: CJNE A,#03H,S1MOVBUF0
15、CJNE A,#01H,S1MOV31 SJMP S1MOV32 S1MOV31:S1MOV32:S1MOVBUF0: CJNE A,#04H,S1MOVBUF4 LCALL YDMOVBUF S1MOVBUF4: TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0CH,89H,0C7H,0BFH,0FFH L001: DB 12H,0H,0H,01H L002: DB 12H,00H,00H,02H L003: DB 0AH,0DH,00H,03H H001: DB 11H,00H,00H,01H H002: DB 11H,00H,00H,02H H003: DB 11H,00H,00H,03H pwm16:db 02h,0Ch pwm14:db 02h,08h pwm21:db 06h,03h END
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1