แผ่นเซ็ทSET TIMER PICตระกูล18FXXK20
17/6/2558 SONGCHAI PRAPATRUNGSEE
แผ่นเซ็ทSET TIMER PICตระกูล18FXXK20
แผ่นเซ็ทSET TIMER PICตระกูล18FXXK20
ตระกูลนี้ราคาถูกกว่าตระกูล18FXX20ถึง2เท่ากว่า
เบอร์ที่28ขา
18F23K20
18F24K20
18F25K20
18F23K20
เบอร์ที่มี40ขา,44ขา
18F43K20
18F44K20
18F45K20
18F46K20
แผ่นเซ็ทSET
TIMER PICตระกูล18FXXK20
เก็บค่าและอ่านค่า
Timer0 = TMR0H,TMR0L
Timer1 = TMR1H,TMR1L
Timer2 = TMR2
TIMER3 = TMR3H,TMR3L
INTCON: INTERRUPT CONTROL REGISTER
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-x
|
GIE/GIEH
|
PEIE/GIEL
|
TMR0IE
|
INT0IE
|
RBIE
|
TMR0IF
|
INT0IF
|
RBIF
|
bit 7 GIE/GIEH: Global Interrupt
Enable bit
When IPEN = 0:
1 = Enables all unmasked interrupts
0 = Disables all interrupts including peripherals
When IPEN = 1:
1 = Enables all high priority interrupts
0 = Disables all interrupts including low priority.
IPEN: Interrupt Priority Enable
bit in RCON register
bit 6 PEIE/GIEL: Peripheral
Interrupt Enable bit
When IPEN = 0:
1 = Enables all unmasked peripheral interrupts
0 = Disables all peripheral interrupts
When IPEN = 1:
1 = Enables all low priority interrupts
0 = Disables all low priority interrupts
bit 5 TMR0IE: TMR0 Overflow
Interrupt Enable bit
1 = Enables the TMR0 overflow interrupt
0 = Disables the TMR0 overflow interrupt
bit 4 INT0IE: INT0 External
Interrupt Enable bit
1 = Enables the INT0 external interrupt
0 = Disables the INT0 external interrupt
bit 3 RBIE: RB Port Change
Interrupt Enable bit(2)
1 = Enables the RB port change interrupt
0 = Disables the RB port change interrupt
bit 2 TMR0IF: TMR0 Overflow
Interrupt Flag bit
1 = TMR0 register has overflowed (must be cleared by
software)
0 = TMR0 register did not overflow
bit 1 INT0IF: INT0 External
Interrupt Flag bit
1 = The INT0 external interrupt occurred (must be
cleared by software)
0 = The INT0 external interrupt did not occur
bit 0 RBIF: RB Port Change
Interrupt Flag bit(1)
1 = At least one of the RB<7:4> pins changed state
(must be cleared by software)
0 = None of the RB<7:4> pins have changed state
Note
1: A mismatch condition will continue to set the RBIF bit. Reading PORTB will
end the
mismatch
condition and allow the bit to be cleared.
2:
RB port change interrupts also require the individual pin IOCB enables.
|
INTCON2: INTERRUPT CONTROL 2 REGISTER
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
U-0
|
R/W-1
|
U-0
|
R/W-1
|
RBPU
|
INTEDG0
|
INTEDG1
|
INTEDG2
|
—
|
TMR0IP
|
—
|
RBIP
|
bit 7 RBPU: PORTB Pull-up Enable
bit
1 = All PORTB pull-ups are disabled
0 = PORTB pull-ups are enabled provided that the pin is
an input and the corresponding WPUB bit is
set.
bit 6 INTEDG0: External
Interrupt 0 Edge Select bit
1 = Interrupt on rising edge
0 = Interrupt on falling edge
bit 5 INTEDG1: External
Interrupt 1 Edge Select bit
1 = Interrupt on rising edge
0 = Interrupt on falling edge
bit 4 INTEDG2: External
Interrupt 2 Edge Select bit
1 = Interrupt on rising edge
0 = Interrupt on falling edge
bit 3 Unimplemented: Read as ‘0’
bit 2 TMR0IP: TMR0 Overflow
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 1 Unimplemented: Read as ‘0’
bit 0 RBIP: RB Port Change
Interrupt Priority bit
1 = High priority
0 = Low priority
Note:
Interrupt flag bits are set when an interrupt
condition
occurs, regardless of the state of
its
corresponding enable bit or th e global
enable
b it. U ser s oftware sh ould en sure
the
appropriate interrupt flag bits are clear
prior
to enabling an interrupt. This feature
allows
for software polling.
|
INTCON3: INTERRUPT CONTROL 3 REGISTER
R/W-1
|
R/W-1
|
U-0
|
R/W-0
|
R/W-0
|
U-0
|
R/W-0
|
R/W-0
|
INT2IP
|
INT1IP
|
—
|
INT2IE
|
INT1IE
|
—
|
INT2IF
|
INT1IF
|
bit 7 INT2IP: INT2 External Interrupt
Priority bit
1 = High priority
0 = Low priority
bit 6 INT1IP: INT1 External
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 5 Unimplemented: Read as ‘0’
bit 4 INT2IE: INT2 External
Interrupt Enable bit
1 = Enables the INT2 external interrupt
0 = Disables the INT2 external interrupt
bit 3 INT1IE: INT1 External
Interrupt Enable bit
1 = Enables the INT1 external interrupt
0 = Disables the INT1 external interrupt
bit 2 Unimplemented: Read as ‘0’
bit 1 INT2IF: INT2 External
Interrupt Flag bit
1 = The INT2 external interrupt occurred (must be
cleared by software)
0 = The INT2 external interrupt did not occur
bit 0 INT1IF: INT1 External
Interrupt Flag bit
1 = The INT1 external interrupt occurred (must be
cleared by software)
0 = The INT1 external interrupt did not occur
Note:
Interrupt flag bits are set when an interrupt
condition
occurs, regardless of the state of
its
corresponding enable bit or th e global
enable
b it. U ser s oftware sh ould en sure
the
appropriate interrupt flag bits are clear
prior
to enabling an interrupt. This feature
allows
for software polling.
|
PIR1: PERIPHERAL INTERRUPT REQUEST (FLAG)
REGISTER 1
R/W-0
|
R/W-0
|
R-0
|
R-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
PSPIF(1)
|
ADIF
|
RCIF
|
TXIF
|
SSPIF
|
CCP1IF
|
TMR2IF
|
TMR1IF
|
bit 7 PSPIF: Parallel Slave Port
Read/Write Interrupt Flag bit(1)
1 = A read or a write operation has taken place (must be
cleared by software)
0 = No read or write has occurred
bit 6 ADIF: A/D Converter
Interrupt Flag bit
1 = An A/D conversion completed (must be cleared by software)
0 = The A/D conversion is not complete or has not been
started
bit 5 RCIF: EUSART Receive
Interrupt Flag bit
1 = The EUSART receive buffer, RCREG, is full (cleared
when RCREG is read)
0 = The EUSART receive buffer is empty
bit 4 TXIF: EUSART Transmit
Interrupt Flag bit
1 = The EUSART transmit buffer, TXREG, is empty (cleared
when TXREG is written)
0 = The EUSART transmit buffer is full
bit 3 SSPIF: Master Synchronous
Serial Port Interrupt Flag bit
1 = The transmission/reception is complete (must be
cleared by software)
0 = Waiting to transmit/receive
bit 2 CCP1IF: CCP1 Interrupt
Flag bit
Capture mode:
1 = A TMR1 register capture occurred (must be cleared by
software)
0 = No TMR1 register capture occurred
Compare mode:
1 = A TMR1 register compare match occurred (must be
cleared by software)
0 = No TMR1 register compare match occurred
PWM mode:
Unused in this mode
bit 1 TMR2IF: TMR2 to PR2 Match
Interrupt Flag bit
1 = TMR2 to PR2 match occurred (must be cleared by
software)
0 = No TMR2 to PR2 match occurred
bit 0 TMR1IF: TMR1 Overflow
Interrupt Flag bit
1 = TMR1 register overflowed (must be cleared by
software)
0 = TMR1 register did not overflow
Note
1: The PSPIF bit is unimplemented on 28-pin devices and will read as ‘0’
|
PIR2: PERIPHERAL INTERRUPT REQUEST (FLAG)
REGISTER 2
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
OSCFIF
|
C1IF
|
C2IF
|
EEIF
|
BCLIF
|
HLVDIF
|
TMR3IF
|
CCP2IF
|
bit 7 OSCFIF: Oscillator Fail
Interrupt Flag bit
1 = Device oscillator failed, clock input has changed to
HFINTOSC (must be cleared by software)
0 = Device clock operating
bit 6 C1IF: Comparator C1
Interrupt Flag bit
1 = Comparator C1 output has changed (must be cleared by
software)
0 = Comparator C1 output has not changed
bit 5 C2IF: Comparator C2
Interrupt Flag bit
1 = Comparator C2 output has changed (must be cleared by
software)
0 = Comparator C2 output has not changed
bit 4 EEIF: Data EEPROM/Flash
Write Operation Interrupt Flag bit
1 = The write operation is complete (must be cleared by
software)
0 = The write operation is not complete or has not been
started
bit 3 BCLIF: Bus Collision
Interrupt Flag bit
1 = A bus collision occurred (must be cleared by
software)
0 = No bus collision occurred
bit 2 HLVDIF: Low-Voltage Detect
Interrupt Flag bit
1 = A low-voltage condition occurred (direction
determined by the VDIRMAG bit of the
HLVDCON register)
0 = A low-voltage condition has not occurred
bit 1 TMR3IF: TMR3 Overflow
Interrupt Flag bit
1 = TMR3 register overflowed (must be cleared by
software)
0 = TMR3 register did not overflow
bit 0 CCP2IF: CCP2 Interrupt
Flag bit
Capture mode:
1 = A TMR1 register capture occurred (must be cleared by
software)
0 = No TMR1 register capture occurred
Compare mode:
1 = A TMR1 register compare match occurred (must be
cleared by software)
0 = No TMR1 register compare match occurred
PWM mode:
Unused in this mode.
PIE1: PERIPHERAL INTERRUPT ENABLE (FLAG)
REGISTER 1
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
PSPIE(1)
|
ADIE
|
RCIE
|
TXIE
|
SSPIE
|
CCP1IE
|
TMR2IE
|
TMR1IE
|
bit 7 PSPIE: Parallel Slave Port Read/Write Interrupt
Enable bit(1)
1 = Enables the PSP read/write interrupt
0 = Disables the PSP read/write interrupt
bit 6 ADIE: A/D Converter
Interrupt Enable bit
1 = Enables the A/D interrupt
0 = Disables the A/D interrupt
bit 5 RCIE: EUSART Receive
Interrupt Enable bit
1 = Enables the EUSART receive interrupt
0 = Disables the EUSART receive interrupt
bit 4 TXIE: EUSART Transmit
Interrupt Enable bit
1 = Enables the EUSART transmit interrupt
0 = Disables the EUSART transmit interrupt
bit 3 SSPIE: Master
Synchronous Serial Port Interrupt Enable bit
1 = Enables the MSSP interrupt
0 = Disables the MSSP interrupt
bit 2 CCP1IE: CCP1
Interrupt Enable bit
1 = Enables the CCP1 interrupt
0 = Disables the CCP1 interrupt
bit 1 TMR2IE: TMR2 to PR2 Match
Interrupt Enable bit
1 = Enables the TMR2 to PR2 match interrupt
0 = Disables the TMR2 to PR2 match interrupt
bit 0 TMR1IE: TMR1 Overflow
Interrupt Enable bit
1 = Enables the TMR1 overflow interrupt
0 = Disables the TMR1 overflow interrupt
Note
1: The PSPIE bit is unimplemented on 28-pin devices and will read as ‘0’.
|
PIE2: PERIPHERAL INTERRUPT ENABLE (FLAG)
REGISTER 2
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
OSCFIE
|
C1IE
|
C2IE
|
EEIE
|
BCLIE
|
HLVDIE
|
TMR3IE
|
CCP2IE
|
bit 7 OSCFIE: Oscillator Fail
Interrupt Enable bit
1 = Enabled
0 = Disabled
bit 6 C1IE: Comparator C1
Interrupt Enable bit
1 = Enabled
0 = Disabled
bit 5 C2IE: Comparator C2
Interrupt Enable bit
1 = Enabled
0 = Disabled
bit 4 EEIE: Data EEPROM/Flash
Write Operation Interrupt Enable bit
1 = Enabled
0 = Disabled
bit 3 BCLIE: Bus Collision
Interrupt Enable bit
1 = Enabled
0 = Disabled
bit 2 HLVDIE: Low-Voltage Detect
Interrupt Enable bit
1 = Enabled
0 = Disabled
bit 1 TMR3IE: TMR3 Overflow
Interrupt Enable bit
1 = Enabled
0 = Disabled
bit 0 CCP2IE: CCP2 Interrupt
Enable bit
1 = Enabled
0 = Disabled
IPR1: PERIPHERAL INTERRUPT PRIORITY REGISTER
1
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
PSPIP(1)
|
ADIP
|
RCIP
|
TXIP
|
SSPIP
|
CCP1IP
|
TMR2IP
|
TMR1IP
|
bit 7 PSPIP: Parallel Slave Port
Read/Write Interrupt Priority bit(1)
1 = High priority
0 = Low priority
bit 6 ADIP: A/D Converter
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 5 RCIP: EUSART Receive
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 4 TXIP: EUSART Transmit
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 3 SSPIP: Master Synchronous
Serial Port Interrupt Priority bit
1 = High priority
0 = Low priority
bit 2 CCP1IP: CCP1 Interrupt
Priority bit
1 = High priority
0 = Low priority
bit 1 TMR2IP: TMR2 to PR2 Match
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 0 TMR1IP: TMR1 Overflow
Interrupt Priority bit
1 = High priority
0 = Low priority
Note
1: The PSPIF bit is unimplemented on 28-pin devices and will read as ‘0’
|
IPR2: PERIPHERAL INTERRUPT PRIORITY REGISTER
2
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
OSCFIP
|
C1IP
|
C2IP
|
EEIP
|
BCLIP
|
HLVDIP
|
TMR3IP
|
CCP2IP
|
bit 7 OSCFIP: Oscillator Fail
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 6 C1IP: Comparator C1
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 5 C2IP: Comparator C2
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 4 EEIP: Data EEPROM/Flash
Write Operation Interrupt Priority bit
1 = High priority
0 = Low priority
bit 3 BCLIP: Bus Collision
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 2 HLVDIP: Low-Voltage Detect
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 1 TMR3IP: TMR3 Overflow
Interrupt Priority bit
1 = High priority
0 = Low priority
bit 0 CCP2IP: CCP2 Interrupt
Priority bit
1 = High priority
0 = Low priority
RCON: RESET CONTROL REGISTER
R/W-0
|
R/W-1
|
U-0
|
R/W-1
|
R-1
|
R-1
|
R/W-0
|
R/W-0
|
IPEN
|
SBOREN(1)
|
—
|
RI
|
TO
|
PD
|
POR(1)
|
BOR
|
bit 7 IPEN: Interrupt Priority
Enable bit
1 = Enable priority levels on interrupts
0 = Disable priority levels on interrupts (Mid-Range
Compatibility mode)
bit 6 SBOREN: Software BOR
Enable bit(1)
For details of bit operation, see Register 4-1.
bit 5 Unimplemented: Read as ‘0’
bit 4 RI: RESET Instruction Flag
bit
For details of bit operation, see Register 4-1.
bit 3 TO: Watchdog Time-out Flag
bit
For details of bit operation, see Register 4-1.
bit 2 PD: Power-down Detection
Flag bit
For details of bit operation, see Register 4-1
bit 1 POR: Power-on Reset Status
bit
For details of bit operation, see Register 4-1.
bit 0 BOR: Brown-out Reset
Status bit
For details of bit operation, see Register 4-1.
Note
1: Actual Reset values are determined by device configuration and the nature
of the device Reset.
See
Register 4-1 for additional information.
|
T0CON: TIMER0 CONTROL REGISTER
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
R/W-1
|
TMR0ON
|
T08BIT
|
T0CS
|
T0SE
|
PSA
|
T0PS2
|
T0PS1
|
T0PS0
|
bit 7 TMR0ON: Timer0 On/Off
Control bit
1 = Enables Timer0
0 = Stops Timer0
bit 6 T08BIT: Timer0
8-bit/16-bit Control bit
1 = Timer0 is configured as an 8-bit timer/counter
0 = Timer0 is configured as a 16-bit timer/counter
bit 5 T0CS: Timer0 Clock Source
Select bit
1 = Transition on T0CKI pin
0 = Internal instruction cycle clock (CLKOUT)
bit 4 T0SE: Timer0 Source Edge
Select bit
1 = Increment on high-to-low transition on T0CKI pin
0 = Increment on low-to-high transition on T0CKI pin
bit 3 PSA: Timer0 Prescaler
Assignment bit
1 = TImer0 prescaler is NOT assigned. Timer0 clock input
bypasses prescaler.
0 = Timer0 prescaler is assigned. Timer0 clock input
comes from prescaler output.
bit 2-0 T0PS<2:0>:
Timer0 Prescaler Select bits
111 = 1:256 prescale value
110 = 1:128 prescale value
101 = 1:64 prescale value
100 = 1:32 prescale value
011 = 1:16 prescale value
010 = 1:8 prescale value
001 = 1:4 prescale value
000 = 1:2 prescale value
T1CON: TIMER1 CONTROL REGISTER
R/W-0
|
R-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
RD16
|
T1RUN
|
T1CKPS1
|
T1CKPS0
|
T1OSCEN
|
T1SYNC
|
TMR1CS
|
TMR1ON
|
bit 7 RD16: 16-bit Read/Write
Mode Enable bit
1 = Enables register read/write of TImer1 in one 16-bit
operation
0 = Enables register read/write of Timer1 in two 8-bit
operations
bit 6 T1RUN: Timer1 System Clock
Status bit
1 = Main system clock is derived from Timer1 oscillator
0 = Main system clock is derived from another source
bit 5-4 T1CKPS<1:0>:
Timer1 Input Clock Prescale Select bits
11 = 1:8 Prescale value
10 = 1:4 Prescale value
01 = 1:2 Prescale value
00 = 1:1 Prescale value
bit 3 T1OSCEN: Timer1 Oscillator
Enable bit
1 = Timer1 oscillator is enabled
0 = Timer1 oscillator is shut off
The oscillator inverter and feedback resistor are turned
off to eliminate power drain.
bit 2 T1SYNC: Timer1 External
Clock Input Synchronization Select bit
When TMR1CS = 1:
1 = Do not synchronize external clock input
0 = Synchronize external clock input
When TMR1CS = 0:
This bit is ignored. Timer1 uses the internal clock when
TMR1CS = 0.
bit 1 TMR1CS: Timer1 Clock
Source Select bit
1 = External clock from pin RC0/T1OSO/T13CKI (on the
rising edge)
0 = Internal clock (FOSC/4)
bit 0 TMR1ON: Timer1 On bit
1 = Enables Timer1
0 = Stops Timer1
T2CON: TIMER2 CONTROL REGISTER
U-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
—
|
T2OUTPS3
|
T2OUTPS2
|
T2OUTPS1
|
T2OUTPS0
|
TMR2ON
|
T2CKPS1
|
T2CKPS0
|
bit 7 Unimplemented: Read as ‘0’
bit 6-3 T2OUTPS<3:0>:
Timer2 Output Postscale Select bits
0000 = 1:1 Postscale
0001 = 1:2 Postscale
•
•
•
1111 = 1:16 Postscale
bit 2 TMR2ON: Timer2 On bit
1 = Timer2 is on
0 = Timer2 is off
bit 1-0 T2CKPS<1:0>:
Timer2 Clock Prescale Select bits
00 = Prescaler is 1
01 = Prescaler is 4
1x = Prescaler is 16
T3CON: TIMER3 CONTROL REGISTER
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
R/W-0
|
RD16
|
T3CCP2
|
T3CKPS1
|
T3CKPS0
|
T3CCP1
|
T3SYNC
|
TMR3CS
|
TMR3ON
|
bit 7 RD16: 16-bit Read/Write
Mode Enable bit
1 = Enables register read/write of Timer3 in one 16-bit
operation
0 = Enables register read/write of Timer3 in two 8-bit
operations
bit 6,3 T3CCP<2:1>:
Timer3 and Timer1 to CCPx Enable bits
1x = Timer3 is the capture/compare clock source for CCP1
and CP2
01 = Timer3 is the capture/compare clock source for CCP2
and
Timer1 is the capture/compare clock source for CCP1
00 = Timer1 is the capture/compare clock source for CCP1
and CP2
bit 5-4 T3CKPS<1:0>:
Timer3 Input Clock Prescale Select bits
11 = 1:8 Prescale value
10 = 1:4 Prescale value
01 = 1:2 Prescale value
00 = 1:1 Prescale value
bit 2 T3SYNC: Timer3 External
Clock Input Synchronization Control bit
(Not usable if the device clock comes from
Timer1/Timer3.)
When TMR3CS = 1:
1 = Do not synchronize external clock input
0 = Synchronize external clock input
When TMR3CS = 0:
This bit is ignored. Timer3 uses the internal clock when
TMR3CS = 0.
bit 1 TMR3CS: Timer3 Clock
Source Select bit
1 = External clock input from Timer1 oscillator or
T13CKI (on the rising edge after the first
falling edge)
0 = Internal clock (FOSC/4)
bit 0 TMR3ON: Timer3 On bit
1 = Enables Timer3
0 = Stops Timer3
ไม่มีความคิดเห็น:
แสดงความคิดเห็น