Electronic Components Datasheet Search
  New Zealand  ▼
ALLDATASHEET.CO.NZ

X  

PIC18F23K22-E/ML Datasheet(PDF) 326 Page - Microchip Technology

Part # PIC18F23K22-E/ML
Description  28/40/44-Pin, Low-Power, High-Performance Microcontrollers with nanoWatt XLP Technology
PDF  496 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  MICROCHIP [Microchip Technology]
Direct Link  http://www.microchip.com
Logo MICROCHIP - Microchip Technology

PIC18F23K22-E/ML Datasheet(HTML) 326 Page - Microchip Technology

Back Button PIC18F23K22-E/ML Datasheet HTML 322Page - Microchip Technology PIC18F23K22-E/ML Datasheet HTML 323Page - Microchip Technology PIC18F23K22-E/ML Datasheet HTML 324Page - Microchip Technology PIC18F23K22-E/ML Datasheet HTML 325Page - Microchip Technology PIC18F23K22-E/ML Datasheet HTML 326Page - Microchip Technology PIC18F23K22-E/ML Datasheet HTML 327Page - Microchip Technology PIC18F23K22-E/ML Datasheet HTML 328Page - Microchip Technology PIC18F23K22-E/ML Datasheet HTML 329Page - Microchip Technology PIC18F23K22-E/ML Datasheet HTML 330Page - Microchip Technology Next Button
Zoom Inzoom in Zoom Outzoom out
 326 / 496 page
background image
PIC18(L)F2X/4XK22
DS41412C-page 326
Preliminary
 2010 Microchip Technology Inc.
EXAMPLE 19-4:
ROUTINE FOR CAPACITIVE TOUCH SWITCH
#include "p18cxxx.h"
#define COUNT 500
//@ 8MHz = 125uS.
#define DELAY for(i=0;i<COUNT;i++)
#define OPENSW 1000
//Un-pressed switch value
#define TRIP 300
//Difference between pressed
//and un-pressed switch
#define HYST 65
//amount to change
//from pressed to un-pressed
#define PRESSED 1
#define UNPRESSED 0
int main(void)
{
unsigned int Vread;
//storage for reading
unsigned int switchState;
int i;
//assume CTMU and A/D have been setup correctly
//see Example 25-1 for CTMU & A/D setup
setup();
CTMUCONHbits.CTMUEN = 1;
// Enable the CTMU
CTMUCONLbits.EDG1STAT = 0;
// Set Edge status bits to zero
CTMUCONLbits.EDG2STAT = 0;
CTMUCONHbits.IDISSEN = 1;
//drain charge on the circuit
DELAY;
//wait 125us
CTMUCONHbits.IDISSEN = 0;
//end drain of circuit
CTMUCONLbits.EDG1STAT = 1;
//Begin charging the circuit
//using CTMU current source
DELAY;
//wait for 125us
CTMUCONLbits.EDG1STAT = 0;
//Stop charging circuit
PIR1bits.ADIF = 0;
//make sure A/D Int not set
ADCON0bits.GO=1;
//and begin A/D conv.
while(!PIR1bits.ADIF);
//Wait for A/D convert complete
Vread = ADRES;
//Get the value from the A/D
if(Vread < OPENSW - TRIP)
{
switchState = PRESSED;
}
else if(Vread > OPENSW - TRIP + HYST)
{
switchState = UNPRESSED;
}
}



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100  ...More


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com