Introduction to ATmega128
Hey Guys! Hope you are doing well. I am back to feed you with valuable information relating to engineering and technology. Today, I'll uncover the details on the
Introduction to ATmega128. It is an AVR, 8-bit low power microcontroller, that comes with a 64-pin interface and is based on RISC architecture. Availability of 133 Powerful Instructions with single clock cycle and 32 x 8 General Purpose Working Registers make this device an ideal choice for many applications where decent code execution is required.
The memory space incorporates on this module is more than normal AVR controllers including Program memory around 128K, enough to store the number of instructions on a single chip.
In this post, I'll try to cover each and everything related to ATmega128, so you can get clear idea what is this about before aiming to pick it for your relevant project. Let's jump right in and get down to the nitty-gritty of this module.
Introduction to ATmega128
- ATmega128 is an AVR, 8-bit low power microcontroller that contains 64-pin interface and is based on RISC architecture.
- It is mainly used in an embedded system and industrial automation.
- This AVR controller differs from PIC controllers in accordance with the instruction set where AVR requires one clock cycle to execute a number of instructions while PIC controllers need a number of clock cycles to execute a single instruction.
- The ADC is included in the device that makes it an ideal choice for sensor interfacing where it receives the analog signal and converts it to a digital one. There are total 8 channels available on the ADC module.
- Apart from communications protocols like SPI, I2C, and USRAT, this tiny module comes with watchdog timers, external interrupts, power up timer, 6 sleep modes and programming enable pin.
- The Program Memory is based on Flash and comes with a memory space around 128K while EEPROM and SRAM are 4K each.
- If you are an expert or newbie, you need this module every now and then for the development of the electronic projects where automation is a major concern. Ability to perform a number of functions without buying external components makes this device highly economical and best choice for the tech geeks.
1. ATmega128 Features
This AVR microcontroller comes with very useful features. Large memory space and number of pins make this device a step ahead for driving automation in the relevant project. Following table shows the main features of ATmega128.
No. of Pins |
64 |
CPU |
8-Bit AVR |
Operating Voltage |
4.5 to 5.5 V |
Program Memory |
128K |
Program Memory Type |
Flash |
RAM |
4K |
EEPROM |
4K |
ADC
Number of ADC Channels |
10-Bit
8 |
Analog Comparator |
Yes |
PWM Channels |
6 |
Oscillator |
up to 16 MHz |
Timer (4) |
16-Bit Timer (2)
8-Bit Timer (2) |
Packages (3) |
PDIP
TQFP
QFN |
Power Up Timer |
Yes |
I/O Pins |
53 |
Manufacturer |
Microchip |
SPI |
Yes |
I2C |
Yes |
Watchdog Timer |
Yes |
Brown out Detection (BOD) |
Yes |
USART |
Yes |
Sleep Modes |
6 |
Minimum Operating Temperature |
-40 C |
Maximum Operating Temperature |
85 C |
2. ATmega128 Pinout and Pin Description
The pinout and pin description of each pin will help you understand the major functions associated with each pin. Some pins are able to perform more than one functions on each pin.
Pinout
Following figure shows the pinout of ATmega128.
- The AVCC is the voltage applied to the ADC module while AREF is the reference voltage applied to the controller. The VCC and GND are the voltage supply and ground pins respectively.
Pin Description
Following table shows the description of each pin.
1 |
PEN |
Programming Enable |
2 |
PE0
RXD
PDI |
I/O Pin
Serial Receive Pin (USART) |
3 |
PE1
TXD
PDO |
I/O Pin
Serial Transmit Pin (USART) |
4 |
PE2
XCK0
AIN0 |
I/O Pin
External Interrupt
PinAnalog Comparator Positive |
5 |
PE3
OC3A
AIN1 |
I/O Pin
Dedicated Pin for Timer (PWM Channel)
Analog Comparator Negative |
6 |
PE4
OC3B
INT4 |
I/O Pin
Dedicated Pin for Timer (PWM Channel)
Interrupt |
7 |
PE5
OC3C
INT5 |
I/O Pin
Dedicated Pin for Timer (PWM Channel)
Interrupt |
8 |
PE6
T3
INT6 |
I/O Pin
Timer 3
Interrupt |
9 |
PE7
ICP3
INT7 |
I/O Pin
Timer/Counter3 Input Capture Pin
Interrupt |
10 |
PB0
SS |
I/O Pin
SS (Slave Select Input for SPI). This pin is set to low when the controller acts as a slave |
11 |
PB1
SCK |
I/O Pin
SCK (Serial Clock for SPI). This clock is shared between the controller and external devices for accurate data transfer |
12 |
PB2
MOSI |
I/O Pin
MOSI (Master Output Slave Input) for SPI communication. The data is received by this pin when the microcontroller acts as a slave |
13 |
PB3
MISO |
I/O Pin
MISO (Master Input Slave Output) for SPI communication. The data is sent to the master using this pin when microcontroller acts as a slave |
14 |
PB4
OC0 |
I/O Pin
PWM Channel Output |
15 |
PB5
OC1A |
I/O Pin
PWM Channel Output |
16 |
PB6
OC1B |
I/O Pin
PWM Channel Output |
17 |
PB7
OC2
OC1C |
I/O Pin
PWM Channel Output |
18 |
PG3
TOSC2 |
I/O Pin
MISO (Master Input Slave Output) for SPI communication. When the controller acts as a slave, the data is sent by a controller to master through this pin
Interrupt |
19 |
PG4
TOSC1 |
I/O Pin
SCK (SPI Bus Serial Clock). This clock is shared between the controller and other devices for data transfer
Interrupt |
20 |
RESET |
Voltage Supply Pin for ADC |
21 |
VCC |
Voltage Reference |
22 |
GND |
Ground Pin |
23 |
XTAL2 |
Crystal Oscillator Output |
24 |
XTAL1 |
Crystal Oscillator Input |
25 |
PD0
SCL
INT0 |
I/O Pin
I2C communication
External Interrupt 0 |
26 |
PD1
SDA
INT1 |
I/O Pin
I2C communication
External Interrupt 1 |
27 |
PD2
RXD1
INT2 |
I/O Pin
Serial Communication Receive Pin (USART)
External Interrupt 2 |
28 |
PD3
TXD1
INT3 |
I/O Pin
Serial Communication Transmit Pin (USART)
External Interrupt 3 |
29 |
PD4
ICP1 |
I/O Pin
Timer/Counter1 Input Capture Pin |
30 |
PD5
XCK1 |
I/O Pin
External Clock I/O for USART |
31 |
PD6
T1 |
I/O Pin
Timer 1 |
32 |
PD7
T2 |
I/O Pin
Timer 2 |
33 |
PG0
WR |
I/O Pin
Control Pin for writing to the external memory |
34 |
PG1
RD |
I/O Pin
Control Pin for reading from the external data memory |
35 |
PC0
A8 |
I/O Pin |
36 |
PC1
A9 |
I/O Pin |
37 |
PC2
A10 |
I/O Pin |
38 |
PC3
A11 |
I/O Pin |
39 |
PC4
A12 |
I/O Pin |
40 |
PC5
A13 |
I/O |
41 |
PC6
A14 |
I/O Pin |
42 |
PC7
A15 |
I/O Pin |
43 |
PG2
ALE |
I/O Pin
ALE (Address Latch Enable), it is used when multiple memory chips are connected to the microcontroller and only one of them needs to be selected |
44 |
PA7
AD7 |
I/O Pin |
45 |
PA6
AD6 |
I/O Pin |
46 |
PA5
AD5 |
I/O Pin |
47 |
PA4
AD4 |
I/O Pin |
48 |
PA3
AD3 |
I/O Pin |
49 |
PA2
AD2 |
I/O Pin |
50 |
PA1
AD1 |
I/O Pin |
51 |
PA0
AD0 |
I/O Pin |
52 |
VCC |
Voltage Supply Pin |
53 |
GND |
Ground |
54 |
PF7
ADC7
TDI |
I/O Pin
ADC Channel 7
JTAG Interface |
55 |
PF6
ADC6
TDO |
I/O Pin
ADC Channel 6
JTAG Interface |
56 |
PF5
ADC5
TMS |
I/O Pin
ADC Channel 5
JTAG Interface |
57 |
PF4
ADC4
TCK |
I/O Pin
ADC Channel 4
JTAG Interface |
58 |
PF3
ADC3 |
I/O Pin
ADC Channel 3 |
59 |
PF2
ADC2 |
I/O Pin
ADC Channel 2 |
60 |
PF1
ADC1 |
I/O Pin
ADC Channel 1 |
61 |
PF0
ADC0 |
I/O Pin
ADC Channel 0 |
62 |
AREF |
Reference Voltage |
63 |
GND |
Ground |
64 |
AVCC |
Voltage Supply Pin for ADC |
3. ATmega128 Main Functions
ATmega128 can perform a number of functions on a single chip. Large memory space with more number of pins interface put this device ahead of other controllers available in the AVR community.
Following are the major functions associated to this tiny module.
Timer
Atmega128 comes with four timers i.e. two 8-bit and two 16-bit timers. These timers play a vital role in creating a delay of any running functions and can be used both ways i.e. timers as well as counters where former is used to control the internal functions of the controller and increments the instruction cycle, while later counts the number of intervals by incrementing the rising and falling edge of the pin and is mainly used for external functions. Two other timers added in the device are
- Oscillator Start-up Timers
- Power Up Timer
Oscillator start-up timer resets the controller to stabilize the crystal oscillator. And power-up timer is used to generating a minor delay once you power on the device, helps in stabilizing the power signals.
Number of Sleep Modes
This device incorporates Six Sleeping Modes for power saving purpose. These modes include:
- Power-save
- Power-down
- Idle
- ADC Noise Reduction
- Standby
- Extended Standby
Brown Out Detect (BOD)
The BOD, also known as BOR (Brown Out Reset), is a valuable addition to the device that helps in resetting the module once the Vcc (voltage supply) goes below a brownout threshold voltage.
In this mode, multiple voltage ranges are produced to save the module once the power drops at the voltage supply line.
If you aim to bring back the device from BOD function, it is advised to enable the Power Up Timer for creating a slight delay.
Watchdog Timer
Most of the chips, if not all, produced by Microchip, incorporate a built-in watchdog timer that resets the controller if the running program hangs up during compilation or gets stuck in the infinite loop. The main purpose of this timer is to prevent the controller from resetting it manually, giving you a slight edge over other processors where you need to wrestle your mind to manually reset the controller in case there comes a glitch in the running function. The watchdog timer behaves like a countdown timer.
Interrupt
The interrupts are very helpful for calling the desired function that puts the main running function on hold until the required instruction is executed. The controller goes back to the main program once the interrupt is executed.
I2C Communication
I2C protocol is used to layout the communication between low-speed devices like ADC and DAC converters and microcontrollers. It is a two wire communication that mainly contains two lines
- Serial Clock (SCL)
- Serial Data (SDA)
The former is a clock signal, mainly used to synchronize the data transfer between the devices and is generated by the master device, while the later is used to hold the desired data.
SPI Communication
ATmega128 houses a serial peripheral interface (SPI) that is mainly used for communication between the microcontroller and other peripheral devices such as sensors, shift registers, and SD cards.
Separate clock and data lines are available, layered with a select line for selecting the relevant device for communication.
Two pins used for SPI communication are as follow
- MOSI (Master Output Slave Input)
- MISO (Master Input Slave Output)
The MOSI pin is used for receiving the data when the microcontroller acts as a slave. Similarly, MISO helps in sending data by the microcontroller while later acts as a slave mode.
4. ATmega128 Compilers
Compilers are the basic software used for writing and compiling the code into the AVR controller. Some are free to use and some are paid. If you are getting your hands-on very first time with the controllers, it is advised to go with the free version, you can move to paid version as you grow and learn with the passage of time. Following are some basic compilers mainly used for AVR microcontrollers.
- The IAR is a paid compiler and comes with a professional interface. As per the testimonials and personal experience of some of the experts, this compiler proves to the best version for the AVR microcontrollers.
- CodeVision houses a CodeWizard and turns out to be highly economical for the controllers.
- The GCC Port is another good pick to start with, but it comes with a bit complex interface. It works with both Windows and Linux operating systems.
- ImageCraft is a valuable addition for compiling the code, but it doesn't incorporate some GUI features like editor and project management that may put you in big trouble during the code execution.
5. ATmega128 Memory Interface
Two memory types are mainly used in ATmeag128 named as Program Memory (Flash Memory) and SRAM memory where former makes use of a single pipelining for the execution of the instructions and later is a volatile memory mainly depends on the power supply source. This AVR module incorporates a Harvard Architecture where separate memories spaces are reserved for both data and program. The memory space in the controller is nothing but a combination of the linear and regular memory maps.
The Fast Access File Register is layered with 32 x 8 – Bit general purpose working registers. The single clock cycle is enough for accessing these registers and laying out the ALU (Arithmetic Logic Unit) operation where the result is stored in the Register file.
Program Memory (ROM)
Program memory has a memory space around 128K where recent instruction is called followed by the next instruction, executing the instructions in every clock cycle.
- It is mainly categorized into two parts named as the Boot Program section and Application Program section. The former comes with Applications Flash Memory that plays the main part for SPM instruction writing.
Data Memory (RAM)
The data memory has a memory space around 4K. Five different addressing modes in the AVR architecture are used for addressing this RAM memory. These modes are named as
- Direct
- Indirect
- Indirect with Displacement
- Indirect with Pre-decrement
- Indirect with Post-increment.
Three address registers, known as X, Y, and Z, increment and decrement in indirect addressing modes.
Control registers are present in the flexible interrupt module that mainly come with global interrupt enable bit laying in the Status Register. These interrupts come with an Interrupt Vector Table where Interrupt Vector is a major part of it and both are inversely proportional to each other. It is important to note that, the Interrupt Vector table depends on the Interrupt Vector Position.
- The ALU module operates in a single clock cycle and is divided into three main functions called direct, arithmetic and bit functions, that are directly connected with 32 general purpose registers.
6. ATmega128 Block Diagram
Following figure shows the block diagram of ATmega128.
- ATmega128 comes with six software selectable power saving modes. The Power-down is very helpful for freezing the Oscillator and stops all other module functions while keeping the register contents saved. The functions remain disabled until the next interrupt is called and executed.
- Similarly, the Idle mode allows the interrupt system, SPI Port, SRAM, Timers/Counter to function while keeping the CPU disabled.
- The ADC Noise Reduction mode plays a vital role in minimizing the switching noise and freezes entire module except asynchronous ADC and Timers.
- In the Power-save mode, the entire device is sleeping except asynchronous timer which continues to run.
- The Standby mode puts the whole device in sleep mode except Crystal Oscialltor which continues to run, helping to consume low power. The Extended Standby mode allows both the Oscillator and the Asynchronous Timer to run while the rest of the device sleeps.
ATmega128 Applications
- Embedded systems
- Industrial Automation
- Students Projects
- Making of quadcopters
- Home automation
That's all for today. I hope I have given you everything you needed to know about ATmega128. If you are unsure or have any question, you can approach me in the comment section below. I'll try and help you according to the best of my knowledge. Feel free to keep us updated with your valuable suggestions, so we keep providing quality work and you keep visiting us every now and then. Thanks for reading the article.
Build Your Work’s Credibility with Plagiarism Checker
Hello Guys! Hope you are doing well. Today, I'll discuss how you can
Build Your Work’s Credibility with Plagiarism Checker.
The term Plagiarism is the practice of taking someone else's idea and passing them off as their work. It is considered a fraud. Nowadays, plagiarism checker is introduced, and many companies use them to check if your work is your own or you're lying.
- If you've done a lot of hard work on your content but even then, it still matches someone else's work so you would be considered as a fraud. To not face this situation, you should try the Plagiarism Checker by PlagiarismSoftware.net.
Build Your Work’s Credibility with Plagiarism Checker
To become a successful writer, you need to have the skills to produce a work which contains no plagiarism. If you publish the article on your website which includes plagiarism, it will hurt your website’s rating and the traffic on your site will also fall.
- You must know that plagiarism can easily be detected these days with the help of a free plagiarism checker and that can hurt your reputation badly. It can be helpful for you if you use a plagiarism checker free software on your article before publishing so that you can make changes in the content if any plagiarism is detected.
Are there any privacy issues when checking the content with plagiarism checker?
In case of most plagiarism check tools, there is no need to worry about the privacy of your content. Your work will not be shared anywhere. You can read the privacy policy to make sure that plagiarism checker doesn't save any of your content anywhere so you can without any tension check for plagiarism. You can check as many documents you want to; there is no limit.
- With this application, you would not have to run through many documents to check that your work match with anyone else's work or not. It will save you so much time and will give you 100% results. The results will be entirely error free no matter how many times you check your different contents.
So now, you can continue your dream of being a writer without this problem. As this tool will surely be going to help you to
check plagiarism and will save you from any disgrace. You will be able to know about your plagiarized material and will be able to make some changes in data.
Features of Free Plagiarism Checker
Following are the main features of Free Plagiarism Checker:
Free of cost
When you are working on any project, cost seems to be very daunting, and you constantly wrestle your mind to make your working requirements highly economical. This is where this tool stands out as it doesn’t charge a single penny from anyone. Checking plagiarism on this tool is free of cost.
Accessibility
The plagiarism check application is available to everyone around the globe. It is not a tool which is present in only a few countries. You can run it on any device.
Web-based tool
You don’t need to download a plagiarism check tool on your device as it works as an online tool. You can gain access to it using any web browser.
Words per search
Different plagiarism checker tools allow different word limits. Some let you check the text of maximum 1000 words on each check. You can divide the document if it is more than 1000 words. It will provide you with the same features on every test you make.
Supports various language
This tool doesn’t only work for the content of the English language, you can check plagiarism in multiple languages.
- If you want to be a writer and want to publish your content so you must have a plagiarism checker, it might save you from ruining your career as it saved me.
It has become my habit to use a free plagiarism checker so that I can make my content plagiarism free before publishing them. You can also benefit from plagiarism checker free as you can find many free tools on the internet.
That's all for today. I hope you have found this article useful. If you are unsure or have any question, you can ask me in the comment section below. I'd love to help you in any way I can. Thanks for reading the article.
Introduction to ATmega8
Hi Friends! Hope you are doing well. I am back to give you a daily dose of useful information so you can excel and improve as per your technical needs and requirements. Today, I'll uncover the details on the Introduction to ATmega8. It is an 8-bit AVR microcontroller that is based on RISC CMOS technology and comes with a 28-pin interface for the PDIP package. The Program memory is 8K Flash while RAM and EEPROM are 1K and 512 bytes respectively.
Microchip has been the main source for producing PIC and AVR microcontrollers that are mainly used in embedded and industrial automation systems. These modules can perform a number of functions on a tiny chip, preventing you from spending too much and purchasing external components for laying out automation in the relevant project.
In this post, I’ll cover each and everything related to this tiny chip including main features, pinout, pin description, functions, the compiler used and everything you need to know. Let’s get down to the details of this onboard module:
Introduction to ATmega8
- ATmega8 is a 28-pin, 8-bit AVR microcontroller, based on RISC architecture, designed by Microchip and is mainly used in the embedded systems and industrial automation projects.
- It comes in three packages known as PDIP, MLF, and TQFP, where the first one contains 28 pins and the other two come with 32-pin on each module.
- The Program memory(Flash Memory) is 8KB used to store the programming code and permanent settings.
- Atmega8 comes with a RAM memory of 1KB, it's a volatile memory and refreshes on restart.
- It also has an EEPROM memory of 512 bytes, which is a semi-volatile memory.
- Other features includes are a power-up timer, a watchdog timer, Brown out Detection, In-Circuit Serial Programming and five sleep modes.
- The instruction set is the main criteria that set this module apart from the PIC microcontroller where the former executes most instructions in one clock cycle and comes with 32 general-purpose registers while later requires a number of clock cycles per instruction and comes with W register.
- The 10-bit ADC module is added to the device that plays a vital role for sensor interfacing and contains a total of 6 channels for the PDIP package and 8 channels for the remaining two packages.
- Communication protocols like SPI, I2C, and USART are added to the device that is widely used for establishing communication with external devices.
ATmega8 Key Features
- Before you start working on the relevant project, it is advised to check the features of the module, in order to get an idea if these features are suitable for the project you aim to work on.
- The following table shows the main features of ATmega8.
Atmega8 Key Features
|
No. of Pins |
28 |
CPU |
8-Bit AVR |
Operating Voltage |
2.7 to 5.5 V |
Program Memory |
8K |
Program Memory Type |
Flash |
RAM |
1K Bytes |
EEPROM |
512 Bytes |
ADC
Number of ADC Channels |
10-Bit
6 in PDIP, 8 in TQFP and QFN |
Comparator |
1 |
PWM Channels |
3 |
Oscillator |
up to 16 MHz |
Timer (3) |
16-Bit Timer (1)
8-Bit Timer (2) |
Packages (3) |
PDIP (28-Pins)
TQFP (32-Pins)
QFN (32) |
Power Up Timer |
Yes |
I/O Pins |
23 |
Manufacturer |
Microchip |
SPI |
Yes |
I2C |
Yes |
Watchdog Timer |
Yes |
Brownout Detection (BOD) |
Yes |
USART |
Yes |
Sleep Modes |
5 |
Minimum Operating Temperature |
-55 C |
Maximum Operating Temperature |
125 C |
ATmega8 Pinout and Description
- You have got a brief introduction to the module. In this section, we will cover the pinout and description of each pin.
Pinout
- The following figure shows the pinout of ATmega8.
- ATmega8 comes in three packages known as PDIP, MLF, and TQFP where the first is used for prototype projects, while the other two are used for industrial and electronic devices.
- The following table shows the complete description of each pinout, which will help you anticipate the major function associated with each pin.
Atmega8 pinout & Description
|
1 |
PC6
RESET
PCINT14 |
I/O Pin
RESET will be generated by keeping this pin LOW for longer than the minimum pulse length
Interrupt |
2 |
PD0
RXD
PCINT16 |
I/O Pin
Serial Receive Pin (USART)
Interrupt |
3 |
PD1
TXD
PCINT17 |
I/O Pin
Serial Transmit Pin (USART)Interrupt |
4 |
PD2
INT0
PCINT18 |
I/O Pin
External Interrupt
Interrupt |
5 |
PD3
INT1
OC2B
PCINT19 |
I/O Pin
External Interrupt
Dedicated Pin for Timer (PWM Channel)
Interrupt |
6 |
PD4
T0
XCK
PCINT20 |
I/O Pin
T0 ( Timer0 External Counter Input)
XCK ( USART External Clock I/O)
Interrupt |
7 |
VCC |
Voltage Supply |
8 |
GND |
Ground Pin |
9 |
PB6
OSC1
XTAL1
PCINT6 |
I/O Pin
Oscillator Input Pin
Interrupt |
10 |
PB7
OSC2
XTAL2
PCINT7 |
I/O Pin
Oscillator Output Pin
Interrupt |
11 |
PD5
T1
OC0B
PCINT21 |
I/O Pin
PinT1 ( Timer0 External Counter Input)
Dedicated Pin for Timer (PWM Channel)
Interrupt |
12 |
PD6
AIN0
OC0A
PCINT22 |
I/O
PinAnalog Comparator Positive
Dedicated Pin for Timer (PWM Channel)
Interrupt |
13 |
PD7
AIN1
PCINT23 |
I/O Pin
Analog Comparator Negative
Interrupt
|
14 |
PB0
ICP1
CLKO
PCINT0 |
I/O Pin
In Circuit Serial Programming
Clock
Interrupt
|
15 |
PB1
OC1A
PCINT1 |
I/O Pin
Dedicated Pin for Timer (PWM Channel)
Interrupt
|
16 |
PB2
SS
OC1B
PCINT2 |
I/O Pin
SPI Slave Select Input. When the controller acts as a slave, this pin is LOW
Dedicated Pin for Timer (PWM Channel)
Interrupt |
17 |
PB3
MOSI
OC2A
PCINT3 |
I/O Pin
MOSI (Master Output Slave Input) for SPI Communication. The data is received by this pin when the controller acts as a slave
Dedicated Pin for Timer
Interrupt
|
18 |
PB4
MISO
PCINT4 |
I/O Pin
MISO (Master Input Slave Output) for SPI communication. When the controller acts as a slave, the data is sent by a controller to master through this pin
Interrupt |
19 |
PB5
SCK
PCINT5 |
I/O Pin
SCK (SPI Bus Serial Clock). This clock is shared between the controller and other devices for data transfer
Interrupt |
20 |
AVCC |
Voltage Supply Pin for ADC |
21 |
AREF |
Voltage Reference |
22 |
GND |
Ground Pin |
23 |
PC0
ADC0
PCINT8 |
I/O Pin
Analog Channel 0
Interrupt
|
24 |
PC1
ADC1
PCINT9 |
I/O Pin
Analog Channel 1
Interrupt |
25 |
PC2
ADC2
PCINT10 |
I/O Pin
Analog Channel 2
Interrupt |
26 |
PC3
ADC3
PCINT11 |
I/O Pin
Analog Channel 3
Interrupt |
27 |
PC4
ADC4
SDA
PCINT12 |
I/O Pin
Analog Channel 4
Serial Data (I2C)
Interrupt |
28 |
PC5
ADC5
SCL
PCINT13 |
I/O Pin
Analog Channel 5
Serial Clock (I2C)
Interrupt |
ATmega8 Main Functions
- ATmega8 comes with the ability to execute and perform a number of functions.
- Following are the major functions related to this tiny module.
Timer
Atmega8 incorporates three timers where two are 8-bit and one is a 16-bit timer. These timers can be used both ways i.e. timer as well as a counter where the former is used to create the delay in any running function, controls the internal functions of the controller and increments the instruction cycle, while later is used to count the number of intervals by incrementing the rising and falling edge of the pin and is mainly used for external functions. Apart from these timers, two other timers are included in the device named as
- Oscillator Start-up Timers
- Power Up Timer
An oscillator start-up timer is used to make the crystal oscillator stable by resetting the controller. And power-up timer generates a minor delay once you power on the device, helping in stabilizing the power in order to generate power signals with continuous intervals.
Number of Sleep Modes
Five Sleep Modes are incorporated into the device that helps in saving power. These modes include:
- Power-save
- Power-down
- Idle
- ADC Noise Reduction
- Standby
Brown Out Detect (BOD)
The BOD, also known as BOR (Brown Out Reset), is used to resetting the module once the Vcc (voltage supply) goes below a brownout threshold voltage. It is important to note that, the Power Up Timer must be enabled for creating a delay and helping in bringing back the device from a BOD function. In this mode, multiple voltage ranges are created to protect the module once the power drops at the voltage supply line.
SPI Communication
ATmega8 comes with a serial peripheral interface (SPI) - A communication module that helps in establishing communication between the microcontroller and other peripheral devices such as shift registers, SD cards, and sensors. It incorporates a separate clock and data lines with the addition of a select line for selecting the relevant device for communication.
Two pins used for SPI communication are as follow:
- MOSI (Master Output Slave Input)
- MISO (Master Input Slave Output)
The MOSI pin receives the data when the controller acts as a slave. And MISO plays a vital role in sending data by the controller while later is put in the slave mode.
Watchdog Timer
ATmega8 incorporates a built-in watchdog timer that resets the controller if the running program hangs up during compilation or gets stuck in the infinite loop. The watchdog timer is nothing but a countdown timer.
Interrupt
The interrupt hints at a call of emergency that puts the main function on hold until the required instruction is executed. The controller goes to the main program once the interrupt is called and executed.
I2C Communication
- I2C protocol is used to connect low-speed devices like ADC and DAC converters, and microcontrollers.
- It is a two-wire communication that comes with:
- Serial Clock (SCL)
- Serial Data (SDA)
The former is a clock signal that synchronizes the data transfer between the devices and is produced by the master device, while the latter is used to carry the required data.
ATmega8 Memory Interface
The memory space in the controller is the manifestation of the linear and regular memory map. This AVR module comes with a Harvard Architecture that houses separate memories for both data and program.
- Single pipelining is used for the executions of the instructions in the Program Memory - A programmable Flash Memory - where the next instruction is called and executed followed by the next instruction that helps in executing the instructions in every clock cycle.
The Fast Access File Register comes with 32 x 8 - Bit general purpose working registers that can be accessed with the single clock cycle that assists in performing the ALU (Arithmetic Logic Unit) operation where the result is stored in the Register File.
The I/O Memory can be accessed in multiple ways by direct manner or using data Space locations covering Register File, 0x20 – 0x5F.
Program Memory (ROM)
- Program memory comes with a memory space around 8K and can perform the instructions in every clock cycle.
- It stores information permanently and doesn't depend on the source of power supply and is widely known as ROM or Non-Volatile Memory.
- The program memory address can access 16 or 32-bit instruction.
- Program Flash is divided into two parts including the Application Program section and the Boot Program section.
- The latter comes with Applications Flash Memory used for SPM instruction writing.
Data Memory (RAM)
The data memory comes with memory space around 1K (1024 bytes). It can be accessed through the five different addressing modes in the AVR architecture named Direct, Indirect, Indirect with Displacement, Indirect with Pre-decrement, and Indirect with Post-increment.
- Three address registers X, Y, and Z are capable to increment and decrement with regular intervals in the presence of indirect addressing modes.
The flexible interrupt module houses control registers that further contain global interrupt enable bit sitting in the Status Register. All these interrupts contain Interrupt Vector Table with Interrupt Vector where the former depends on the Interrupt Vector Position and are inversely proportional to each other.
- The ALU module, which is divided into three major functions known as direct, arithmetic and bit functions, has a direct connection with 32 general-purpose registers within a single clock cycle.
ATmega8 Compilers
If you are new to a microcontroller, you may be a little skeptical about the compiler you can use for writing and compiling the code into your AVR controller. I've combined some of the basic compilers where some are better than others in terms of efficiency. Although the free versions may lack some features, they are recommended to start with as a newbie to get hands-on experience with the AVR controller.
- The IAR compiler proves to be the best compiler for AVR. Although it is expensive and incorporates a highly professional interface.
- The GCC Port is a good option for AVR that works with both Linux and Windows. The interface is a little bit complex.
- ImageCraft is another right option to start with, but it lacks some GUI features like editor and project management that may create trouble during the execution of code.
- CodeVision comes with CodeWizard and is highly economical.
6. ATmega8 Interfacing with Arduino
ATmega8 can be interfaced with Arduino for the development of the embedded project.
The following figure shows the interfacing of ATmega8 with Arduino.
- If you are new to the Arduino Board, you must try these Arduino Projects for Beginners, they will help understand the major functions of the Arduino Board.
ATmega8 Internal Block Diagram
- A Block diagram will help you get a hold of how major functions and components are connected and perform inside the device.
- The following figure shows the block diagram of ATmega8:
- ATmega8 is a low-power CMOS AVR microcontroller that is mainly based on RISC architecture. By executing powerful instructions in a single clock cycle, the ATmega8 is capable to perform and execute powerful instructions using 1MIPS per MHz in a single clock cycle that drastically helps in optimizing the power consumption.
8. ATmega8 Projects and Applications
- Used in embedded and robotics system
- It is widely used in students projects
- Home Security System
- For the designing of quadcopters
- Industrial Automation
That's all for today. I hope you have found this article information. If you are unsure or have any questions, you can approach me in the comment section below. I'd love to help you the best way I can. Feel free to feed us with your valuable suggestions - they help us provide you quality work. Thanks for reading the article.
Which Engineering Field Should You Pick? Mystery Unlocked
Hi Friends! Hope you are doing well. Today, I will highlight and discuss the details on
Which Engineering Field Should You Pick? Mystery Unlocked.
If your parents are traditional and orthodox in nature, you are left out with only two options picking as a career i.e. Engineer or Doctor. Former is related to math while later involves the comprehensive study of human biology. In this post we cover we cover the best engineering field for you? Or Engineering is for you anyway?
There are lots of question coming around and making your mind confused when you pass out your high school and are on the verge of selecting engineering field as a career. With that being said, picking the right type of engineering is not a one night process, it starts right in your school days when you are studying and taking part in regular activities. That is the right time to start figuring out and keenly observe the parameters that intrigue and provoke you as a student and the things that you love doing without getting bored.
Engineering is not for everyone.
Protip: If you are interested in arts, don't fall a prey to society or parent's pressure that you need to pick engineering anyway. If you hate science and math, there is no point in wasting four years in the field that you hate or have no interest in it at all. Engineering field or any direct relation with math seem quite daunting for some students and they go into the sheer trauma when they hear the word "Maths"
I don't know I'm favoring engineering or scaring the hell out of you by pointing out the negatives of engineering field. Anyway back to the main topic. Engineering field is quite vast and covers almost every aspect of human life including, biomedical, space, transportation, infrastructure development, electrical power, communication, automotive etc.
Which Engineering Field Should You Pick? Mystery Unlocked
Following are some main engineering field you can pick based on your nature and field of interest.
Computer Engineering
This is an emerging field that has made our lives easy and hassle-free more than ever before. The inception of Windows in 1995 took the technology by storm by providing easy layout and design where people with no prior knowledge or skills can get a hands-on experience with the learning process of a computer.
Computer technology involves both hardware and software used in systems. If playing around with computers incite you anyway and you find it tempting to spend most of your time on a computer, then you can make your feet wet with this field.
Danger: Software engineering involves some complex algorithm related to programming that can be very inundated and formidable for you. Before you pick this engineering field, make sure you have some basic knowledge about the programming language used in this field like C, C++, Assembly, Java, HTML, PHP. No prior knowledge about some terms used in software can create trouble in the future and put your whole career on shaky grounds.
Mechanical Engineering
Mechanical engineering is the mother of all engineering. This field covers knowledge about mechanical products, hydraulics, stress measurement, thermodynamics, and everything that involves driving force that requires minimum input and delivers maximum output.
Point to Remember. This field is quite rough, boring and requires field work where you need to work with heavy machines all day long. If you don't come with problem-solving ability, then you can find this field quite intimidating. Also, you need to be physically tough to play with and fix the machines. Yes, there are some females who join this field, but after completing graduation, they don't like to continue this field as a career and look for alternatives and end up joining marketing department in the company.
Still, it doesn't mean girls are not allowed to pick this field. If they are love to deal with heavy machines, they can opt this field. I can't help pointing out one thing - If you are a female and aim to join this field, you will be only three or four girls in the whole class of scary boys (yes boys look scary when there 40 students in the class and only 4 of them are girls where every boy remains in a continues struggle figuring out how many boys are reserved for each girl :P)
Aeronautical Engineering
This engineering deals with aircraft. If you have a sense of playing with airplane and love getting knowledge about the design, development, and manufacturing of aircraft, then you are advised to pick this field as a career. With every day passing, people love to opt for the airplane as a source of transportation. And this field requires more engineers to handle, fix and maintain the quality of air jets.
Electrical Engineering
This engineering deals with the applications of electrical power. There is a drastic danger involved playing with electrical power especially when your circuits involve high voltage rating as they come with a higher chance of getting short circuit if proper care is not employed during the development these circuits.
If you intend to pick this field you need to develop electrical circuits every now and then where you require PCB circuit to connect different components on the board. There are many service provider available in the market. You can not pick the low-quality PCB and put your whole project at risk.
PCBWay is the best service provider that provide boards with thick copper that suit and stand fit for your technical requirements where traces are well aligned and connected with each other, setting you fear from the fear of losing connection that can put your project in a total stall.
Note: Including these mentioned fields, there are many other fields like chemical engineering, civil engineering, mechatronics engineering, transportation engineering etc. Before you pick any field, make sure the designing principle and work requirement of that particular field is quite in line with your nature and you don't feel bored if you need to work for hours.
That's all for today. I hope you have found this article useful. If you are unsure or have any question, you can ask me in the comment section below. I'd love to guide you picking the right field for you as a career. Thanks for reading the article.
Fahrenheit to Kelvin Converter
[vc_row][vc_column width="1/6"][ultimate_spacer height="50"][vc_raw_js]JTNDc2NyaXB0JTIwYXN5bmMlMjBzcmMlM0QlMjIlMkYlMkZwYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbSUyRnBhZ2VhZCUyRmpzJTJGYWRzYnlnb29nbGUuanMlMjIlM0UlM0MlMkZzY3JpcHQlM0UlMEElM0MlMjEtLSUyMFRvb2xzQWQlMjAtLSUzRSUwQSUzQ2lucyUyMGNsYXNzJTNEJTIyYWRzYnlnb29nbGUlMjIlMEElMjAlMjAlMjAlMjAlMjBzdHlsZSUzRCUyMmRpc3BsYXklM0FpbmxpbmUtYmxvY2slM0J3aWR0aCUzQTE2MHB4JTNCaGVpZ2h0JTNBNjAwcHglMjIlMEElMjAlMjAlMjAlMjAlMjBkYXRhLWFkLWNsaWVudCUzRCUyMmNhLXB1Yi0zNDcyNDEyODkwMjA1NDI2JTIyJTBBJTIwJTIwJTIwJTIwJTIwZGF0YS1hZC1zbG90JTNEJTIyODM2ODE5MjE0NyUyMiUzRSUzQyUyRmlucyUzRSUwQSUzQ3NjcmlwdCUzRSUwQSUyOGFkc2J5Z29vZ2xlJTIwJTNEJTIwd2luZG93LmFkc2J5Z29vZ2xlJTIwJTdDJTdDJTIwJTVCJTVEJTI5LnB1c2glMjglN0IlN0QlMjklM0IlMEElM0MlMkZzY3JpcHQlM0U=[/vc_raw_js][/vc_column][vc_column width="2/3"][vc_raw_html]JTNDaWZyYW1lJTIwc3R5bGUlM0QlMjJoZWlnaHQlM0ElMjA3MjBweCUzQiUyMHdpZHRoJTNBJTIwMTAwJTI1JTNCJTIwYm9yZGVyJTNBJTIwbm9uZSUzQiUyMiUyMHNyYyUzRCUyMmh0dHBzJTNBJTJGJTJGd3d3LnRoZWVuZ2luZWVyaW5ncHJvamVjdHMuY29tJTJGRW5naW5lZXJpbmdUb29scyUyRkZhaHJlbmhlaXR0b0tlbHZpbkNvbnZlcnRlciUyRkZhaHJlbmhlaXR0b0tlbHZpbkNvbnZlcnRlcjIucGhwJTIyJTNFJTNDJTJGaWZyYW1lJTNF[/vc_raw_html][/vc_column][vc_column width="1/6"][ultimate_spacer height="50"][vc_column_text][/vc_column_text][vc_column_text][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Hi Friends! Hope you are doing well. The calculator mentioned above shows the Fahrenheit to Kelvin Converter. Simply, put the required value in Kelvin on the box given above that will consequently convert it to Kelvin.
Fahrenheit to Kelvin Converter
We need to convert from Fahrenheit to Kelvin every now and then based on the technical needs and requirements of our work.
Formula Used
Following is used to convert from Fahrenheit to Kelvin scale.
K = 5/9 (
°F - 32) + 273
The temperature in Kelvin is equal to Fahrenheit minus 32 times 5/9, plus 273.
Example
Convert 270 F to Fahrenheit
Just put the value in the given formula
K = 5/9 (°F - 32) + 273
as F = 270
So, K = 5/9 (270 - 32) + 273 = 405.3
Table for Common Values
Following table shows some common values used in Fahrenheit to Kelvin converter.
Fahrenheit Temperature
Fahrenheit can be defined as per the nature of water where it freezes at
32 F and boils at
212 F. Fahrenheit is a scale named after German physicist Daniel Gabriel Fahrenheit who proposed this scale in 1724. He did an experiment on ice-salt mixture, concluding
30 F as the freezing point of water, while the normal body temperature was around
90 F.
- Nevertheless, these values were not accurate, which made him perform a further experiment to propose the actual value, terming 32 ºF as the freezing point of water and body temperature around 96 ºF. Later, the value of body temperature adjusted, finalizing 98 ºF as the normal body temperature.
Kelvin Temperature
Kelvin is a thermodynamic temperature scale that is mainly based on
Absolute Zero. It is denoted by K without any degree sign, unlike Celsius and Fahrenheit scale that come with degree sign on them. The degree sign was omitted to indicate the absolute value on the Kelvin scale while other two scales encompass some arbitrary values in temperature.
- The Kelvin scale is named after physicist Baron Kelvin who mainly proposed the need of “absolute thermodynamic scale.
- The absolute zero is equal to 0 K or – 459.67 F that is defined as a point where all thermal motions seize to flow.
Both Fahrenheit and Kelvin scales come show freezing and boiling points of the water where water freezes at
32 ºF =273.15 K and boils at
212 ºF = 373.15 K
- Initially, the Kelvin scale was written with a degree sign that made people confuse it with the Rankine scale. In 1968, the degree sign was removed to lay out the explicit different between Kelvin and Rankine scale.
It is important to note that, these temperature scales don't share a common point and some offset is required to be added in the start to make them equal. Also, once some offset is added at the start, both Fahrenheit and Kelvin don't increment with a regular interval, instead show some arbitrary behavior on the scales.
That's all for today. I have given you everything you need to convert Fahrenheit to Kelvin. If you are unsure or have any question, you can ask me in the comment section below. I'd love to help you according to the best of my knowledge. Feel free to share your feedback and suggestion, they help us provide you quality work as per your needs and requirements so you keep coming back for what we have to offer. Thanks for reading the article.
[/vc_column_text][/vc_column][/vc_row]
Kelvin to Fahrenheit Converter
[vc_row][vc_column width="1/6"][ultimate_spacer height="50"][vc_raw_js]JTNDc2NyaXB0JTIwYXN5bmMlMjBzcmMlM0QlMjIlMkYlMkZwYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbSUyRnBhZ2VhZCUyRmpzJTJGYWRzYnlnb29nbGUuanMlMjIlM0UlM0MlMkZzY3JpcHQlM0UlMEElM0MlMjEtLSUyMFRvb2xzQWQlMjAtLSUzRSUwQSUzQ2lucyUyMGNsYXNzJTNEJTIyYWRzYnlnb29nbGUlMjIlMEElMjAlMjAlMjAlMjAlMjBzdHlsZSUzRCUyMmRpc3BsYXklM0FpbmxpbmUtYmxvY2slM0J3aWR0aCUzQTE2MHB4JTNCaGVpZ2h0JTNBNjAwcHglMjIlMEElMjAlMjAlMjAlMjAlMjBkYXRhLWFkLWNsaWVudCUzRCUyMmNhLXB1Yi0zNDcyNDEyODkwMjA1NDI2JTIyJTBBJTIwJTIwJTIwJTIwJTIwZGF0YS1hZC1zbG90JTNEJTIyODM2ODE5MjE0NyUyMiUzRSUzQyUyRmlucyUzRSUwQSUzQ3NjcmlwdCUzRSUwQSUyOGFkc2J5Z29vZ2xlJTIwJTNEJTIwd2luZG93LmFkc2J5Z29vZ2xlJTIwJTdDJTdDJTIwJTVCJTVEJTI5LnB1c2glMjglN0IlN0QlMjklM0IlMEElM0MlMkZzY3JpcHQlM0U=[/vc_raw_js][/vc_column][vc_column width="2/3"][vc_raw_html]JTNDaWZyYW1lJTIwc3R5bGUlM0QlMjJoZWlnaHQlM0ElMjA3MjBweCUzQiUyMHdpZHRoJTNBJTIwMTAwJTI1JTNCJTIwYm9yZGVyJTNBJTIwbm9uZSUzQiUyMiUyMHNyYyUzRCUyMmh0dHBzJTNBJTJGJTJGd3d3LnRoZWVuZ2luZWVyaW5ncHJvamVjdHMuY29tJTJGRW5naW5lZXJpbmdUb29scyUyRktlbHZpbnRvRmFocmVuaGVpdENvbnZlcnRlciUyRktlbHZpbnRvRmFocmVuaGVpdENvbnZlcnRlci5waHAlMjIlM0UlM0MlMkZpZnJhbWUlM0U=[/vc_raw_html][/vc_column][vc_column width="1/6"][ultimate_spacer height="50"][vc_column_text][/vc_column_text][vc_column_text][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Hi Friends! Converting temperature from one scale to another is now just one click away. The table given above shows the calculator for Kelvin to Fahrenheit converter. Just put the required values in the table that will convert it to Fahrenheit in one go.
Kelvin to Fahrenheit Converter
Kelvin and Fahrenheit are the two scales widely used for temperature measurement. Before you convert any value from one scale to another, you must know the formula behind converting that values.
Formula Used
Following formula is used to convert Kelvin into Fahrenheit scale.
ºF =
K x 9/5 - 459.67
The temperature in Fahrenheit is equal to Kelvin times 9/5 minus 459.67.
Example
Convert 230 K to Fahrenheit
Just put the value in the given formula
ºF = K x 9/5 - 459.67
as K = 300
So, ºF = 230 x 9/5 -459.67 = -45.67
Table for Common Values
Following table shows some common values used in Kelvin to Fahrenheit converter.
Kelvin Temperature
Kelvin is a thermodynamic temperature scale, based on
Absolute Zero – the temperature at which all thermal motion stops to flow. It is denoted by K and is not written in terms of degree sign unlike other two scales Fahrenheit and Celsius that are widely written with a degree sign.
The value of absolute zero is -
0 K or - 459.67 F
The freezing and boiling point of water can be expressed in Kelvin and Fahrenheit scale and are described with the following values.
Freezing Point of Water = 273.15 K = 32 ºF
Boiling Point of Water = 373.15 K = 212 ºF
- The Kelvin scale is named after physicist Baron Kelvin who pointed out the need of “absolute thermodynamic scale.
The Kelvin scale was written with degree sign before 1968, that made people skeptical where there were unable to find the difference between Rankine and Kelvin scale and most of them considered K with degree sign as a Rankine Scale.
- In order to remove any confusion, the degree sign was omitted in 1968. Additionally, degree sign indicates the arbitrary value as in case of Celsius and Fahrenheit, while K value truly paints the absolute value.
Fahrenheit Temperature
Fahrenheit can be defined as a temperature at which water freezes at
32 F and boils at
212 F, indicating boiling and freezing point values are equally separated by
180 points.
Fahrenheit and Kelvin are somehow related to each other with some offset value. The point worth mentioning here is that all these values are calculated and measured at sea level with standard atmospheric pressure.
Origin
Fahrenheit is a term named after German physicist Daniel Gabriel Fahrenheit who introduced this scale in 1724. He proposed the scale based on the ice-salt mixture, defining
30 F as the freezing point of water, while the normal body temperature was around
90 F.
These were based on the initial experiment, that came with some flaws, and failed to predict the actual freezing point of water and body temperature. However, once these terms came to sheer limelight and started using as a fixed reference for a thermometer, these values were adjusted, stating
32 ºF as the freezing point of water and
98 ºF as the normal body temperature.
That's all for today. I hope you have found this article informative. If you are unsure or have any question, you can ask me in the comment section below. I'd love to help you in any way I can. Thanks for reading the article.
[/vc_column_text][/vc_column][/vc_row]
Celsius to Kelvin Converter
[vc_row][vc_column width="1/6"][ultimate_spacer height="50"][vc_raw_js]JTNDc2NyaXB0JTIwYXN5bmMlMjBzcmMlM0QlMjIlMkYlMkZwYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbSUyRnBhZ2VhZCUyRmpzJTJGYWRzYnlnb29nbGUuanMlMjIlM0UlM0MlMkZzY3JpcHQlM0UlMEElM0MlMjEtLSUyMFRvb2xzQWQlMjAtLSUzRSUwQSUzQ2lucyUyMGNsYXNzJTNEJTIyYWRzYnlnb29nbGUlMjIlMEElMjAlMjAlMjAlMjAlMjBzdHlsZSUzRCUyMmRpc3BsYXklM0FpbmxpbmUtYmxvY2slM0J3aWR0aCUzQTE2MHB4JTNCaGVpZ2h0JTNBNjAwcHglMjIlMEElMjAlMjAlMjAlMjAlMjBkYXRhLWFkLWNsaWVudCUzRCUyMmNhLXB1Yi0zNDcyNDEyODkwMjA1NDI2JTIyJTBBJTIwJTIwJTIwJTIwJTIwZGF0YS1hZC1zbG90JTNEJTIyODM2ODE5MjE0NyUyMiUzRSUzQyUyRmlucyUzRSUwQSUzQ3NjcmlwdCUzRSUwQSUyOGFkc2J5Z29vZ2xlJTIwJTNEJTIwd2luZG93LmFkc2J5Z29vZ2xlJTIwJTdDJTdDJTIwJTVCJTVEJTI5LnB1c2glMjglN0IlN0QlMjklM0IlMEElM0MlMkZzY3JpcHQlM0U=[/vc_raw_js][/vc_column][vc_column width="2/3"][vc_raw_html]JTNDaWZyYW1lJTIwc3R5bGUlM0QlMjJoZWlnaHQlM0ElMjA3MjBweCUzQiUyMHdpZHRoJTNBJTIwMTAwJTI1JTNCJTIwYm9yZGVyJTNBJTIwbm9uZSUzQiUyMiUyMHNyYyUzRCUyMmh0dHBzJTNBJTJGJTJGd3d3LnRoZWVuZ2luZWVyaW5ncHJvamVjdHMuY29tJTJGRW5naW5lZXJpbmdUb29scyUyRkNlbHNpdXN0b0tlbHZpbkNvbnZlcnRlciUyRkNlbHNpdXN0b0tlbHZpbkNvbnZlcnRlci5waHAlMjIlM0UlM0MlMkZpZnJhbWUlM0U=[/vc_raw_html][/vc_column][vc_column width="1/6"][ultimate_spacer height="50"][vc_column_text][/vc_column_text][vc_column_text][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Hey Guys! Welcome you onboard. The table mentioned above shows the instant conversion from Celsius to Kelvin temperature. You can put any value in Celsius unit and get Kelvin value in return.
Celsius to Kelvin Converter
Both, Celsius and Kelvin are the units widely used for temperature. They don't show a common sharing point and start with an offset value around 273.15. However, once the starting points of both the Kelvin scale and Celsius scales are reserved for the freezing point of water, they are equally separated and incremented with the same number.
Formula Used
Following is the formula used for Celcius to Kelvin conversion.
K = ºC +273.15
The K stands for Kelvin while C stands for Celsius.
Example:
What is the value of 50 C in Kelvin?
Simply put the values in the formula
K = ºC+273.15
As given value C = 50,
K = 50+273.15 = 323.15
Table for Common Values
Following table shows some common values converted from Celsius to Kelvin.
- Note: Exact value of triple point of water is 0.01 C, 273.16K or 32.02 F.
Celsius Temperature
The Celsius, denoted by C, is an SI unit of temperature that is defined in terms of Kelvin where -273.15 Celsius is equal to the 0 K - commonly known as the
Absolute zero. This is a new definition of the Celsius scale that was coined in 1954. Before that, Celsius scale was based and referred to the boiling and freezing point of water where
Zero Celsius termed as the freezing point while
100 Celcius was termed as the boiling point of water.
- The Celsius unit was named after Swedish Astronomer Anders Celsius. Before referring this scale as Celsius in 1948, it was widely recognized as centigrade which is a Latin word where centum means 100 and gradus means steps.
Kelvin Temperature
Kelvin, denoted by K, is a thermodynamic temperature scale, based on
Absolute Zero - the temperature at which all thermal motion stops to flow. The Kelvin scale is not written in terms of degree while other two scales Fahrenheit and Celsius are written with a degree sign.
The Kelvin scale is named after physicist Baron Kelvin who proposed a need of "absolute thermodynamic scale.
- Until 1968 the Kelvin was widely written as the degree Kelvin ºK which had created the confusion as some people interpreted it as Rankins Scale. Also, the degree sign indicates the arbitrary value that is appropriate for Celsius and Fahrenheit and is not suitable for defining Kelvin as it predicts the absolute value.
Defining temperatures in both Celsius and Kelvin is a common practice while creating content related to science and technology i.e. the temperature intervals are expressed in Kelvin scales and absolute temperatures are shown in the Celsius scale. The degree Celsius is nothing but a special name for Kelvin used for relative temperature. Similarly, Kelvin is, more or less, indicates the magnitude of degree Celsius.
That's all for today. I hope you have found this post informative as per your needs and requirements. Feel free to keep us updated with your feedback and suggestions so we keep producing valuable content and you keep coming back for what we have to offer. Thanks for visiting this page.
[/vc_column_text][/vc_column][/vc_row]
Celsius to Fahrenheit Converter
[vc_row][vc_column width="1/6"][ultimate_spacer height="50"][vc_raw_js]JTNDc2NyaXB0JTIwYXN5bmMlMjBzcmMlM0QlMjIlMkYlMkZwYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbSUyRnBhZ2VhZCUyRmpzJTJGYWRzYnlnb29nbGUuanMlMjIlM0UlM0MlMkZzY3JpcHQlM0UlMEElM0MlMjEtLSUyMFRvb2xzQWQlMjAtLSUzRSUwQSUzQ2lucyUyMGNsYXNzJTNEJTIyYWRzYnlnb29nbGUlMjIlMEElMjAlMjAlMjAlMjAlMjBzdHlsZSUzRCUyMmRpc3BsYXklM0FpbmxpbmUtYmxvY2slM0J3aWR0aCUzQTE2MHB4JTNCaGVpZ2h0JTNBNjAwcHglMjIlMEElMjAlMjAlMjAlMjAlMjBkYXRhLWFkLWNsaWVudCUzRCUyMmNhLXB1Yi0zNDcyNDEyODkwMjA1NDI2JTIyJTBBJTIwJTIwJTIwJTIwJTIwZGF0YS1hZC1zbG90JTNEJTIyODM2ODE5MjE0NyUyMiUzRSUzQyUyRmlucyUzRSUwQSUzQ3NjcmlwdCUzRSUwQSUyOGFkc2J5Z29vZ2xlJTIwJTNEJTIwd2luZG93LmFkc2J5Z29vZ2xlJTIwJTdDJTdDJTIwJTVCJTVEJTI5LnB1c2glMjglN0IlN0QlMjklM0IlMEElM0MlMkZzY3JpcHQlM0U=[/vc_raw_js][/vc_column][vc_column width="2/3"][vc_raw_html]JTNDaWZyYW1lJTIwc3R5bGUlM0QlMjJoZWlnaHQlM0ElMjA3MjBweCUzQiUyMHdpZHRoJTNBJTIwMTAwJTI1JTNCJTIwYm9yZGVyJTNBJTIwbm9uZSUzQiUyMiUyMHNyYyUzRCUyMmh0dHBzJTNBJTJGJTJGd3d3LnRoZWVuZ2luZWVyaW5ncHJvamVjdHMuY29tJTJGRW5naW5lZXJpbmdUb29scyUyRkNlbHNpdXN0b0ZhaHJlbmhlaXRDb252ZXJ0ZXIlMkZDZWxzaXVzdG9GYWhyZW5oZWl0Q29udmVydGVyLnBocCUyMiUzRSUzQyUyRmlmcmFtZSUzRQ==[/vc_raw_html][/vc_column][vc_column width="1/6"][ultimate_spacer height="50"][vc_column_text][/vc_column_text][vc_column_text][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Hi Fellas! Hope you are doing well. The table shown above is a Celsius to Fahrenheit Converter. As you put any Celsius value in the table, it will swiftly convert it to Fahrenheit.
Celsius to Fahrenheit Converter
Celsius and Fahrenheit are closely related to each other and need conversion while displaying temperature intervals of any experiment or the magnitude of temperature.
Formula for Conversion
Following formula is used to convert relate Celsius to Fahrenheit.
ºC = 5/9 x (ºF-32)
ºF = 9/5 ºC + 32
Example
Convert 30 Celsius to Fahrenheit.
Just put the values in the formula
ºF = 9/5 ºC + 32
As given ºC = 30, put this value in the formula above
ºF = 9/5 x 30 + 32 = 86
So, 30 ºC will be equal to 86 ºF
Table for Some Basic Values
Follow table shows the conversion for some common values of Celsius.
Why Convert?
These temperature scales don't share a common point. They require some offset to be added in the start to make them equal. Unlike Kelvin and Celsius that once are reserved for water freezing point, share a regular increment in values, Fahrenheit and Celsius don't increment with regular intervals where Fahrenheit is distributed with 180 (32 -212) points from water freezing to boiling point while Celsius goes from 0 to 100.
Celsius Temperature
The Celsius temperature can be defined in terms of Kelvin temperature where 0 Kelvin is equal to -273.15 Celsius – the point mostly known as
Absolute Zero.
- Celsius is a temperature scale introduced by Swedish Astronomer Anders Celsius in 1742. Until 1948, this scale was termed as Centigrade, which is a Latin word divided into two parts where centum means 100 and gradus means steps, after that, it was named after the Astronomer.
Uppsala University’s Olof Beckman stated “Celsius should be recognized as the first to perform and publish careful experiments aiming at the definition of an international temperature scale on scientific grounds,”
Celsius is the SI unit of temperature and is also defined as per the boiling and freezing point of water where water freezes at
0 C and boils at
100 C.
- 0 ºC = 32 F ºFreezing point of water
The freezing and boiling point of water are separated by 180 points in the Fahrenheit scale.
- 100 ºC = 212 ºF Boiling Point of water
Fahrenheit Temperature
Fahrenheit is a temperature scale defined as a temperature at which water freezes at
32 F and boils at
212 F, measured at sea level with standard atmospheric pressure.
History
Fahrenheit is a temperature scale introduced by German physicist Daniel Gabriel Fahrenheit in 1724. He performed the experiment on ice-salt mixture and came with the conclusion that water was frozen at 30 F and normal body temperature was supposed to be 90 F.
However, the idea was turned down by him after performing a couple of experiments and proposed new values for water freezing point as 32 ºF, modifying body temperature as 96 ºF.
- This temperature scale was widely used as a fixed reference for a thermometer which furthered to rescale the value for body temperature, terming 98 ºF as the normal body temperature.
That's all for today. I hope you have found this post useful and informative. In case, you are feeling skeptical or have any question, you can ask me in the comment section below. I'd love to help you according to the best of my expertise. Thanks for visiting this post.
[/vc_column_text][/vc_column][/vc_row]
Fahrenheit to Celsius Converter
[vc_row][vc_column width="1/6"][ultimate_spacer height="100"][vc_raw_js]JTNDc2NyaXB0JTIwYXN5bmMlMjBzcmMlM0QlMjIlMkYlMkZwYWdlYWQyLmdvb2dsZXN5bmRpY2F0aW9uLmNvbSUyRnBhZ2VhZCUyRmpzJTJGYWRzYnlnb29nbGUuanMlMjIlM0UlM0MlMkZzY3JpcHQlM0UlMEElM0MlMjEtLSUyMFRvb2xzQWQlMjAtLSUzRSUwQSUzQ2lucyUyMGNsYXNzJTNEJTIyYWRzYnlnb29nbGUlMjIlMEElMjAlMjAlMjAlMjAlMjBzdHlsZSUzRCUyMmRpc3BsYXklM0FpbmxpbmUtYmxvY2slM0J3aWR0aCUzQTE2MHB4JTNCaGVpZ2h0JTNBNjAwcHglMjIlMEElMjAlMjAlMjAlMjAlMjBkYXRhLWFkLWNsaWVudCUzRCUyMmNhLXB1Yi0zNDcyNDEyODkwMjA1NDI2JTIyJTBBJTIwJTIwJTIwJTIwJTIwZGF0YS1hZC1zbG90JTNEJTIyODM2ODE5MjE0NyUyMiUzRSUzQyUyRmlucyUzRSUwQSUzQ3NjcmlwdCUzRSUwQSUyOGFkc2J5Z29vZ2xlJTIwJTNEJTIwd2luZG93LmFkc2J5Z29vZ2xlJTIwJTdDJTdDJTIwJTVCJTVEJTI5LnB1c2glMjglN0IlN0QlMjklM0IlMEElM0MlMkZzY3JpcHQlM0U=[/vc_raw_js][/vc_column][vc_column width="2/3"][vc_raw_html]JTNDaWZyYW1lJTIwc3R5bGUlM0QlMjJoZWlnaHQlM0ElMjA3NDBweCUzQiUyMHdpZHRoJTNBJTIwMTAwJTI1JTNCJTIwYm9yZGVyJTNBJTIwbm9uZSUzQiUyMiUyMHNyYyUzRCUyMmh0dHBzJTNBJTJGJTJGd3d3LnRoZWVuZ2luZWVyaW5ncHJvamVjdHMuY29tJTJGRW5naW5lZXJpbmdUb29scyUyRkZhaHJlbmhlaXR0b0NlbHNpdXNDb252ZXJ0ZXIlMkZGYWhyZW5oZWl0dG9DZWxzaXVzQ29udmVydGVyLnBocCUyMiUzRSUzQyUyRmlmcmFtZSUzRQ==[/vc_raw_html][/vc_column][vc_column width="1/6"][ultimate_spacer height="50"][vc_column_text][/vc_column_text][vc_column_text][/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Hi Friends! Hope you are doing well. The above table shows
Fahrenheit to Celsius Converter where you can put any value in Fahrenheit that will consequently convert it to Celsius.
Fahrenheit to Celsius Conversion
Both Fahrenheit and Celsius are termed as units of temperature used as per technical needs and requirements.
Formula used for Conversion
Following formula relate Fahrenheit and Celsius.
C = 5/9 x (F-32)
F = 9/5 C + 32
Example: Convert 90 Fahrenheit to Celsius
Just put the values in the formula
C = 5/9 x (F - 32)
As given 90, put this value in the formula above
C = 5/9 x (90 -32) = 32.2
So, 90 F will be equal to 32 C
Table for Some Basic Values
Follow table shows the basic conversion of some common values mainly used in studies.
Why We need Conversion?
The concept of these two units widely used for temperature can be easily apprehended by the concept of Oranges and Apples. Both come with different composition and taste but fall under the same category......Fruits.
Similarly, both temperature scales are somehow related to the freezing and boiling point of waters. But their inception was something different from the basis they are used by now. Fahrenheit is widely used for the measuring of body temperature while Celsius is closely related to defining the nature of water.
These temperature units don't use a common share point and require some offset to be added in the given value before making them applicable for any experiment.
- Most of the countries have abandoned the usage of Fahrenheit scale and switched to Celsius except America - that is still relying on Fahrenheit scale.
Fahrenheit Temperature
Fahrenheit, denoted by F, is defined as a temperature at which water freezes at
32 F and boils at
212 F. These boiling and freezing point values are equally separated by
180 points.
Fahrenheit and Celsius are closely related and, more often than not, are defined in relation with each other where zero Celsius is equal to 32 F. It is important to note that, all these values are measured and calculated at sea level with standard atmospheric pressure.
History
Fahrenheit is a term coined by German physicist Daniel Gabriel Fahrenheit in 1724. He proposed the scale based on the ice-salt mixture where he defined
30 F as the freezing point of water, terming
90 F as the body temperature. Later, he found, based on a couple of experiment, the freezing point of water is
32 F while the body temperature is
96 F.
When the freezing and boiling point came to limelight as a fixed reference for a thermometer, these values were modified, terming
98 F as the normal body temperature of the human body.
Celsius Temperature
The Celsius temperature, denoted by ºC, is defined in terms of Kelvin temperature where -273.15
Celsius is equal to 0
Kelvin - the point mostly known as
Absolute Zero.
Celsius was the term introduced by Swedish Astronomer Anders Celsius in 1742.
- Uppsala University's Olof Beckman alleged "Celsius should be recognized as the first to perform and publish careful experiments aiming at the definition of an international temperature scale on scientific grounds,"
Celsius is the SI unit of temperature and is widely replaced Fahrenheit in most of the cases.
It is also defined as the temperature at which water freezes at
0 C and boils at
100 C.
- 0 ºC = 273.15 K Freezing point of water
Once this threshold, is set for the freezing point of water, the next 100 points in Celsius scale are equal to values in Kelvin.
- 100 ºC = 373.15 K Boiling Point of water
That's all for today. I hope you have found this Fahrenheit to Celsius Converter useful. If you are unsure or have any question you can ask me in the comment section below. I'd love to help you in any way I can. Thanks for reading the article.
[/vc_column_text][/vc_column][/vc_row]
Introduction to ATmega168
Hi Friends! Hope you are doing well. We always strive to give you valuable information as per your needs and requirements so you keep coming back for what we have to offer. Today, I'll uncover the details on the
Introduction to ATmega168. It is an 8-bit AVR microcontroller that comes with 32-pin interface and is mainly based on RISC CMOS technology. The Program memory is 16K, based on Flash, and incorporates read-write capabilities.
The module comes with a wide temperature range from -40 to 85 ºC while operating voltage ranges from 1.8 to 5.5 V. If you are working on project that is related to automation and embedded systems, you can not write off the importance of this module that comes with an ability of performing a number of functions at once on a single chip.
In this post, I'll cover each and everything related to this module including main features, pinout, pin description, functions, the compiler used and real-time applications. Let's jump right it, and get down to the nitty-gritty of this little toy.
Introduction to ATmega168
- ATmega168 is an 8-bit AVR microcontroller that comes in three packages named as PDIP, MLF, and TQFP, where the first two contain 28 pins on each module while other comes with 32-pin interface.
- The Program memory is 16K that is based on Flash while other two memories RAM and EEPROM contain 1K and 512 Bytes respectively with data retention capability of around 20 years.
- The 10-bit ADC module is added in the device that plays a vital role for sensor interfacing and contains total 8 channels that are enough to provide analog to digital conversion to a number of pins.
- Only a few controllers incorporate all three communication protocols i.e. SPI, I2C and USART and ATmega168 is one of them. These protocols are widely used for setting up a communication with external devices.
- Apart from providing decent pace for executing a number of instructions, other features this module includes a watchdog timer, power up timer, oscillator start-up timer, Brown out Detection and In-Circuit Serial Programming.
- What Makes this AVR module Different from PIC Microcontrollers is the instruction set. PIC microcontrollers require a number of clock cycles per instruction while AVR executes most instructions in one clock cycle. Also, PIC contains a 'W' register, while AVR comes with 32 general purpose registers where three pairs can be employed as pointers.
1. ATmega168 Features
Features of any device are very important to get a hold of major functions and characteristics associated with it. Following table shows the main features of this module.
ATmega168 Features |
No. of Pins |
28 |
CPU |
RISC 8-Bit CMOS |
Operating Voltage |
1.8 to 5.5 V |
Program Memory |
16K |
Program Memory Type |
Flash |
RAM |
1K |
EEPROM |
512 Bytes |
ADC
Number of ADC Channels |
10-Bit
8 |
Comparator |
1 |
In-circuit serial programming |
Yes |
Oscillator |
up to 20 MHz |
Timer (3) |
16-Bit Timer (1)
8-Bit Timer (2) |
Capture/Compare/PWM |
1/1/6 |
Power Up Timer |
Yes |
I/O Pins |
23 |
USART |
Yes |
SPI |
2 |
I2C |
Yes |
Watchdog Timer |
Yes |
Brown out Detection (BOD) |
Yes |
Power on Reset |
Yes |
Data Retention |
20 Years |
Minimum Operating Temperature |
-40 ºC |
Maximum Operating Temperature |
85 ºC |
2. ATmega168 Pinout and Description
In this section, we will cover the pinout and pin description of each pin of the controller so you can anticipate the main functions associated with the pins.
The following figure shows the pinout of ATmega168.
- ATmega168 comes in three packages named as PDIP, MLF, and TQFP where first is used for the development of individual projects while the other two are added to the industrial and electronic devices.
Pin Description
Following table shows the pin description of each pin that will help you foresee the major functions associated with each pin of the controller.
Pin# |
Pin Name |
Pin Description |
1 |
PC6
RESET
PCINT14 |
Digital I/O Pin
RESET will be generated by keeping this pin LOW for longer than the minimum pulse length
Interrupt |
2 |
PD0
RXD
PCINT16 |
Digital I/O Pin
Serial Receive Pin (USART)
Interrupt |
3 |
PD1
TXD
PCINT17 |
Digital I/O Pin
Serial Transmit Pin (USART)
Interrupt |
4 |
PD2
INT0
PCINT18 |
Digital I/O Pin
External Interrupt
Interrupt |
5 |
PD3
INT1
OC2B
PCINT19 |
Digital I/O Pin
External Interrupt
Dedicated Pin for Timer (PWM Channel)
Interrupt |
6 |
PD4
T0
XCK
PCINT20 |
Digital I/O Pin
T0 ( Timer0 External Counter Input)
XCK ( USART External Clock I/O)
Interrupt |
7 |
VCC |
Voltage Supply |
8 |
GND |
Ground Pin |
9 |
PB6
OSC1
XTAL1
PCINT6 |
Digital I/O Pin
Oscillator Input Pin
Interrupt |
10 |
PB7
OSC2
XTAL2
PCINT7 |
Digital I/O Pin
Oscillator Output Pin
Interrupt
|
11 |
PD5
T1
OC0B
PCINT21 |
Digital I/O Pin
T1 ( Timer0 External Counter Input)
Dedicated Pin for Timer (PWM Channel)
Interrupt
|
12 |
PD6
AIN0
OC0A
PCINT22 |
Digital I/O Pin
Analog Comparator Positive
Dedicated Pin for Timer (PWM Channel)
Interrupt
|
13 |
PD7
AIN1
PCINT23 |
Digital I/O Pin
Analog Comparator Negative
Interrupt
|
14 |
PB0
ICP1
CLKO
PCINT0 |
Digital I/O Pin
In Circuit Serial Programming
Clock
Interrupt
|
15 |
PB1
OC1A
PCINT1 |
Digital I/O Pin
Dedicated Pin for Timer (PWM Channel)
Interrupt
|
16 |
PB2
SS
OC1B
PCINT2 |
Digital I/O Pin
SPI Slave Select Input. When the controller acts as a slave, this pin is LOW
Dedicated Pin for Timer (PWM Channel)
Interrupt |
17 |
PB3
MOSI
OC2A
PCINT3 |
Digital I/O Pin
MOSI (Master Output Slave Input) for SPI Communication. The data is received by this pin when the controller acts as a slave
Dedicated Pin for Timer
Interrupt
|
18 |
PB4
MISO
PCINT4 |
Digital I/O Pin
MISO (Master Input Slave Output) for SPI communication. When the controller acts as a slave, the data is sent by a controller to master through this pin
Interrupt |
19 |
PB5
SCK
PCINT5 |
Digital I/O Pin
SCK (SPI Bus Serial Clock). This clock is shared between the controller and other devices for data transfer
Interrupt |
20 |
AVCC |
Voltage Supply Pin for ADC |
21 |
AREF |
Voltage Reference |
22 |
GND |
Ground Pin |
23 |
PC0
ADC0
PCINT8 |
Digital I/O Pin
Analog Channel 0
Interrupt
|
24 |
PC1
ADC1
PCINT9 |
Digital I/O Pin
Analog Channel 1
Interrupt |
25 |
PC2
ADC2
PCINT10 |
Digital I/O Pin
Analog Channel 2
Interrupt |
26 |
PC3
ADC3
PCINT11 |
Digital I/O Pin
Analog Channel 3
Interrupt |
27 |
PC4
ADC4
SDA
PCINT12 |
Digital I/O Pin
Analog Channel 4
Serial Data (I2C)
Interrupt |
28 |
PC5
ADC5
SCL
PCINT13 |
Digital I/O Pin
Analog Channel 5
Serial Clock (I2C)
Interrupt |
3. ATmega168 Main Functions
ATmega168 comes with an ability to execute and perform a number of functions. Following are the major functions related to this tiny module.
Timer
Atmega168 comes with three timers where two are 8-bit and one a 16-bit timer. These timers can be used as a timer as well as a counter. The timer mode is used to create the dealy in any running function that increments the instruction cycle and mainly controls the internal functions of the controller.
While the counter mode counts the number of intervals in any function and is mainly used for external functions where it can increment the rising and falling edge of the pin.
- Oscillator Start-up Timers
- Power Up Timer
Oscillator start-up timer resets the controller until the crystal oscillator becomes stable. Similarly, power-up timer is added that generates a minor delay once you power on the device, that provides an appropriate time to stabilize the power where it can generate power signals in a continuous manner.
Brown Out Detect (BOD)
The BOD, also known as BOR (Brown Out Reset), is a very valuable function that resets the module once the Vcc (voltage supply) goes below a brownout threshold voltage.
In this mode, multiple voltage ranges are used and generated to protect the module once the power drops at the voltage supply line, setting you free from manually resetting the device. The Power Up Timer must be enabled, that creates the delay in bringing back the device from a BOD function.
Number of Sleep Modes
Six Sleep Modes are added to the device that help in saving power. These modes include:
- Idle
- ADC Noise Reduction
- Power-save
- Power-down
- Standby
- Extended Standby
SPI Communication
ATmega168 incorporates a serial peripheral interface (SPI) that nails down a communication between the microcontroller and other peripheral devices such as SD cards, shift registers, and sensors. It comes with separate clock and data lines with the addition of a select line to select the given device for communication.
Two pins called used for SPI communication are as follow
MOSI (Master Output Slave Input)
MISO (Master Input Slave Output)
The data is received by MOSI pin when the controller acts as a slave. And MISO is responsible for sending data by the controller when later acts as a slave.
Interrupt
The interrupt is used for a call of emergency which puts the main function on hold and executes the required instructions essential at that time. Once the interrupt is called and executed the running instruction brings the controller back to the main program.
I2C Communication
I2C protocol is a two-wire protocol used to connect low-speed devices like ADC and DAC converters, and microcontrollers. It comes with two wires called
Serial Clock (SCL)
Serial Data (SDA)
The former behaves like a clock signal that is produced by the master device and synchronizes the data transfer between the devices. And the later is used to carry the desired data.
Watchdog Timer
ATmega168 comes with a built-in watchdog timer that brings the controller back in reset position if the program hangs up during compilation or gets stuck in the infinite loop. The watchdog timer acts like a countdown timer in the running function.
4. ATmega168 Memory Interface
This AVR controller encompasses the Harvard Architecture that provides separate memory locations for both Data and Program memory.
The memory is based on Atmel’s high-density technology where Program Memory, also known as Flash memory, can be reprogrammed through SPI serial interface using two ways i.e. Non-volatile memory programmer or On-chip boot code.
The CPU is very useful to access memories and perform calculations on the basis of the number of instructions fed into the controller.
Program Memory (ROM)
Program memory performs the instructions in every clock cycle at regular intervals. It is also known as ROM or non-volatile memory that stores the information permanently and works perfectly in the absence of power supply.
- The controller program memory executes the required instruction followed by the next instruction. Every program memory address is able to access a 16- or 32-bit instruction.
Program memory comes with a memory space around 16K - lot more than some other controllers available in the AVR community.
- Program Flash is mainly categorized into two sections i.e. Application Program section and the Boot Program section. Lock bits are reserved for read/write protection. The Boot Program Section houses Application Flash Memory that is responsible for SPM instruction writing.
Data Memory (RAM)
The data memory contains 1K (1024 bytes) memory space. It categorizes the memory locations three ways where first 32 locations access the file register, next 64 locations are allocated for standard I/O memory and remaining are employed for internal data SRAM.
The data memory is categorized into five addressing modes known as
- Direct,
- Indirect
- Indirect with Displacement
- Indirect with Pre-decrement
- Indirect with Post-increment
The memory space in the controller shows the linear and regular memory map. The address registers X, Y, and Z can increment and decrement with regular intervals when indirect addressing modes are coupled with both pre-decrement and post-increment.
It is important to note that, the I/O Memory can be accessed in two ways i.e. using data Space locations covering Register File, 0x20 - 0x5F or in a direct manner.
5. ATmega168 Compilers
Compilers are used for writing and compiling the code in the AVR microcontroller. Following are some compilers you can use for this AVR module.
- The IAR is the best compiler for AVR. It is expensive and incorporates highly professional interface. If you are a beginner, it is advised to use this compiler as per your technical needs and requirements.
- CodeVision is cheap and easy to use that incorporates CodeWizard.
- The GCC Port is another compiler for AVR. It is available FREE for both Linux and Windows operating systems. It comes with little bit complex interface that may put you in trouble right off the bat.
- ImageCraft is a valuable option but it lacks some GUI features where editor and project management are quite formidable and can create trouble for the code execution.
6. ATmega168 Interfacing with Arduino
ATmega168 can be interfaced with Arduino to drive automation in the relevant project. Both modules work perfectly in embedded systems where they can perform a number of useful functions.
The following figure shows the pinout how Arduino pins are connected with ATmega168.
- If you aim to work on this Arduino board then you must try these Arduino Projects for Beginners, they will help to get familiar with the Arduino Board.
7. ATmega168 Block Diagram
If you intend to closely look into the device and how major functions and components are connected and performed inside the device, a block diagram will help you out. The following figure shows the block diagram of ATmega168.
- AVCC is a voltage supply for analog to digital converter that is necessary to power up the ADC module. Power on reset and brown out detect house in the same package that is also connected with the watchdog timer.
8. ATmega168 Projects and Applications
- It is widely used in students projects
- Used in embedded and robotics system
- Industrial Automation
- Home Security System
- For the designing of quadcopters
That's all for today. I hope you have found this article useful. If you are feeling skeptical or have any question, you can approach me in the comment section below. I'd love to help you in any way I can according to the best of my expertise. Feel free to keep us updated with your valuable suggestion, they help us provide you quality work as per your needs and demands. Thanks for reading the article.