The PIC18F452 is, as with all the other18F
series parts, optimized for using
C. It has a 31 deep hardware stack and linear memory (rather than banked memory) so
you don't have to make adjustements for the hardware when coding in C.
This microcontroller is exceptionally powerful and ideal for C programming...but the 18F2550/18F4550 are similar and have a built-in USB interface.
The 18F452 has 16k of program memory
and 1536 Bytes of RAM and
because the RAM is linear you can declare large arrays which is not possible if
you use devices with banked memory (16F series).
Note: Banked memory occupies the same memory adress space and you switch from one bank to another using some program code (in other devices).
It is packaged in a 40 pin DIP other packages are PLCC and TQFP for surface mount) and it can be programmed in circuit using ICSP. As with the other 18F devices it has an 8 bit hardware multiplier (8x8).
Note: The PIC 18F452 is pin compatible with 40-pin PIC16C7X devices.
It also has a 4x internal phase locked loop oscillator - so you can supply an external clock signal of 10MHz and it will run at 40MHz internally but remember that the maximum internal instruction rate is Fosc/4 so even with the PLL active (or using an external 40MHz clock) you only get 1 instruction every 4 clock cycles - the maximum you can get is 10MIPS.
|Device||Program memory words||Data Memory Bytes||ADC||PSP||PINS|
Note: 18F452 and 18F442 come in PLCC and TQFP while the 18F252 and 18F242 come in SOIC as well. All have 256 bytes of EEPROM.
learn how to use Arduino pulseIn and pulseInLong to get the most accurate pulse measurement on an Arduino.
Switch debounce: Three different ways to debounce input push switches with one amazing method that you can't miss.
How to Easily Use the DS18B20 Maxim One-Wire thermometer with Arduino example code showing external or parasitic power modes.
How to use the BMP280 for weather pressure measurement or altitude change detection.
How to use the TCS230 (/TCS3200) Color detector chip and easily add it to any of your projects.
How to use MC78M05BDTRKG for maximum current without using too large a heatsink pad and how to select the optimum input voltage.