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.
The Arduino shiftOut() function can simply control many different serial interfaced chips. Find out how it works and how fast it operates.
A tutorial on using the ADS1115 precision 16 bit ADC for low power use.
Learn how to use the TP4056 properly. There's a right, and a wrong way, to use it to safely charge Lithium Ion batteries.
The MCP4922 chip is an SPI interfaced 12 bit DAC but how fast can it go? Find out here.
The MCP4725 chip is a 12 bit DAC with memory that outputs voltage that you can use for many dfferent purposes. Find out what they are in this page.
The MCP4728 chip is a four channel 12 bit DAC, with memory that outputs voltage that you can use for calibration, anywhere you want a fixed voltage.