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.
Easily use an ESP8266 with the Arduino IDE and program your first sketch into the ESP8266
Find out how to use the AD9833 to generate sine, square and triangle waves at 0.1Hz resolution.
Arduino map is a useful function but it may not do what you expect. Find out here how to use if correctly.
How to test and use an Arduino Joystick including a new library to make it super easy.
Digispark ATtiny85: Essential information on setting up and using this tiny, but powerful, chip
How to use the Arduino IDE: Beginners programming course.