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

📄 dongli_24h.lst

📁 这段源码包括7279驱动
💻 LST
📖 第 1 页 / 共 5 页
字号:
02A9:  MOVF   52,W
02AA:  MOVWF  7D
02AB:  CALL   05C
.................... 					break;  
02AC:  GOTO   2AD
.................... 				default:  
.................... 			}  
.................... 		}  
....................   
.................... 		if(is_set==1)  
.................... 		{  
02AD:  DECFSZ 53,W
02AE:  GOTO   2DE
.................... 			disable_interrupts(int_TIMER1);  
02AF:  BSF    03.5
02B0:  BCF    0C.0
.................... 			BCD_time= HEX_TO_BCD(dura_time);  
02B1:  BCF    03.5
02B2:  MOVF   52,W
02B3:  MOVWF  7C
02B4:  CALL   0C8
02B5:  MOVF   78,W
02B6:  MOVWF  76
.................... 			write7279(0x80,(BCD_time & 0x0F));  
02B7:  MOVF   76,W
02B8:  ANDLW  0F
02B9:  MOVWF  7C
02BA:  MOVLW  80
02BB:  BSF    03.5
02BC:  MOVWF  28
02BD:  MOVF   7C,W
02BE:  MOVWF  29
02BF:  BCF    03.5
02C0:  CALL   1BD
.................... 			write7279(0x81,(BCD_time & 0xF0)>>4);  
02C1:  MOVF   76,W
02C2:  ANDLW  F0
02C3:  MOVWF  77
02C4:  SWAPF  77,W
02C5:  MOVWF  7D
02C6:  MOVLW  0F
02C7:  ANDWF  7D,F
02C8:  MOVLW  81
02C9:  BSF    03.5
02CA:  MOVWF  28
02CB:  MOVF   7D,W
02CC:  MOVWF  29
02CD:  BCF    03.5
02CE:  CALL   1BD
.................... 			write7279(0x82,0x0F);  
02CF:  MOVLW  82
02D0:  BSF    03.5
02D1:  MOVWF  28
02D2:  MOVLW  0F
02D3:  MOVWF  29
02D4:  BCF    03.5
02D5:  CALL   1BD
.................... 			write7279(0x83,0x8C);  
02D6:  MOVLW  83
02D7:  BSF    03.5
02D8:  MOVWF  28
02D9:  MOVLW  8C
02DA:  MOVWF  29
02DB:  BCF    03.5
02DC:  CALL   1BD
.................... 			//count_day_flag=0;  
.................... 		}  
.................... 		else  
.................... 		{  
02DD:  GOTO   2E2
.................... 			dot_flag=0;  
02DE:  CLRF   51
.................... //			disp_time();  
.................... 			enable_interrupts(int_TIMER1);  
02DF:  BSF    03.5
02E0:  BSF    0C.0
02E1:  BCF    03.5
.................... 		}  
....................   
.................... 	}  
....................   
.................... 	enable_interrupts(int_RB);  
02E2:  BSF    0B.3
....................   
.................... }  
.................... //************************************************************************************************  
02E3:  BCF    0B.0
02E4:  BCF    0A.3
02E5:  BCF    0A.4
02E6:  GOTO   029
.................... #int_TIMER1  
.................... void TIMER1_isr()//显示时间  
.................... {  
.................... 	char hourl,hourh,minl,minh;  
.................... 	minl=(realtime.min & 0x0F);  
02E7:  MOVF   2E,W
02E8:  ANDLW  0F
02E9:  BSF    03.5
02EA:  MOVWF  25
.................... 	minh=(realtime.min & 0xF0)>>4;  
02EB:  BCF    03.5
02EC:  MOVF   2E,W
02ED:  ANDLW  F0
02EE:  MOVWF  77
02EF:  SWAPF  77,W
02F0:  BSF    03.5
02F1:  MOVWF  26
02F2:  MOVLW  0F
02F3:  ANDWF  26,F
.................... 	write7279(0x80,minl);  
02F4:  MOVLW  80
02F5:  MOVWF  28
02F6:  MOVF   25,W
02F7:  MOVWF  29
02F8:  BCF    03.5
02F9:  CALL   1BD
.................... 	write7279(0x81,minh);  
02FA:  MOVLW  81
02FB:  BSF    03.5
02FC:  MOVWF  28
02FD:  MOVF   26,W
02FE:  MOVWF  29
02FF:  BCF    03.5
0300:  CALL   1BD
.................... 	hourl=(realtime.hour & 0x0F);  
0301:  MOVF   2D,W
0302:  ANDLW  0F
0303:  BSF    03.5
0304:  MOVWF  23
.................... 	hourh=(realtime.hour & 0xF0)>>4;  
0305:  BCF    03.5
0306:  MOVF   2D,W
0307:  ANDLW  F0
0308:  MOVWF  77
0309:  SWAPF  77,W
030A:  BSF    03.5
030B:  MOVWF  24
030C:  MOVLW  0F
030D:  ANDWF  24,F
....................   
.................... 	if(dot_flag==0x00)  
.................... 		write7279(0x82,(hourl|0x80));  
030E:  BCF    03.5
030F:  MOVF   51,F
0310:  BTFSS  03.2
0311:  GOTO   31D
0312:  BSF    03.5
0313:  MOVF   23,W
0314:  IORLW  80
0315:  MOVWF  27
0316:  MOVLW  82
0317:  MOVWF  28
0318:  MOVF   27,W
0319:  MOVWF  29
031A:  BCF    03.5
031B:  CALL   1BD
.................... 	else  
.................... 		write7279(0x82,hourl);  
031C:  GOTO   324
031D:  MOVLW  82
031E:  BSF    03.5
031F:  MOVWF  28
0320:  MOVF   23,W
0321:  MOVWF  29
0322:  BCF    03.5
0323:  CALL   1BD
....................   
.................... 	//write7279(0x82,(hourl|0x80));  
.................... 	dot_flag=dot_flag^0x01;	  
0324:  MOVLW  01
0325:  XORWF  51,F
.................... 	write7279(0x83,hourh);  
0326:  MOVLW  83
0327:  BSF    03.5
0328:  MOVWF  28
0329:  MOVF   24,W
032A:  MOVWF  29
032B:  BCF    03.5
032C:  CALL   1BD
.................... }  
....................   
032D:  BCF    0C.0
032E:  BCF    0A.3
032F:  BCF    0A.4
0330:  GOTO   029
.................... unsigned char BCD_TO_HEX(unsigned char x)  
.................... {  
.................... 	unsigned char t,y;  
.................... 	t=(x/16)*10;  
*
009E:  SWAPF  6E,W
009F:  MOVWF  77
00A0:  MOVLW  0F
00A1:  ANDWF  77,F
00A2:  MOVF   77,W
00A3:  MOVWF  72
00A4:  MOVWF  73
00A5:  MOVLW  0A
00A6:  MOVWF  74
00A7:  CALL   079
00A8:  MOVF   78,W
00A9:  MOVWF  6F
.................... 	y=t+(x&0x0F);  
00AA:  MOVF   6E,W
00AB:  ANDLW  0F
00AC:  ADDWF  6F,W
00AD:  MOVWF  70
.................... 	return y;  
00AE:  MOVF   70,W
00AF:  MOVWF  78
.................... }  
00B0:  RETLW  00
....................   
.................... unsigned char HEX_TO_BCD(unsigned char x)  
.................... {  
.................... 	unsigned char t,y;  
.................... 	t=(x/10)*16;  
*
00C8:  MOVF   7C,W
00C9:  BSF    03.5
00CA:  MOVWF  20
00CB:  MOVLW  0A
00CC:  MOVWF  21
00CD:  BCF    03.5
00CE:  CALL   0B1
00CF:  SWAPF  78,W
00D0:  MOVWF  7D
00D1:  MOVLW  F0
00D2:  ANDWF  7D,F
.................... 	y=t+x%10;  
00D3:  MOVF   7C,W
00D4:  BSF    03.5
00D5:  MOVWF  20
00D6:  MOVLW  0A
00D7:  MOVWF  21
00D8:  BCF    03.5
00D9:  CALL   0B1
00DA:  MOVF   77,W
00DB:  ADDWF  7D,W
00DC:  MOVWF  7E
.................... 	delay_us(1);  
00DD:  CLRWDT
.................... 	return y;  
00DE:  MOVF   7E,W
00DF:  MOVWF  78
.................... }  
00E0:  RETLW  00
....................   
.................... void first_run()  
.................... {  
.................... 	uchar is_first;  
.................... 	is_first=EEPROM_read_parameter(first_flag);  
*
053C:  MOVLW  18
053D:  MOVWF  5F
053E:  CALL   354
053F:  MOVF   78,W
0540:  MOVWF  5E
.................... 	if(is_first!=0xAA)  
.................... 	{  
0541:  MOVF   5E,W
0542:  SUBLW  AA
0543:  BTFSC  03.2
0544:  GOTO   589
.................... 		EEPROM_write_parameter(a_year,lmt_year);  
0545:  CLRF   28
0546:  BTFSC  0B.7
0547:  BSF    28.7
0548:  BCF    0B.7
0549:  MOVLW  10
054A:  MOVWF  7C
054B:  MOVLW  07
054C:  MOVWF  7D
054D:  CALL   05C
054E:  BTFSC  28.7
054F:  BSF    0B.7
0550:  CLRF   28
0551:  BTFSC  0B.7
0552:  BSF    28.7
0553:  BCF    0B.7
.................... 		EEPROM_write_parameter(a_month,lmt_month);  
0554:  MOVLW  11
0555:  MOVWF  7C
0556:  MOVLW  02
0557:  MOVWF  7D
0558:  CALL   05C
0559:  BTFSC  28.7
055A:  BSF    0B.7
055B:  CLRF   28
055C:  BTFSC  0B.7
055D:  BSF    28.7
055E:  BCF    0B.7
.................... 		EEPROM_write_parameter(a_date,lmt_date);  
055F:  MOVLW  12
0560:  MOVWF  7C
0561:  MOVLW  16
0562:  MOVWF  7D
0563:  CALL   05C
0564:  BTFSC  28.7
0565:  BSF    0B.7
0566:  CLRF   28
0567:  BTFSC  0B.7
0568:  BSF    28.7
0569:  BCF    0B.7
.................... 		EEPROM_write_parameter(first_flag,0xAA);  
056A:  MOVLW  18
056B:  MOVWF  7C
056C:  MOVLW  AA
056D:  MOVWF  7D
056E:  CALL   05C
056F:  BTFSC  28.7
0570:  BSF    0B.7
0571:  CLRF   28
0572:  BTFSC  0B.7
0573:  BSF    28.7
0574:  BCF    0B.7
.................... 		EEPROM_write_parameter(pd_time,24);  
0575:  MOVLW  19
0576:  MOVWF  7C
0577:  MOVLW  18
0578:  MOVWF  7D
0579:  CALL   05C
057A:  BTFSC  28.7
057B:  BSF    0B.7
057C:  CLRF   28
057D:  BTFSC  0B.7
057E:  BSF    28.7
057F:  BCF    0B.7
.................... 		get_endate(lmt_year,lmt_month,lmt_date);	  
0580:  MOVLW  07
0581:  MOVWF  6B
0582:  MOVLW  02
0583:  MOVWF  6C
0584:  MOVLW  16
0585:  MOVWF  6D
0586:  CALL   0E1
0587:  BTFSC  28.7
0588:  BSF    0B.7
.................... 	}  
.................... }  
.................... void get_endate(uchar year,uchar month,uchar date)  
.................... {  
.................... 	year=BCD_TO_HEX(year);  
*
00E1:  MOVF   6B,W
00E2:  MOVWF  6E
00E3:  CALL   09E
00E4:  MOVF   78,W
00E5:  MOVWF  6B
.................... 	month=BCD_TO_HEX(month);  
00E6:  MOVF   6C,W
00E7:  MOVWF  6E
00E8:  CALL   09E
00E9:  MOVF   78,W
00EA:  MOVWF  6C
.................... 	date=BCD_TO_HEX(date);  
00EB:  MOVF   6D,W
00EC:  MOVWF  6E
00ED:  CALL   09E
00EE:  MOVF   78,W
00EF:  MOVWF  6D
....................   
.................... 	if(month==0x02 )  
.................... 	{  
00F0:  MOVF   6C,W
00F1:  SUBLW  02
00F2:  BTFSS  03.2
00F3:  GOTO   11E
.................... 		if( date>13)  
.................... 		{  
00F4:  MOVF   6D,W
00F5:  SUBLW  0D
00F6:  BTFSC  03.0
00F7:  GOTO   10C
.................... 			endtime.day=HEX_TO_BCD(date-13);  
00F8:  MOVLW  0D
00F9:  SUBWF  6D,W
00FA:  MOVWF  6E
00FB:  MOVWF  7C
00FC:  CALL   0C8
00FD:  MOVF   78,W
00FE:  MOVWF  31
.................... 			endtime.month=HEX_TO_BCD(month+1);  
00FF:  MOVLW  01
0100:  ADDWF  6C,W
0101:  MOVWF  6E
0102:  MOVWF  7C
0103:  CALL   0C8
0104:  MOVF   78,W
0105:  MOVWF  30
.................... 			endtime.year=HEX_TO_BCD(year);  
0106:  MOVF   6B,W
0107:  MOVWF  7C
0108:  CALL   0C8
0109:  MOVF   78,W
010A:  MOVWF  2F
.................... 		}  
.................... 		else   
.................... 		{  
010B:  GOTO   11D
.................... 			endtime.day=HEX_TO_BCD(date+15);  
010C:  MOVLW  0F
010D:  ADDWF  6D,W
010E:  MOVWF  6E
010F:  MOVWF  7C
0110:  CALL   0C8
0111:  MOVF   78,W
01

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -