📄 dongli_24h.lst
字号:
.................... uchar mychk;
.................... mychk=getchk(rx_buffer[1],rx_buffer[2],rx_buffer[3]);
*
01DC: BCF 03.5
01DD: MOVF 3F,W
01DE: MOVWF 6B
01DF: MOVF 40,W
01E0: MOVWF 6C
01E1: MOVF 41,W
01E2: MOVWF 6D
*
01EB: MOVF 78,W
01EC: MOVWF 6A
.................... if(rx_buffer[frame_chk]==mychk)
.................... {
01ED: MOVF 6A,W
01EE: SUBWF 42,W
01EF: BTFSS 03.2
01F0: GOTO 226
.................... delay_ms(100);
01F1: MOVLW 64
01F2: MOVWF 6C
01F3: CALL 045
.................... EEPROM_write_parameter(a_year,rx_buffer[frame_year]);
01F4: MOVLW 10
01F5: MOVWF 7C
01F6: MOVF 3F,W
01F7: MOVWF 7D
01F8: CALL 05C
.................... EEPROM_write_parameter(a_month,rx_buffer[frame_month]);
01F9: MOVLW 11
01FA: MOVWF 7C
01FB: MOVF 40,W
01FC: MOVWF 7D
01FD: CALL 05C
.................... EEPROM_write_parameter(a_date,rx_buffer[frame_day]);
01FE: MOVLW 12
01FF: MOVWF 7C
0200: MOVF 41,W
0201: MOVWF 7D
0202: CALL 05C
.................... get_endate(rx_buffer[frame_year],rx_buffer[frame_month],rx_buffer[frame_day]);
0203: MOVF 3F,W
0204: MOVWF 6B
0205: MOVF 40,W
0206: MOVWF 6C
0207: MOVF 41,W
0208: MOVWF 6D
0209: CALL 0E1
.................... //putc(0x77);//表示数据接受完毕,告诉解码器不必再申请发送数据
.................... enable_interrupts(int_TIMER1);//成功解密后重新显示时间
020A: BSF 03.5
020B: BSF 0C.0
.................... TXREG=0X77;
020C: MOVLW 77
020D: BCF 03.5
020E: MOVWF 19
.................... write7279(0x88,0xF0);
020F: MOVLW 88
0210: BSF 03.5
0211: MOVWF 28
0212: MOVLW F0
0213: MOVWF 29
0214: BCF 03.5
0215: CALL 1BD
.................... restart_wdt();
0216: CLRWDT
.................... delay_ms(5000);
0217: MOVLW 14
0218: MOVWF 6B
0219: MOVLW FA
021A: MOVWF 6C
021B: CALL 045
021C: DECFSZ 6B,F
021D: GOTO 219
.................... write7279(0x88,0xFF);
021E: MOVLW 88
021F: BSF 03.5
0220: MOVWF 28
0221: MOVLW FF
0222: MOVWF 29
0223: BCF 03.5
0224: CALL 1BD
....................
.................... }
.................... else
.................... {
0225: GOTO 22B
.................... enable_interrupts(int_rda);
0226: BSF 03.5
0227: BSF 0C.5
.................... // putc(0xAA);
.................... TXREG=0XAA;
0228: MOVLW AA
0229: BCF 03.5
022A: MOVWF 19
.................... }
.................... }
....................
.................... void EEPROM_write_parameter(UCHAR addr,uchar data)
.................... {
.................... write_eeprom(addr,data);
*
005C: BSF 03.6
005D: CLRF 0E
005E: MOVF 7C,W
005F: MOVWF 0D
0060: MOVF 7D,W
0061: MOVWF 0C
0062: BSF 03.5
0063: BCF 0C.7
0064: BSF 0C.2
0065: BCF 03.5
0066: BCF 03.6
0067: MOVF 0B,W
0068: MOVWF 77
0069: BCF 0B.7
006A: BSF 03.5
006B: BSF 03.6
006C: MOVLW 55
006D: MOVWF 0D
006E: MOVLW AA
006F: MOVWF 0D
0070: BSF 0C.1
0071: BTFSC 0C.1
0072: GOTO 071
0073: BCF 0C.2
0074: MOVF 77,W
0075: BCF 03.5
0076: BCF 03.6
0077: IORWF 0B,F
.................... }
0078: RETLW 00
....................
.................... //读EEPROM
.................... uchar EEPROM_read_parameter(UCHAR addr)
.................... {
.................... uchar xx;
.................... xx=read_eeprom(addr);
*
0354: BSF 03.6
0355: CLRF 0E
0356: BCF 03.6
0357: MOVF 5F,W
0358: BSF 03.6
0359: MOVWF 0D
035A: BSF 03.5
035B: BCF 0C.7
035C: BSF 0C.0
035D: BCF 03.5
035E: MOVF 0C,W
035F: BCF 03.6
0360: MOVWF 60
.................... return xx;
0361: MOVF 60,W
0362: MOVWF 78
.................... }
0363: RETLW 00
....................
....................
.................... #define CS PIN_B7
.................... #define CLK PIN_B6
.................... #define DAT PIN_B5
.................... #define KEY PIN_B4
....................
.................... #define J5v_on PIN_D7
.................... #define J5v_off PIN_D6
.................... #define J10v_on PIN_D5
.................... #define J10v_off PIN_D4
.................... #define J20v_on PIN_D3
.................... #define J20v_off PIN_D2
.................... #define FS_RLY7 PIN_C1
.................... #define BJ_RLY8 PIN_C2
.................... #define PL_RLY9 PIN_B2
.................... #define SD_RLY10 PIN_B3
....................
.................... #define RUN PIN_B0
....................
.................... #define lmt_year 0x07
.................... #define lmt_month 0x02
.................... #define lmt_date 0x16
....................
.................... #use delay(clock=4000000,RESTART_WDT)
*
033D: MOVLW 64
033E: MOVWF 04
033F: MOVF 00,W
0340: BTFSC 03.2
0341: GOTO 353
0342: MOVLW 01
0343: MOVWF 78
0344: MOVLW BF
0345: MOVWF 77
0346: CLRWDT
0347: DECFSZ 77,F
0348: GOTO 346
0349: DECFSZ 78,F
034A: GOTO 344
034B: MOVLW 4A
034C: MOVWF 77
034D: DECFSZ 77,F
034E: GOTO 34D
034F: NOP
0350: CLRWDT
0351: DECFSZ 00,F
0352: GOTO 342
0353: RETLW 00
.................... #fuses XT,WDT
.................... #use i2c(master,sda=PIN_C4,scl=PIN_C3)
*
0364: MOVLW 08
0365: MOVWF 78
0366: NOP
0367: NOP
0368: BCF 07.3
0369: BCF 50.3
036A: MOVF 50,W
036B: BSF 03.5
036C: MOVWF 07
036D: NOP
036E: BCF 03.5
036F: RLF 62,F
0370: BCF 07.4
0371: BTFSS 03.0
0372: GOTO 379
0373: BSF 50.4
0374: MOVF 50,W
0375: BSF 03.5
0376: MOVWF 07
0377: GOTO 37D
0378: BCF 03.5
0379: BCF 50.4
037A: MOVF 50,W
037B: BSF 03.5
037C: MOVWF 07
037D: NOP
037E: BCF 03.5
037F: BSF 50.3
0380: MOVF 50,W
0381: BSF 03.5
0382: MOVWF 07
0383: BCF 03.5
0384: BTFSC 07.3
0385: GOTO 388
0386: BSF 03.5
0387: GOTO 383
0388: DECFSZ 78,F
0389: GOTO 366
038A: NOP
038B: BCF 07.3
038C: BCF 50.3
038D: MOVF 50,W
038E: BSF 03.5
038F: MOVWF 07
0390: NOP
0391: BCF 03.5
0392: BSF 50.4
0393: MOVF 50,W
0394: BSF 03.5
0395: MOVWF 07
0396: NOP
0397: NOP
0398: BCF 03.5
0399: BSF 50.3
039A: MOVF 50,W
039B: BSF 03.5
039C: MOVWF 07
039D: BCF 03.5
039E: BTFSC 07.3
039F: GOTO 3A2
03A0: BSF 03.5
03A1: GOTO 39D
03A2: CLRF 78
03A3: NOP
03A4: BTFSC 07.4
03A5: BSF 78.0
03A6: BCF 07.3
03A7: BCF 50.3
03A8: MOVF 50,W
03A9: BSF 03.5
03AA: MOVWF 07
03AB: BCF 03.5
03AC: BCF 07.4
03AD: BCF 50.4
03AE: MOVF 50,W
03AF: BSF 03.5
03B0: MOVWF 07
03B1: BCF 03.5
03B2: RETLW 00
03B3: MOVLW 08
03B4: MOVWF 63
03B5: MOVF 77,W
03B6: MOVWF 64
03B7: BSF 50.4
03B8: MOVF 50,W
03B9: BSF 03.5
03BA: MOVWF 07
03BB: NOP
03BC: BCF 03.5
03BD: BSF 50.3
03BE: MOVF 50,W
03BF: BSF 03.5
03C0: MOVWF 07
03C1: BCF 03.5
03C2: BTFSC 07.3
03C3: GOTO 3C6
03C4: BSF 03.5
03C5: GOTO 3C1
03C6: BTFSC 07.4
03C7: BSF 03.0
03C8: BTFSS 07.4
03C9: BCF 03.0
03CA: RLF 78,F
03CB: NOP
03CC: BCF 50.3
03CD: MOVF 50,W
03CE: BSF 03.5
03CF: MOVWF 07
03D0: BCF 03.5
03D1: BCF 07.3
03D2: DECFSZ 63,F
03D3: GOTO 3B7
03D4: BSF 50.4
03D5: MOVF 50,W
03D6: BSF 03.5
03D7: MOVWF 07
03D8: NOP
03D9: BCF 03.5
03DA: BCF 07.4
03DB: MOVF 64,W
03DC: BTFSC 03.2
03DD: GOTO 3E3
03DE: BCF 50.4
03DF: MOVF 50,W
03E0: BSF 03.5
03E1: MOVWF 07
03E2: BCF 03.5
03E3: NOP
03E4: BSF 50.3
03E5: MOVF 50,W
03E6: BSF 03.5
03E7: MOVWF 07
03E8: BCF 03.5
03E9: BTFSC 07.3
03EA: GOTO 3ED
03EB: BSF 03.5
03EC: GOTO 3E8
03ED: NOP
03EE: BCF 07.3
03EF: BCF 50.3
03F0: MOVF 50,W
03F1: BSF 03.5
03F2: MOVWF 07
03F3: NOP
03F4: BCF 03.5
03F5: BCF 07.4
03F6: BCF 50.4
03F7: MOVF 50,W
03F8: BSF 03.5
03F9: MOVWF 07
03FA: BCF 03.5
03FB: RETLW 00
*
04D7: MOVLW FF
04D8: MOVWF 50
....................
.................... char dot_flag=0;
04D9: CLRF 51
.................... uchar dura_time;
.................... uchar is_set=0;
04DA: CLRF 53
.................... uchar count_day_flag=0;
04DB: CLRF 54
.................... uchar time_flag=0;
04DC: CLRF 55
.................... //*************写SD2304时钟芯片************************//
.................... /*
.................... void wr2304byte(unsigned char cmd,unsigned char add,unsigned char data)
.................... {
.................... i2c_start();
.................... i2c_write(cmd);
.................... i2c_write(add);
.................... i2c_write(data);
.................... i2c_stop();
.................... }
....................
.................... void write2304(uchar min,uchar hour,uchar day)
.................... {
....................
.................... wr2304byte(0x64,0x10,min); //分钟
.................... wr2304byte(0x64,0x20,hour); //小时
.................... wr2304byte(0x64,0x40,day); //天
.................... wr2304byte(0x64,0x50,0x11); //月
.................... wr2304byte(0x64,0x60,0x06); //年
.................... // wr2304byte(0x64,0x70,0x00);
.................... // wr2304byte(0x64,0xf0,0x20); //24小时制,秒调整,禁止32K脉冲输出
.................... }
.................... */
.................... //**********************读SD2304实时时钟*********************//
....................
.................... void read2304(unsigned char cmd,unsigned char add,unsigned char mmd)
.................... {
.................... UCHAR i;
.................... #use i2c(master,sda=PIN_C4,scl=PIN_C3)
.................... restart_wdt();
*
03FC: CLRWDT
.................... i2c_start();
03FD: BSF 50.4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -