PIC16F1937-I/ML Microchip Technology, PIC16F1937-I/ML Datasheet - Page 23

IC PIC MCU FLASH 512KX14 44-QFN

PIC16F1937-I/ML

Manufacturer Part Number
PIC16F1937-I/ML
Description
IC PIC MCU FLASH 512KX14 44-QFN
Manufacturer
Microchip Technology
Series
PIC® XLP™ 16Fr

Specifications of PIC16F1937-I/ML

Core Size
8-Bit
Program Memory Size
14KB (8K x 14)
Core Processor
PIC
Speed
32MHz
Connectivity
I²C, LIN, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, LCD, POR, PWM, WDT
Number Of I /o
36
Program Memory Type
FLASH
Eeprom Size
256 x 8
Ram Size
512 x 8
Voltage - Supply (vcc/vdd)
1.8 V ~ 5.5 V
Data Converters
A/D 14x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
44-QFN
Controller Family/series
PIC16F
No. Of I/o's
36
Eeprom Memory Size
256Byte
Ram Memory Size
512Byte
Cpu Speed
32MHz
No. Of Timers
5
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
MAIN_LOOP
;++++++++++++
;
; TWIST24 - Variable 24 bit lowpass filter, calculates new lowpassed value in NewFilter,
; by weighing previous filtervalue and NewSample according to FilterWeight
; If FilterWeight is large more emphasis is placed on oldfiltered value
; Maximum value for FilterWeight is 255 ( i.e. 8 bit variable ).
; FilterWeight = 0 -> NewFilter = 0/256 of OldFilter + 256/256 of NewSample, i.e no filtering
; FilterWeight = 255 -> NewFilter = 255/256 of OldFilter + 1/256 of NewSample, i.e. full filtering
; NOTE: Previous filtered value should be kept in NewFilter as it is used for next pass.
;
TWIST24
TWIST_GO
© 2009 Microchip Technology Inc.
CLRF
; wait for some data from AD or similar
BTFSS _AD_DataReady
GOTO
; filtered data available
; do whatever needs to be done..
BCF _AD_DataReady
GOTO
; about 252-285 instructions executed ( with global update and copying of new datavalue )
; roufly 57 us at XTAL 20 Mhz
; ! uses FSR !
; Ramp function, uses an extra ram variable FilterCounter that
; increases the FilterWeight until itself zero
; Usage: Initialise to FilterWeight, then a speedier time to target will
; be accomplished (step response). During run, if for any reason an high ramp
; is detected ( or loss of readings ) this could be re-initialized to any
; value equal or less than FilterWeight to achive quicker step responce.
; NOTE : Filterweight must then ALSO be initialized so that the following
; is fulfilled: FilterCounter + FilterWeight = DesiredFilterWeight
MOVF
BTFSC STATUS,Z
GOTO
DECFSZ
INCF
; Copy previous filtered value ( note previous value is multiplied by 256
; i.e. only copy top three bytes of source to lowest three bytes of dest. )
MOVF
MOVWF OldFilter+1
MOVF
MOVWF OldFilter+2
MOVF
MOVWF OldFilter+3
; copy new value from AD to 'local' variable and add it it
FilterWeight
MAIN_LOOP
MAIN_LOOP
FilterCounter,F
TWIST_GO
FilterWeight,F
NewFilter,W
NewFilter+1,W
NewFilter+2,W
FilterCounter,F
; check if data available
; nope
; clear data ready flag
DS41375A-page 23

Related parts for PIC16F1937-I/ML