⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dongli_24h.lst

📁 这段源码包括7279驱动
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -