Skip to main content

Basics of Embedded System Design on AVR


In this tutorial, we will learn how to interface LED with Atmega16 using AVR Studio.

An embedded system is built around a processor.
The design goals of an embedded system are to reduce size, cost and power consumption and to increase performance and reliability.

The microprocessor we are using is ATMEGA16.
The processor has limited internal memory, and if this is not sufficient for a given application external memory devices are used.
The hardware also includes any components that facilitate the user-application interaction such as display units, keypad.
The light-emitting diodes are used for getting status information, such as power on, check output(high/low).
You all must have observed led decoration lights, which can glow in different patterns.

First, we will learn to interface a single Led and then 8 LEDs to learn a simple toggling technique.

Components Required:-
  • AVR controller(Atmega16)
  • LEDs
  • Connecting wires
  • USBASP Programmer
For single Led dump the following code:

#include<avr/io.h>
#include<util/delay.h>
void main()
{
DDRB=0xff;
int a=1;
while(1)
{
PORTB=a;
_delay_ms(100);
}
}

2.For toggling using 8 LEDs dump the following code:-

#include<avr/io.h>
#include<util/delay.h>
void main()
{
DDRB=0xff;
int a;
while(1)
{
for(a=1;a<=128;a=a*2)
{
PORTB=a;
_delay_ms(100); 
}
}
}
Thinking?
Join our hands-on training courses.
To know more visit us at http://www.sudolearn.com/

Comments

Popular posts from this blog

LED Brightness Control using Touch Sensor and ARM

Hey Folks, In this tutorial, we will learn, how to change  the intensity of light using touch sensor the ARM (FRDM-KL25Z). INTRODUCTION The FRDM-KL25Z is an ultra-low-cost development platform for Kinetis L Series KL1x (KL14/15) and KL2x (KL24/25) MCUs built on ARM® Cortex™-M0+ processor.  The FRDM-KL25Z has been designed by NXP in collaboration with mbed for prototyping all sorts of devices, especially those requiring the size and price point offered by Cortex-M0+ and the power of USB Host and Device. The FRDM-KL25Z is supported by a range of NXP and third-party development software. It is packaged as a development board with connectors to break out to stripboard and breadboard and includes a built-in USB FLASH programmer.               FEATURES NXP KL25Z Kinetis KL2x MCU (MKL25Z128VLK4) High-performance ARM® Cortex™-M0+ Core 48MHz, 16KB RAM, 128KB FLASH USB (Host/Device) SPI (2) I2C (2) UART (3) PWM (TPM) ...

Arduino Based Audio Spectrum Analyzer Project

This Video will illustrate you how to visualize audio left and right signals in bar-graph in 16X2 LCD Display using Arduino. Components Required: 1. Arduino UNO 2. 16X2 LCD Display 3. 3.5mm Audio Jack 4. Jumper Wires   Connection Diagram: Video Link Arduino Code #include <LiquidCrystal.h> #include <fix_fft.h> #define DEBUG 0 #define L_IN 1 // Audio input A0 Arduino #define R_IN 0 // Audio input A1 Arduino const int Yres = 8; const int gain = 3; float peaks[64]; char im[64], data[64]; char Rim[64], Rdata[64]; char data_avgs[64]; int debugLoop; int i; int load; LiquidCrystal lcd(11, 10, 7, 6, 5, 4); // pins to LCD // Custom CHARACTERS byte v1[8] = {   B00000, B00000, B00000, B00000, B00000, B00000, B00000, B11111 }; byte v2[8] = {   B00000, B00000, B00000, B00000, B00000, B00000, B00000, B11111 }; byte v3[8] = {   B00000, B00000, B00000, B00000, B00000, B11111, B11111, B11111 }; byte v4[8] = {   B0...

Soil Moisture Monitoring using ESP8266 and Soil Moisture Sensor

Hey folks In this tutorial, we will learn how to interface LM393 module(Soil Moisture Sensor)with NodeMcu(ESP8266). LM393 is a simple water sensor can be used to detect soil moisture when the soil moisture deficit module plant waterer device, so that the plants in our garden without people to manage; Adjustable sensitivity adjust the digital potentiometer (shown in blue) Operating Voltage 3.3V-5V; Module Dual Output mode, a simple. LM393 Soli Moisture Sensor Module(over view)  Components Required: LM393 Soil Sensor  NodeMcu(ESP8266)  Connecting wires(male to male)  Breadboard  Follow the Image below for circuit connection reference:- (Interfacing all components)  Here Pin A0 of the moisture sensor module connects to pin A0 on the ESP8266 The GND pin on the moisture sensor module connects to a GND pin on the ESP8266 The VCC pin on the moisture sensor module connects to a 3v3 pin on the ESP8266 D0 pin remain disconnected After making th...