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

📄 mtouch16.p1

📁 用pic16f883做的16个键的触摸按键(MTOUCH)实现电容式触摸按键的代码。有mtouch16.c构成
💻 P1
📖 第 1 页 / 共 4 页
字号:
[v _BRG14 `b 1 e@1238 ]
[; ;pic16f887.h: 435: bit BRG14 @ ((unsigned)&SPBRGH*8)+6;

"436
[v _BRG15 `b 1 e@1239 ]
[; ;pic16f887.h: 436: bit BRG15 @ ((unsigned)&SPBRGH*8)+7;

"439
[v _PDC0 `Vb 1 e@1240 ]
[; ;pic16f887.h: 439: volatile bit PDC0 @ ((unsigned)&PWM1CON*8)+0;

"440
[v _PDC1 `Vb 1 e@1241 ]
[; ;pic16f887.h: 440: volatile bit PDC1 @ ((unsigned)&PWM1CON*8)+1;

"441
[v _PDC2 `Vb 1 e@1242 ]
[; ;pic16f887.h: 441: volatile bit PDC2 @ ((unsigned)&PWM1CON*8)+2;

"442
[v _PDC3 `Vb 1 e@1243 ]
[; ;pic16f887.h: 442: volatile bit PDC3 @ ((unsigned)&PWM1CON*8)+3;

"443
[v _PDC4 `Vb 1 e@1244 ]
[; ;pic16f887.h: 443: volatile bit PDC4 @ ((unsigned)&PWM1CON*8)+4;

"444
[v _PDC5 `Vb 1 e@1245 ]
[; ;pic16f887.h: 444: volatile bit PDC5 @ ((unsigned)&PWM1CON*8)+5;

"445
[v _PDC6 `Vb 1 e@1246 ]
[; ;pic16f887.h: 445: volatile bit PDC6 @ ((unsigned)&PWM1CON*8)+6;

"446
[v _PRSEN `Vb 1 e@1247 ]
[; ;pic16f887.h: 446: volatile bit PRSEN @ ((unsigned)&PWM1CON*8)+7;

"449
[v _PSSBD0 `b 1 e@1248 ]
[; ;pic16f887.h: 449: bit PSSBD0 @ ((unsigned)&ECCPAS*8)+0;

"450
[v _PSSBD1 `b 1 e@1249 ]
[; ;pic16f887.h: 450: bit PSSBD1 @ ((unsigned)&ECCPAS*8)+1;

"451
[v _PSSAC0 `b 1 e@1250 ]
[; ;pic16f887.h: 451: bit PSSAC0 @ ((unsigned)&ECCPAS*8)+2;

"452
[v _PSSAC1 `b 1 e@1251 ]
[; ;pic16f887.h: 452: bit PSSAC1 @ ((unsigned)&ECCPAS*8)+3;

"453
[v _ECCPAS0 `b 1 e@1252 ]
[; ;pic16f887.h: 453: bit ECCPAS0 @ ((unsigned)&ECCPAS*8)+4;

"454
[v _ECCPAS1 `b 1 e@1253 ]
[; ;pic16f887.h: 454: bit ECCPAS1 @ ((unsigned)&ECCPAS*8)+5;

"455
[v _ECCPAS2 `b 1 e@1254 ]
[; ;pic16f887.h: 455: bit ECCPAS2 @ ((unsigned)&ECCPAS*8)+6;

"456
[v _ECCPASE `Vb 1 e@1255 ]
[; ;pic16f887.h: 456: volatile bit ECCPASE @ ((unsigned)&ECCPAS*8)+7;

"459
[v _STRA `b 1 e@1256 ]
[; ;pic16f887.h: 459: bit STRA @ ((unsigned)&PSTRCON*8)+0;

"460
[v _STRB `b 1 e@1257 ]
[; ;pic16f887.h: 460: bit STRB @ ((unsigned)&PSTRCON*8)+1;

"461
[v _STRC `b 1 e@1258 ]
[; ;pic16f887.h: 461: bit STRC @ ((unsigned)&PSTRCON*8)+2;

"462
[v _STRD `b 1 e@1259 ]
[; ;pic16f887.h: 462: bit STRD @ ((unsigned)&PSTRCON*8)+3;

"463
[v _STRSYNC `b 1 e@1260 ]
[; ;pic16f887.h: 463: bit STRSYNC @ ((unsigned)&PSTRCON*8)+4;

"466
[v _VCFG0 `b 1 e@1276 ]
[; ;pic16f887.h: 466: bit VCFG0 @ ((unsigned)&ADCON1*8)+4;

"467
[v _VCFG1 `b 1 e@1277 ]
[; ;pic16f887.h: 467: bit VCFG1 @ ((unsigned)&ADCON1*8)+5;

"468
[v _ADFM `b 1 e@1279 ]
[; ;pic16f887.h: 468: bit ADFM @ ((unsigned)&ADCON1*8)+7;

"471
[v _SWDTEN `b 1 e@2088 ]
[; ;pic16f887.h: 471: bit SWDTEN @ ((unsigned)&WDTCON*8)+0;

"472
[v _WDTPS0 `b 1 e@2089 ]
[; ;pic16f887.h: 472: bit WDTPS0 @ ((unsigned)&WDTCON*8)+1;

"473
[v _WDTPS1 `b 1 e@2090 ]
[; ;pic16f887.h: 473: bit WDTPS1 @ ((unsigned)&WDTCON*8)+2;

"474
[v _WDTPS2 `b 1 e@2091 ]
[; ;pic16f887.h: 474: bit WDTPS2 @ ((unsigned)&WDTCON*8)+3;

"475
[v _WDTPS3 `b 1 e@2092 ]
[; ;pic16f887.h: 475: bit WDTPS3 @ ((unsigned)&WDTCON*8)+4;

"478
[v _C1CH0 `b 1 e@2104 ]
[; ;pic16f887.h: 478: bit C1CH0 @ ((unsigned)&CM1CON0*8)+0;

"479
[v _C1CH1 `b 1 e@2105 ]
[; ;pic16f887.h: 479: bit C1CH1 @ ((unsigned)&CM1CON0*8)+1;

"480
[v _C1R `b 1 e@2106 ]
[; ;pic16f887.h: 480: bit C1R @ ((unsigned)&CM1CON0*8)+2;

"481
[v _C1POL `b 1 e@2108 ]
[; ;pic16f887.h: 481: bit C1POL @ ((unsigned)&CM1CON0*8)+4;

"482
[v _C1OE `b 1 e@2109 ]
[; ;pic16f887.h: 482: bit C1OE @ ((unsigned)&CM1CON0*8)+5;

"483
[v _C1OUT `Vb 1 e@2110 ]
[; ;pic16f887.h: 483: volatile bit C1OUT @ ((unsigned)&CM1CON0*8)+6;

"484
[v _C1ON `b 1 e@2111 ]
[; ;pic16f887.h: 484: bit C1ON @ ((unsigned)&CM1CON0*8)+7;

"487
[v _C2CH0 `b 1 e@2112 ]
[; ;pic16f887.h: 487: bit C2CH0 @ ((unsigned)&CM2CON0*8)+0;

"488
[v _C2CH1 `b 1 e@2113 ]
[; ;pic16f887.h: 488: bit C2CH1 @ ((unsigned)&CM2CON0*8)+1;

"489
[v _C2R `b 1 e@2114 ]
[; ;pic16f887.h: 489: bit C2R @ ((unsigned)&CM2CON0*8)+2;

"490
[v _C2POL `b 1 e@2116 ]
[; ;pic16f887.h: 490: bit C2POL @ ((unsigned)&CM2CON0*8)+4;

"491
[v _C2OE `b 1 e@2117 ]
[; ;pic16f887.h: 491: bit C2OE @ ((unsigned)&CM2CON0*8)+5;

"492
[v _C2OUT `Vb 1 e@2118 ]
[; ;pic16f887.h: 492: volatile bit C2OUT @ ((unsigned)&CM2CON0*8)+6;

"493
[v _C2ON `b 1 e@2119 ]
[; ;pic16f887.h: 493: bit C2ON @ ((unsigned)&CM2CON0*8)+7;

"496
[v _C2SYNC `b 1 e@2120 ]
[; ;pic16f887.h: 496: bit C2SYNC @ ((unsigned)&CM2CON1*8)+0;

"497
[v _T1GSS `b 1 e@2121 ]
[; ;pic16f887.h: 497: bit T1GSS @ ((unsigned)&CM2CON1*8)+1;

"498
[v _C2RSEL `b 1 e@2124 ]
[; ;pic16f887.h: 498: bit C2RSEL @ ((unsigned)&CM2CON1*8)+4;

"499
[v _C1RSEL `b 1 e@2125 ]
[; ;pic16f887.h: 499: bit C1RSEL @ ((unsigned)&CM2CON1*8)+5;

"500
[v _MC2OUT `Vb 1 e@2126 ]
[; ;pic16f887.h: 500: volatile bit MC2OUT @ ((unsigned)&CM2CON1*8)+6;

"501
[v _MC1OUT `Vb 1 e@2127 ]
[; ;pic16f887.h: 501: volatile bit MC1OUT @ ((unsigned)&CM2CON1*8)+7;

"504
[v _FVREN `b 1 e@3112 ]
[; ;pic16f887.h: 504: bit FVREN @ ((unsigned)&SRCON*8)+0;

"505
[v _PULSR `Vb 1 e@3114 ]
[; ;pic16f887.h: 505: volatile bit PULSR @ ((unsigned)&SRCON*8)+2;

"506
[v _PULSS `Vb 1 e@3115 ]
[; ;pic16f887.h: 506: volatile bit PULSS @ ((unsigned)&SRCON*8)+3;

"507
[v _C2REN `b 1 e@3116 ]
[; ;pic16f887.h: 507: bit C2REN @ ((unsigned)&SRCON*8)+4;

"508
[v _C1SEN `b 1 e@3117 ]
[; ;pic16f887.h: 508: bit C1SEN @ ((unsigned)&SRCON*8)+5;

"509
[v _SR0 `b 1 e@3118 ]
[; ;pic16f887.h: 509: bit SR0 @ ((unsigned)&SRCON*8)+6;

"510
[v _SR1 `b 1 e@3119 ]
[; ;pic16f887.h: 510: bit SR1 @ ((unsigned)&SRCON*8)+7;

"513
[v _ABDEN `Vb 1 e@3128 ]
[; ;pic16f887.h: 513: volatile bit ABDEN @ ((unsigned)&BAUDCTL*8)+0;

"514
[v _WUE `Vb 1 e@3129 ]
[; ;pic16f887.h: 514: volatile bit WUE @ ((unsigned)&BAUDCTL*8)+1;

"515
[v _BRG16 `b 1 e@3131 ]
[; ;pic16f887.h: 515: bit BRG16 @ ((unsigned)&BAUDCTL*8)+3;

"516
[v _SCKP `Vb 1 e@3132 ]
[; ;pic16f887.h: 516: volatile bit SCKP @ ((unsigned)&BAUDCTL*8)+4;

"517
[v _RCIDL `Vb 1 e@3134 ]
[; ;pic16f887.h: 517: volatile bit RCIDL @ ((unsigned)&BAUDCTL*8)+6;

"518
[v _ABDOVF `Vb 1 e@3135 ]
[; ;pic16f887.h: 518: volatile bit ABDOVF @ ((unsigned)&BAUDCTL*8)+7;

"521
[v _ANS0 `b 1 e@3136 ]
[; ;pic16f887.h: 521: bit ANS0 @ ((unsigned)&ANSEL*8)+0;

"522
[v _ANS1 `b 1 e@3137 ]
[; ;pic16f887.h: 522: bit ANS1 @ ((unsigned)&ANSEL*8)+1;

"523
[v _ANS2 `b 1 e@3138 ]
[; ;pic16f887.h: 523: bit ANS2 @ ((unsigned)&ANSEL*8)+2;

"524
[v _ANS3 `b 1 e@3139 ]
[; ;pic16f887.h: 524: bit ANS3 @ ((unsigned)&ANSEL*8)+3;

"525
[v _ANS4 `b 1 e@3140 ]
[; ;pic16f887.h: 525: bit ANS4 @ ((unsigned)&ANSEL*8)+4;

"533
[v _ANS8 `b 1 e@3144 ]
[; ;pic16f887.h: 533: bit ANS8 @ ((unsigned)&ANSELH*8)+0;

"534
[v _ANS9 `b 1 e@3145 ]
[; ;pic16f887.h: 534: bit ANS9 @ ((unsigned)&ANSELH*8)+1;

"535
[v _ANS10 `b 1 e@3146 ]
[; ;pic16f887.h: 535: bit ANS10 @ ((unsigned)&ANSELH*8)+2;

"536
[v _ANS11 `b 1 e@3147 ]
[; ;pic16f887.h: 536: bit ANS11 @ ((unsigned)&ANSELH*8)+3;

"537
[v _ANS12 `b 1 e@3148 ]
[; ;pic16f887.h: 537: bit ANS12 @ ((unsigned)&ANSELH*8)+4;

"538
[v _ANS13 `b 1 e@3149 ]
[; ;pic16f887.h: 538: bit ANS13 @ ((unsigned)&ANSELH*8)+5;

"541
[v _RD `Vb 1 e@3168 ]
[; ;pic16f887.h: 541: volatile bit RD @ ((unsigned)&EECON1*8)+0;

"542
[v _WR `Vb 1 e@3169 ]
[; ;pic16f887.h: 542: volatile bit WR @ ((unsigned)&EECON1*8)+1;

"543
[v _WREN `Vb 1 e@3170 ]
[; ;pic16f887.h: 543: volatile bit WREN @ ((unsigned)&EECON1*8)+2;

"544
[v _WRERR `Vb 1 e@3171 ]
[; ;pic16f887.h: 544: volatile bit WRERR @ ((unsigned)&EECON1*8)+3;

"545
[v _EEPGD `Vb 1 e@3175 ]
[; ;pic16f887.h: 545: volatile bit EEPGD @ ((unsigned)&EECON1*8)+7;

[; ;pic.h: 284: extern unsigned int flash_read(unsigned short addr);

[; ;pic.h: 314: extern void flash_copy(const unsigned char * source_addr,unsigned char length,unsigned short dest_addr);

[; ;eeprom_routines.h: 40: extern void eeprom_write(unsigned char addr, unsigned char value);

[; ;eeprom_routines.h: 41: extern unsigned char eeprom_read(unsigned char addr);

[; ;pic.h: 354: extern void _delay(unsigned long);

[; ;pic.h: 402: extern bit __timeout, __powerdown;

[; ;pic.h: 403: extern unsigned char __resetbits;

"67 F:\pro\mtouch16\mtouch16.h
[s S1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 :1 `uc 1 ]
[n S1 . BTN0 BTN1 BTN2 BTN3 BTN4 BTN5 BTN6 BTN7 BTN8 BTN9 BTN10 BTN11 BTN12 BTN13 BTN14 BTN15 ]
[v _BButtons `S1 1 t ]
[; ;mtouch16.h: 49: typedef struct {

[; ;mtouch16.h: 50: char BTN0:1;

[; ;mtouch16.h: 51: char BTN1:1;

[; ;mtouch16.h: 52: char BTN2:1;

[; ;mtouch16.h: 53: char BTN3:1;

[; ;mtouch16.h: 54: char BTN4:1;

[; ;mtouch16.h: 55: char BTN5:1;

[; ;mtouch16.h: 56: char BTN6:1;

[; ;mtouch16.h: 57: char BTN7:1;

[; ;mtouch16.h: 58: char BTN8:1;

[; ;mtouch16.h: 59: char BTN9:1;

[; ;mtouch16.h: 60: char BTN10:1;

[; ;mtouch16.h: 61: char BTN11:1;

[; ;mtouch16.h: 62: char BTN12:1;

[; ;mtouch16.h: 63: char BTN13:1;

[; ;mtouch16.h: 64: char BTN14:1;

[; ;mtouch16.h: 65: char BTN15:1;

[; ;mtouch16.h: 67: } BButtons;

"11 F:\pro\mtouch16\mtouch16.c
[; ;mtouch16.c: 11: asm("\tpsect config,class=CONFIG,delta=2"); asm("\tdw ""0x3FFC & 0x3FF7 & 0x3FEF & 0x3FDF & 0x3FFF & 0x3CFF & 0x2FFF & 0x3BFF & 0x37FF");

[; 	psect config,class=CONFIG,delta=2 ;#
[; 	dw 0x3FFC & 0x3FF7 & 0x3FEF & 0x3FDF & 0x3FFF & 0x3CFF & 0x2FFF & 0x3BFF & 0x37FF ;#
"12
[v _AvgIndex `uc 1 e ]
[; ;mtouch16.c: 12: unsigned char AvgIndex;

"13
[v _Buttons `S1 1 e ]
[; ;mtouch16.c: 13: BButtons Buttons;

"14
[v _RAW `Yui -> 16 `i e ]
[; ;mtouch16.c: 14: bank2 unsigned int RAW[16];

"15
[v _AVERAGE `Yui -> 16 `i e ]
[; ;mtouch16.c: 15: bank2 unsigned int AVERAGE[16];

"16
[v _TRIP `Zui -> 16 `i e ]
[; ;mtouch16.c: 16: bank3 unsigned int TRIP[16];

"17
[v _GUARD `Zui -> 16 `i e ]
[; ;mtouch16.c: 17: bank3 unsigned int GUARD[16];

"18
[v _FIRST `uc 1 e ]
[; ;mtouch16.c: 18: unsigned char FIRST;

"19
[v _INDEX `uc 1 e ]
[; ;mtouch16.c: 19: unsigned char INDEX;

"20
[v _VALUE `ui 1 e ]
[; ;mtouch16.c: 20: unsigned int VALUE;

"21
[v _BIGVAL `ui 1 e ]
[; ;mtouch16.c: 21: unsigned int BIGVAL;

"22
[v _SMALLVAL `ui 1 e ]
[; ;mtouch16.c: 22: unsigned int SMALLVAL;

"23
[v _COMP1 `Cuc -> 2 `i e ]
[i _COMP1
:U ..
-> -> 148 `i `uc
-> -> 149 `i `uc
..
][; ;mtouch16.c: 23: const unsigned char COMP1[2]= {0x94, 0x95};

"24
[v _COMP2 `Cuc -> 2 `i e ]
[i _COMP2
:U ..
-> -> 160 `i `uc
-> -> 161 `i `uc
..
][; ;mtouch16.c: 24: const unsigned char COMP2[2]= {0xA0, 0xA1};

[; ;mtouch16.c: 28: void Abit_init(void);

[; ;mtouch16.c: 29: void Abit_capinit(void);

[; ;mtouch16.c: 30: void Abit_restart_timer(void);

"31
[v F760 `(v 1 tf ]
[; ;mtouch16.c: 31: void interrupt isr(void);

[; ;mtouch16.c: 32: void Abit_next_channel(void);

"34
[v _main `(v 1 e ]
[p mainexit ]
{
[; ;mtouch16.c: 33: void main(void)

[; ;mtouch16.c: 34: {

[e :U _main ]
[f ]
[; ;mtouch16.c: 35: Abit_init();

"28
[v _Abit_init `(v 0 ef ]
"35
[e ( _Abit_init ..  ]
[; ;mtouch16.c: 36: RC1=1;

"36
[e = _RC1 -> -> 1 `i `b ]
[; ;mtouch16.c: 37: RC2=1;

"37
[e = _RC2 -> -> 1 `i `b ]
[; ;mtouch16.c: 38: RA6=1;

"38
[e = _RA6 -> -> 1 `i `b ]
[; ;mtouch16.c: 39: RA7=1;

"39
[e = _RA7 -> -> 1 `i `b ]
[; ;mtouch16.c: 40: RC5=1;

"40
[e = _RC5 -> -> 1 `i `b ]
[; ;mtouch16.c: 41: while(1)

"41
[e :U 4 ]
[; ;mtouch16.c: 42: {

[; ;mtouch16.c: 43: RC2=(Buttons.BTN0==1) ? 0 :1;

"43
[e = _RC2 -> ? == -> . _Buttons 0 `i -> 1 `i : -> 0 `i -> 1 `i `b ]
[; ;mtouch16.c: 44: RC5=(Buttons.BTN0==1) ? 0 :1;

"44
[e = _RC5 -> ? == -> . _Buttons 0 `i -> 1 `i : -> 0 `i -> 1 `i `b ]
[; ;mtouch16.c: 45: RC2=(Buttons.BTN1==1) ? 0 :1;

"45
[e = _RC2 -> ? == -> . _Buttons 1 `i -> 1 `i : -> 0 `i -> 1 `i `b ]
[; ;mtouch16.c: 46: RC5=(Buttons.BTN1==1) ? 0 :1;

"46
[e = _RC5 -> ? == -> . _Buttons 1 `i -> 1 `i : -> 0 `i -> 1 `i `b ]
"78
[e :U 3 ]
"41
[e $U 4  ]
[e :U 5 ]
"79
[; ;mtouch16.c: 78: }

[; ;mtouch16.c: 79: }

[e :UE 2 ]
}
"81
[v _Abit_init `(v 1 ef ]
{
[; ;mtouch16.c: 80: void Abit_init()

[; ;mtouch16.c: 81: {

[e :U _Abit_init ]
[f ]
[; ;mtouch16.c: 83: TRISA5=0;

"83
[e = _TRISA5 -> -> 0 `i `b ]
[; ;mtouch16.c: 84: TRISA0=1;

"84
[e = _TRISA0 -> -> 1 `i `b ]
[; ;mtouch16.c: 85: TRISA1=1;

"85
[e = _TRISA1 -> -> 1 `i `b ]
[; ;mtouch16.c: 86: TRISB3=1;

"86
[e = _TRISB3 -> -> 1 `i `b ]
[; ;mtouch16.c: 87: TRISB1=1;

"87
[e = _TRISB1 -> -> 1 `i `b ]
[; ;mtouch16.c: 88: TRISA0=1;

"88
[e = _TRISA0 -> -> 1 `i `b ]
[; ;mtouch16.c: 89: TRISC5=0;

"89
[e = _TRISC5 -> -> 0 `i `b ]
[; ;mtouch16.c: 90: TRISC1=0;

"90
[e = _TRISC1 -> -> 0 `i `b ]
[; ;mtouch16.c: 91: TRISC2=0;

"91
[e = _TRISC2 -> -> 0 `i `b ]
[; ;mtouch16.c: 92: TRISA6=0;

"92
[e = _TRISA6 -> -> 0 `i `b ]
[; ;mtouch16.c: 93: TRISA7=0;

"93
[e = _TRISA7 -> -> 0 `i `b ]
[; ;mtouch16.c: 94: TRISB0=0;

"94
[e = _TRISB0 -> -> 0 `i `b ]
[; ;mtouch16.c: 95: TRISB1=0;

"95
[e = _TRISB1 -> -> 0 `i `b ]
[; ;mtouch16.c: 96: TRISB2=0;

"96
[e = _TRISB2 -> -> 0 `i `b ]
[; ;mtouch16.c: 97: TRISB3=0;

"97
[e = _TRISB3 -> -> 0 `i `b ]
[; ;mtouch16.c: 99: Abit_capinit();

"29
[v _Abit_capinit `(v 0 ef ]
"99
[e ( _Abit_capinit ..  ]
[; ;mtouch16.c: 100: GIE=1;

"100
[e = _GIE -> -> 1 `i `b ]
"102
[; ;mtouch16.c: 102: }

[e :UE 6 ]
}
"104
[v _Abit_restart_timer `(v 1 ef ]
{
[; ;mtouch16.c: 103: void Abit_restart_timer(void)

[; ;mtouch16.c: 104: {

[e :U _Abit_restart_timer ]
[f ]
[; ;mtouch16.c: 106: TMR1L = 0;

⌨️ 快捷键说明

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