📄 demo.lst
字号:
085A: SUBWF 38,F
.................... set_pwm2(fpwm);
085B: MOVF 38,W
085C: MOVWF 3B
085D: MOVF 37,W
085E: MOVWF 3A
085F: BCF 0A.3
0860: CALL 70B
0861: BSF 0A.3
.................... printf("%ld \n",fpwm);
0862: MOVLW 10
0863: MOVWF 04
0864: MOVF 38,W
0865: MOVWF 3F
0866: MOVF 37,W
0867: MOVWF 3E
0868: BCF 0A.3
0869: CALL 768
086A: BSF 0A.3
086B: MOVLW 20
086C: CLRWDT
086D: BTFSS 0C.4
086E: GOTO 06C
086F: MOVWF 19
0870: MOVLW 0A
0871: CLRWDT
0872: BTFSS 0C.4
0873: GOTO 071
0874: MOVWF 19
.................... // putc(fpwm>>8);
.................... // putc(fpwm&0x00ff);
.................... }
.................... }
.................... else if(i == ESC_KEY)
0875: GOTO 082
0876: MOVF 39,W
0877: SUBLW 1B
0878: BTFSS 03.2
0879: GOTO 082
.................... {
.................... input(beep);
087A: BSF 28.1
087B: MOVF 28,W
087C: BSF 03.5
087D: MOVWF 07
.................... return(0);
087E: MOVLW 00
087F: MOVWF 78
0880: GOTO 084
0881: BCF 03.5
.................... }
.................... }
0882: GOTO 019
0883: BSF 03.5
.................... }
0884: BCF 03.5
0885: BCF 0A.3
0886: BSF 0A.4
0887: GOTO 697 (RETURN)
....................
.................... #include "..\demo\realtime.c"
.................... //#include "..\demo\def.h"
.................... //#include "..\demo\iic.h"
.................... //extern int8 buffer[8];
....................
.................... int8 Test_rlt()
.................... {
.................... int8 i;
.................... int8 temp[7];
.................... rlt_loop:
.................... puts("please select a number of the function\n");
*
0923: CLRF 3D
0924: MOVF 3D,W
0925: BCF 0A.3
0926: CALL 081
0927: BSF 0A.3
0928: IORLW 00
0929: BTFSC 03.2
092A: GOTO 131
092B: INCF 3D,F
092C: CLRWDT
092D: BTFSS 0C.4
092E: GOTO 12C
092F: MOVWF 19
0930: GOTO 124
0931: MOVLW 0D
0932: CLRWDT
0933: BTFSS 0C.4
0934: GOTO 132
0935: MOVWF 19
0936: MOVLW 0A
0937: CLRWDT
0938: BTFSS 0C.4
0939: GOTO 137
093A: MOVWF 19
.................... puts("1 display time\n");
093B: CLRF 3D
093C: MOVF 3D,W
093D: BCF 0A.3
093E: CALL 0AD
093F: BSF 0A.3
0940: IORLW 00
0941: BTFSC 03.2
0942: GOTO 149
0943: INCF 3D,F
0944: CLRWDT
0945: BTFSS 0C.4
0946: GOTO 144
0947: MOVWF 19
0948: GOTO 13C
0949: MOVLW 0D
094A: CLRWDT
094B: BTFSS 0C.4
094C: GOTO 14A
094D: MOVWF 19
094E: MOVLW 0A
094F: CLRWDT
0950: BTFSS 0C.4
0951: GOTO 14F
0952: MOVWF 19
.................... puts("2 set time\n");
0953: CLRF 3D
0954: MOVF 3D,W
0955: BCF 0A.3
0956: CALL 0CC
0957: BSF 0A.3
0958: IORLW 00
0959: BTFSC 03.2
095A: GOTO 161
095B: INCF 3D,F
095C: CLRWDT
095D: BTFSS 0C.4
095E: GOTO 15C
095F: MOVWF 19
0960: GOTO 154
0961: MOVLW 0D
0962: CLRWDT
0963: BTFSS 0C.4
0964: GOTO 162
0965: MOVWF 19
0966: MOVLW 0A
0967: CLRWDT
0968: BTFSS 0C.4
0969: GOTO 167
096A: MOVWF 19
.................... puts("ESC to return\n");
096B: CLRF 3D
096C: MOVF 3D,W
096D: BCF 0A.3
096E: CALL 0E7
096F: BSF 0A.3
0970: IORLW 00
0971: BTFSC 03.2
0972: GOTO 179
0973: INCF 3D,F
0974: CLRWDT
0975: BTFSS 0C.4
0976: GOTO 174
0977: MOVWF 19
0978: GOTO 16C
0979: MOVLW 0D
097A: CLRWDT
097B: BTFSS 0C.4
097C: GOTO 17A
097D: MOVWF 19
097E: MOVLW 0A
097F: CLRWDT
0980: BTFSS 0C.4
0981: GOTO 17F
0982: MOVWF 19
.................... while(!kbhit());
0983: BTFSS 0C.5
0984: GOTO 183
.................... i = getc();
0985: CLRWDT
0986: BTFSS 0C.5
0987: GOTO 185
0988: MOVF 1A,W
0989: MOVWF 35
.................... if(i == 1)
098A: DECFSZ 35,W
098B: GOTO 205
.................... {
.................... while(!kbhit())
.................... {
098C: BTFSC 0C.5
098D: GOTO 1FF
.................... iic_start();
098E: BCF 0A.3
098F: CALL 7D4
0990: BSF 0A.3
.................... i2c_write(ADDR_IIC_RTC);
0991: MOVLW A2
0992: MOVWF 43
0993: BCF 0A.3
0994: CALL 7E4
0995: BSF 0A.3
.................... i2c_write(0x2);
0996: MOVLW 02
0997: MOVWF 43
0998: BCF 0A.3
0999: CALL 7E4
099A: BSF 0A.3
.................... reiic((ADDR_IIC_RTC+1),7,buffer); //---------读当前的秒,分,时,日,周月年
099B: MOVLW A3
099C: MOVWF 3D
099D: MOVLW 07
099E: MOVWF 3E
099F: CLRF 40
09A0: MOVLW 29
09A1: MOVWF 3F
09A2: CALL 097
.................... buffer[0] &= 0x7f; //秒
09A3: BCF 29.7
.................... buffer[1] &= 0x7f;
09A4: BCF 2A.7
.................... buffer[2] &= 0x3f;
09A5: MOVLW 3F
09A6: ANDWF 2B,F
.................... buffer[3] &= 0x3f;
09A7: ANDWF 2C,F
.................... buffer[4] &= 0x07;
09A8: MOVLW 07
09A9: ANDWF 2D,F
.................... buffer[5] &= 0x1f; //月
09AA: MOVLW 1F
09AB: ANDWF 2E,F
.................... printf( "RTC time : %02x-%02x-%02x %02x:%02x:%02x\n", buffer[6], buffer[5], buffer[3], buffer[2], buffer[1], buffer[0] );
09AC: CLRF 3D
09AD: MOVF 3D,W
09AE: BCF 0A.3
09AF: CALL 0FA
09B0: BSF 0A.3
09B1: INCF 3D,F
09B2: MOVWF 77
09B3: CLRWDT
09B4: BTFSS 0C.4
09B5: GOTO 1B3
09B6: MOVWF 19
09B7: MOVLW 0B
09B8: SUBWF 3D,W
09B9: BTFSS 03.2
09BA: GOTO 1AD
09BB: MOVF 2F,W
09BC: MOVWF 3E
09BD: MOVLW 57
09BE: MOVWF 3F
09BF: CALL 0C5
09C0: MOVLW 2D
09C1: CLRWDT
09C2: BTFSS 0C.4
09C3: GOTO 1C1
09C4: MOVWF 19
09C5: MOVF 2E,W
09C6: MOVWF 3E
09C7: MOVLW 57
09C8: MOVWF 3F
09C9: CALL 0C5
09CA: MOVLW 2D
09CB: CLRWDT
09CC: BTFSS 0C.4
09CD: GOTO 1CB
09CE: MOVWF 19
09CF: MOVF 2C,W
09D0: MOVWF 3E
09D1: MOVLW 57
09D2: MOVWF 3F
09D3: CALL 0C5
09D4: MOVLW 20
09D5: CLRWDT
09D6: BTFSS 0C.4
09D7: GOTO 1D5
09D8: MOVWF 19
09D9: MOVF 2B,W
09DA: MOVWF 3E
09DB: MOVLW 57
09DC: MOVWF 3F
09DD: CALL 0C5
09DE: MOVLW 3A
09DF: CLRWDT
09E0: BTFSS 0C.4
09E1: GOTO 1DF
09E2: MOVWF 19
09E3: MOVF 2A,W
09E4: MOVWF 3E
09E5: MOVLW 57
09E6: MOVWF 3F
09E7: CALL 0C5
09E8: MOVLW 3A
09E9: CLRWDT
09EA: BTFSS 0C.4
09EB: GOTO 1E9
09EC: MOVWF 19
09ED: MOVF 29,W
09EE: MOVWF 3E
09EF: MOVLW 57
09F0: MOVWF 3F
09F1: CALL 0C5
09F2: MOVLW 0A
09F3: CLRWDT
09F4: BTFSS 0C.4
09F5: GOTO 1F3
09F6: MOVWF 19
.................... delay_ms(800);
09F7: MOVLW 04
09F8: MOVWF 3D
09F9: MOVLW C8
09FA: MOVWF 3E
09FB: CALL 0EA
09FC: DECFSZ 3D,F
09FD: GOTO 1F9
.................... }
09FE: GOTO 18C
.................... getc();
09FF: CLRWDT
0A00: BTFSS 0C.5
0A01: GOTO 1FF
0A02: MOVF 1A,W
.................... goto rlt_loop;
0A03: GOTO 123
.................... }
.................... else if(i == 2)
0A04: GOTO 251
0A05: MOVF 35,W
0A06: SUBLW 02
0A07: BTFSS 03.2
0A08: GOTO 24C
.................... {
.................... for(i = 0;i < 7; i++)
0A09: CLRF 35
0A0A: MOVF 35,W
0A0B: SUBLW 06
0A0C: BTFSS 03.0
0A0D: GOTO 219
.................... {
.................... buffer[i] = getc();
0A0E: MOVLW 29
0A0F: ADDWF 35,W
0A10: MOVWF 04
0A11: BCF 03.7
0A12: CLRWDT
0A13: BTFSS 0C.5
0A14: GOTO 212
0A15: MOVF 1A,W
0A16: MOVWF 00
.................... }
0A17: INCF 35,F
0A18: GOTO 20A
.................... buffer[0] &= 0x7f; //秒
0A19: BCF 29.7
.................... buffer[1] &= 0x7f;
0A1A: BCF 2A.7
.................... buffer[2] &= 0x3f;
0A1B: MOVLW 3F
0A1C: ANDWF 2B,F
.................... buffer[3] &= 0x3f;
0A1D: ANDWF 2C,F
.................... buffer[4] &= 0x07;
0A1E: MOVLW 07
0A1F: ANDWF 2D,F
.................... buffer[5] &= 0x1f; //月
0A20: MOVLW 1F
0A21: ANDWF 2E,F
.................... iic_start();
0A22: BCF 0A.3
0A23: CALL 7D4
0A24: BSF 0A.3
.................... i2c_write(ADDR_IIC_RTC);
0A25: MOVLW A2
0A26: MOVWF 43
0A27: BCF 0A.3
0A28: CALL 7E4
0A29: BSF 0A.3
.................... wriic(7,2,buffer);
0A2A: MOVLW 07
0A2B: MOVWF 3D
0A2C: MOVLW 02
0A2D: MOVWF 3E
0A2E: CLRF 40
0A2F: MOVLW 29
0A30: MOVWF 3F
0A31: CALL 103
.................... puts("RTC set successful\n");
0A32: CLRF 3D
0A33: MOVF 3D,W
0A34: BCF 0A.3
0A35: CALL 12C
0A36: BSF 0A.3
0A37: IORLW 00
0A38: BTFSC 03.2
0A39: GOTO 240
0A3A: INCF 3D,F
0A3B: CLRWDT
0A3C: BTFSS 0C.4
0A3D: GOTO 23B
0A3E: MOVWF 19
0A3F: GOTO 233
0A40: MOVLW 0D
0A41: CLRWDT
0A42: BTFSS 0C.4
0A43: GOTO 241
0A44: MOVWF 19
0A45: MOVLW 0A
0A46: CLRWDT
0A47: BTFSS 0C.4
0A48: GOTO 246
0A49: MOVWF 19
.................... goto rlt_loop;
0A4A: GOTO 123
.................... }
....................
.................... else if(i == ESC_KEY)
0A4B: GOTO 251
0A4C: MOVF 35,W
0A4D: SUBLW 1B
0A4E: BTFSS 03.2
0A4F: GOTO 251
.................... {
.................... return;
0A50: GOTO 251
.................... }
....................
.................... }
0A51: BCF 0A.3
0A52: BSF 0A.4
0A53: GOTO 697 (RETURN)
....................
.................... #include "..\demo\adc.c"
....................
.................... void adc_init()
.................... {
.................... #if defined (PIC16F877)
.................... setup_adc_ports(AN0);
.................... #elif defined (PIN16F73)
.................... setup_adc_ports(RA0_RA1_RA3);
.................... #endif
.................... set_adc_channel (0);
0A54: MOVLW 00
0A55: MOVWF 78
0A56: MOVF 1F,W
0A57: ANDLW C7
0A58: IORWF 78,W
0A59: MOVWF 1F
.................... setup_adc(ADC_CLOCK_INTERNAL);
0A5A: BSF 03.5
0A5B: BCF 1F.6
0A5C: BCF 03.5
0A5D: BSF 1F.6
0A5E: BSF 1F.7
0A5F: BSF 03.5
0A60: BSF 1F.7
0A61: BCF 03.5
0A62: BSF 1F.0
.................... input(adc0);
0A63: BSF 03.5
0A64: BSF 05.0
.................... }
0A65: BCF 03.5
0A66: RETLW 00
.................... int8 Test_adc()
.................... {
.................... int16 i;
.................... adc_init();
0A67: CALL 254
.................... puts("Adc start,use RA0.\n press ESC to return\n");
0A68: CLRF 37
0A69: MOVF 37,W
0A6A: BCF 0A.3
0A6B: CALL 144
0A6C: BSF 0A.3
0A6D: IORLW 00
0A6E: BTFSC 03.2
0A6F: GOTO 276
0A70: INCF 37,F
0A71: CLRWDT
0A72: BTFSS 0C.4
0A73: GOTO 271
0A74: MOVWF 19
0A75: GOTO 269
0A76: MOVLW 0D
0A77: CLRWDT
0A78: BTFSS 0C.4
0A79: GOTO 277
0A7A: MOVWF 19
0A7B: MOVLW 0A
0A7C: CLRWDT
0A7D: BTFSS 0C.4
0A7E: GOTO 27C
0A7F: MOVWF 19
.................... while(TRUE)
.................... {
.................... if(!kbhit())
0A80: BTFSC 0C.5
0A81: GOTO 2AD
.................... {
.................... delay_us(20);
0A82: CLRWDT
0A83: MOVLW 0C
0A84: MOVWF 77
0A85: DECFSZ 77,F
0A86: GOTO 285
0A87: NOP
0A88: NOP
.................... i = read_adc();
0A89: BSF 1F.2
0A8A: BTFSC 1F.2
0A8B: GOTO 28A
0A8C: BSF 03.5
0A8D: MOVF 1E,W
0A8E: BCF 03.5
0A8F: MOVWF 35
0A90: MOVF 1E,W
0A91: MOVWF 36
.................... delay_ms(300);
0A92: MOVLW 02
0A93: MOVWF 37
0A94: MOVLW 96
0A95: MOVWF 3E
0A96: CALL 0EA
0A97: DECFSZ 37,F
0A98: GOTO 294
.................... printf("%ld \n" ,i);
0A99: MOVLW 10
0A9A: MOVWF 04
0A9B: MOVF 36,W
0A9C: MOVWF 3F
0A9D: MOVF 35,W
0A9E: MOVWF 3E
0A9F: BCF 0A.3
0AA0: CALL 768
0AA1: BSF 0A.3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -