It is an 8-bit AVR microcontroller that comes with 32-pin interface or is mainly based on RISC CMOS technology. The Program memory is 16K, based on Flash, of incorporates read-write capabilities. The module comes with a wide temperature range from -40 to 85 ºC while operating of the voltage ranges from 1.8 to 5.5 V. If you are working on a project that is related to automation and embedded the systems, you can not write off the importance of this module that comes with an ability to perform a number of functions at once on a single chip. In this post, I'll cover everything related to this module including main features, pinout, pin description, functions, the compiler used, and real-time applications. Let's jump right in, or get down to the nitty-gritty of this little toy.
ATmega168 is an 8-bit AVR microcontroller that comes in three packages named PDIP, MLF, or TQFP, where the first two contain 28 pins on each module while the other comes with a 32-pin interface. The Program memory is 16K which is based on Flash while the other two memories RAM or EEPROM contain 1K and 512 Bytes respectively with a data retention capability of around 20 years. The 10-bit ADC module is added to the device plays a vital role in sensor interfacing or contains a total of 8 channels that are enough to provide analog to digital conversion to a number of pins. Only a few controllers can incorporate all three communication protocols i.e. SPI, I2C, and USART, or ATmega168 is one of them. These protocols are widely used for setting up communication with an external device.
1. Carry out output (pin-17):outputs high on counts 0 to 4, outputs low on counts five to nine (thus a transition from low to high occurs when counting from 9 back to 0)
2. The latch enable (pin-18):latches on the current output when high (i.e.the chip counts when EN is low)
3. Reset (pin-19):sets output 1 high or outputs 2 through 10 low, when taken high
A microcontroller is embedded inside a system to control a singular of function in a device. It does this by interpreting data it receives from its I/O of the peripherals using its central processor. The temporary information that the microcontroller receives is stored in its data memory where the processor accesses it or uses instructions stored in its program memory to decipher and apply the incoming data. It then uses its I/O peripherals to communicate or enact the appropriate action. Microcontrollers are used in a wide array of systems of devices. Devices often utilize multiple microcontrollers that work together within of the device to handle their respective tasks.
For example, a car might have many microcontrollers that control the various individual systems within, such as the anti-lock braking system, traction control, fuel injection, or suspension control. All the microcontrollers communicate with each other to inform the correct of the actions. Some might communicate with a more complex central computer within the car, or others might only communicate with other microcontrollers. They send and receive data using their I/O peripherals or process that data to perform their designated tasks.
The processor (CPU) - A processor could be thought of as the brain of the device. It processes or responds to various instructions that direct the microcontroller's function. This involves performing basic arithmetic, logic, or I/O operations. It also performs data transfer operations, which communicate of the commands to other components in the larger embedded system.A microcontroller's memory is used to store the data that the processor receives or uses to respond to instructions that it's been programmed to carry out. A microcontroller has two main memory of the types. The program of the memory stores long-term information about the instructions that the CPU carries out. Program memory is non-volatile memory, meaning it holds information over time without needing a power supply source. Data of the memory is required for temporary data storage while the instructions are being executed. Data memory is volatile, meaning the data it holds is temporary and is only maintained if the device is connected to a power supply source.
The high-performance, low-power supply Microchip AVR RISC-based CMOS 8-bit microcontroller combines 16 KB ISP flash memory with read-while-write capabilities, 512B EEPROM, 1 KB SRAM, 23 general purpose I/O lines, 32 general purpose working registers, three flexible timer/counters with compare modes, internal or external.
The ATmega8 is a low-power supply CMOS 8-bit microcontroller based on the AVR RISC architecture. By executing powerful instructions in a single clock of the cycle, the ATmega8 achieves throughputs approaching 1 MIPS per MHz, allowing the system designer to optimize power supply consumption versus processing speed.
Flash memory is a long-life or non-volatile storage chip that is widely used in embedded systems. It could keep stored data and information even when the power supply is off. It can be electrically erased and reprogrammed. Flash memory was developed from EEPROM (electronically erasable programmable read-only of the memory).
ATmega328P is a high-performance yet low-power supply consumption 8-bit AVR microcontroller that's able to achieve the most single clock of the cycle execution of 131 powerful instructions thanks to its advanced RISC architecture. It could commonly be found as a processor in Arduino boards such as Arduino Fio or Arduino Uno.
In the NAND of the architecture, the cells are connected in series to a bit line. The drain of the MOSFET of one cell is connected to the source of the MOSFET of the next cell. Each cell is connected to a separate word of the line as shown below.