📄 dongli_24h.lst
字号:
03FE: MOVF 50,W
03FF: BSF 03.5
0400: MOVWF 07
0401: NOP
0402: BCF 03.5
0403: BSF 50.3
0404: MOVF 50,W
0405: BSF 03.5
0406: MOVWF 07
0407: NOP
0408: BCF 03.5
0409: BCF 07.4
040A: BCF 50.4
040B: MOVF 50,W
040C: BSF 03.5
040D: MOVWF 07
040E: NOP
040F: BCF 03.5
0410: BCF 07.3
0411: BCF 50.3
0412: MOVF 50,W
0413: BSF 03.5
0414: MOVWF 07
.................... i2c_write(cmd);
0415: BCF 03.5
0416: MOVF 5E,W
0417: MOVWF 62
0418: CALL 364
.................... i2c_write(add);
0419: MOVF 5F,W
041A: MOVWF 62
041B: CALL 364
.................... i2c_start();
041C: BSF 50.4
041D: MOVF 50,W
041E: BSF 03.5
041F: MOVWF 07
0420: NOP
0421: BCF 03.5
0422: BSF 50.3
0423: MOVF 50,W
0424: BSF 03.5
0425: MOVWF 07
0426: NOP
0427: BCF 03.5
0428: BCF 07.4
0429: BCF 50.4
042A: MOVF 50,W
042B: BSF 03.5
042C: MOVWF 07
042D: NOP
042E: BCF 03.5
042F: BCF 07.3
0430: BCF 50.3
0431: MOVF 50,W
0432: BSF 03.5
0433: MOVWF 07
.................... i2c_write(mmd);
0434: BCF 03.5
0435: MOVF 60,W
0436: MOVWF 62
0437: CALL 364
.................... // i=i2c_read();
.................... realtime.min=i2c_read();
0438: MOVLW 01
0439: MOVWF 77
043A: CALL 3B3
043B: MOVF 78,W
043C: MOVWF 2E
.................... realtime.hour=i2c_read();
043D: MOVLW 01
043E: MOVWF 77
043F: CALL 3B3
0440: MOVF 78,W
0441: MOVWF 2D
.................... i=i2c_read();
0442: MOVLW 01
0443: MOVWF 77
0444: CALL 3B3
0445: MOVF 78,W
0446: MOVWF 61
.................... realtime.day=i2c_read();
0447: MOVLW 01
0448: MOVWF 77
0449: CALL 3B3
044A: MOVF 78,W
044B: MOVWF 2C
.................... realtime.month=i2c_read();
044C: MOVLW 01
044D: MOVWF 77
044E: CALL 3B3
044F: MOVF 78,W
0450: MOVWF 2B
.................... realtime.year=i2c_read();
0451: MOVLW 01
0452: MOVWF 77
0453: CALL 3B3
0454: MOVF 78,W
0455: MOVWF 2A
.................... i2c_stop();
0456: BCF 50.4
0457: MOVF 50,W
0458: BSF 03.5
0459: MOVWF 07
045A: NOP
045B: BCF 03.5
045C: BSF 50.3
045D: MOVF 50,W
045E: BSF 03.5
045F: MOVWF 07
0460: BCF 03.5
0461: BTFSC 07.3
0462: GOTO 465
0463: BSF 03.5
0464: GOTO 460
0465: NOP
0466: NOP
0467: NOP
0468: NOP
0469: BSF 50.4
046A: MOVF 50,W
046B: BSF 03.5
046C: MOVWF 07
046D: NOP
.................... }
046E: BCF 03.5
046F: RETLW 00
....................
.................... void send7279_byte(unsigned char out_byte)
.................... {
.................... unsigned char i;
.................... output_low(CS);
*
0185: BSF 03.5
0186: BCF 06.7
0187: BCF 03.5
0188: BCF 06.7
.................... delay_us(100);
0189: CLRWDT
018A: MOVLW 20
018B: MOVWF 77
018C: DECFSZ 77,F
018D: GOTO 18C
018E: NOP
018F: NOP
.................... for(i=0;i<8;i++)
0190: BSF 03.5
0191: CLRF 2B
0192: MOVF 2B,W
0193: SUBLW 07
0194: BTFSS 03.0
0195: GOTO 1B9
.................... {
.................... if(out_byte & 0x80)
.................... {
0196: BTFSS 2A.7
0197: GOTO 19D
.................... output_high(DAT);
0198: BCF 06.5
0199: BCF 03.5
019A: BSF 06.5
.................... }
.................... else
.................... {
019B: GOTO 1A0
019C: BSF 03.5
.................... output_low(DAT);
019D: BCF 06.5
019E: BCF 03.5
019F: BCF 06.5
.................... }
.................... output_high(CLK);
01A0: BSF 03.5
01A1: BCF 06.6
01A2: BCF 03.5
01A3: BSF 06.6
.................... delay_us(15);
01A4: CLRWDT
01A5: MOVLW 04
01A6: MOVWF 77
01A7: DECFSZ 77,F
01A8: GOTO 1A7
01A9: NOP
.................... output_low(CLK);
01AA: BSF 03.5
01AB: BCF 06.6
01AC: BCF 03.5
01AD: BCF 06.6
.................... delay_us(15);
01AE: CLRWDT
01AF: MOVLW 04
01B0: MOVWF 77
01B1: DECFSZ 77,F
01B2: GOTO 1B1
01B3: NOP
.................... out_byte=out_byte*2;
01B4: BCF 03.0
01B5: BSF 03.5
01B6: RLF 2A,F
.................... }
01B7: INCF 2B,F
01B8: GOTO 192
.................... output_low(DAT);
01B9: BCF 06.5
01BA: BCF 03.5
01BB: BCF 06.5
.................... }
01BC: RETLW 00
....................
.................... unsigned char receive7279_byte(void)
.................... {
.................... unsigned char i,in_byte;
.................... char lf;
.................... output_high(DAT);
*
0240: BSF 03.5
0241: BCF 06.5
0242: BCF 03.5
0243: BSF 06.5
.................... delay_us(100);
0244: CLRWDT
0245: MOVLW 20
0246: MOVWF 77
0247: DECFSZ 77,F
0248: GOTO 247
0249: NOP
024A: NOP
.................... for(i=0;i<8;i++)
024B: CLRF 7D
024C: MOVF 7D,W
024D: SUBLW 07
024E: BTFSS 03.0
024F: GOTO 274
.................... {
.................... output_high(CLK);
0250: BSF 03.5
0251: BCF 06.6
0252: BCF 03.5
0253: BSF 06.6
.................... delay_us(15);
0254: CLRWDT
0255: MOVLW 04
0256: MOVWF 77
0257: DECFSZ 77,F
0258: GOTO 257
0259: NOP
.................... in_byte=in_byte*2;
025A: BCF 03.0
025B: RLF 7E,F
.................... lf=input(DAT);
025C: BSF 03.5
025D: BSF 06.5
025E: CLRF 20
025F: BCF 03.5
0260: BTFSS 06.5
0261: GOTO 265
0262: BSF 03.5
0263: INCF 20,F
0264: BCF 03.5
.................... if(lf==1)
.................... {
0265: BSF 03.5
0266: DECFSZ 20,W
0267: GOTO 269
.................... in_byte=in_byte|0x01;
0268: BSF 7E.0
.................... }
.................... output_low(CLK);
0269: BCF 06.6
026A: BCF 03.5
026B: BCF 06.6
.................... delay_us(15);
026C: CLRWDT
026D: MOVLW 04
026E: MOVWF 77
026F: DECFSZ 77,F
0270: GOTO 26F
0271: NOP
.................... }
0272: INCF 7D,F
0273: GOTO 24C
.................... output_low(DAT);
0274: BSF 03.5
0275: BCF 06.5
0276: BCF 03.5
0277: BCF 06.5
.................... return(in_byte);
0278: MOVF 7E,W
0279: MOVWF 78
.................... }
....................
.................... void write7279(unsigned char cmd,unsigned char dta)
.................... {
.................... send7279_byte(cmd);
*
01BD: BSF 03.5
01BE: MOVF 28,W
01BF: MOVWF 2A
01C0: BCF 03.5
01C1: CALL 185
.................... send7279_byte(dta);
01C2: BSF 03.5
01C3: MOVF 29,W
01C4: MOVWF 2A
01C5: BCF 03.5
01C6: CALL 185
.................... }
01C7: RETLW 00
....................
.................... unsigned char read7279(unsigned char cmd)
.................... {
.................... send7279_byte(cmd);
*
023B: MOVF 7C,W
023C: BSF 03.5
023D: MOVWF 2A
023E: BCF 03.5
023F: CALL 185
.................... return(receive7279_byte());
*
027A: MOVF 78,W
.................... }
.................... //***************************************************************************
.................... #int_rb
.................... void disp_key_isr(void)
.................... {
.................... uchar xkey,BCD_time;
.................... disable_interrupts(int_RB);
*
022F: BCF 0B.3
.................... if(input(KEY)==0)//判断是否KEY中断
.................... {
0230: BSF 03.5
0231: BSF 06.4
0232: MOVLW 00
0233: BCF 03.5
0234: BTFSC 06.4
0235: MOVLW 01
0236: XORLW 00
0237: BTFSS 03.2
0238: GOTO 2E2
.................... xkey=read7279(0x15);
0239: MOVLW 15
023A: MOVWF 7C
*
027B: MOVF 78,W
027C: MOVWF 75
.................... if(xKey==0x23)
.................... is_set=1;
027D: MOVF 75,W
027E: SUBLW 23
027F: BTFSS 03.2
0280: GOTO 283
0281: MOVLW 01
0282: MOVWF 53
....................
.................... if(is_set==1)
.................... {
0283: DECFSZ 53,W
0284: GOTO 2AD
.................... switch (xkey)
.................... {
0285: MOVF 75,W
0286: MOVWF 77
0287: MOVLW 22
0288: SUBWF 77,W
0289: BTFSC 03.2
028A: GOTO 294
028B: MOVLW 21
028C: SUBWF 77,W
028D: BTFSC 03.2
028E: GOTO 29D
028F: MOVLW 20
0290: SUBWF 77,W
0291: BTFSC 03.2
0292: GOTO 2A6
0293: GOTO 2AD
.................... case 0x22:
.................... if(dura_time>=1 && dura_time<99)
.................... dura_time++;
0294: MOVF 52,W
0295: SUBLW 00
0296: BTFSC 03.0
0297: GOTO 29C
0298: MOVF 52,W
0299: SUBLW 62
029A: BTFSC 03.0
029B: INCF 52,F
.................... break;
029C: GOTO 2AD
.................... case 0x21:
.................... if(dura_time>1 && dura_time<=99)
.................... dura_time--;
029D: MOVF 52,W
029E: SUBLW 01
029F: BTFSC 03.0
02A0: GOTO 2A5
02A1: MOVF 52,W
02A2: SUBLW 63
02A3: BTFSC 03.0
02A4: DECF 52,F
.................... break;
02A5: GOTO 2AD
.................... case 0x20:
.................... is_set=0;
02A6: CLRF 53
.................... EEPROM_write_parameter(pd_time,dura_time);
02A7: MOVLW 19
02A8: MOVWF 7C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -