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.
Arduino Interrupt Tutorial: Find out how many external there are on an Arduino Uno - The answer is more than two!
Switch debounce: Three different ways to debounce input push switches with one amazing method that you can't miss.
A tutorial on using the ADS1115 precision 16 bit ADC for low power use.
With the ADXL345 acellerometer you can detect up to 16g! You can also find out how to use it for tap detection and more.
ESP8266 Webserver: This code shows you how to use lua to create a webserver using html button inputs to contrtol an LED on the ESP module.
How to flash nodemcu firmware into a ESP8266 so you can use the LUA scripting language.