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

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...

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) ...

Webcam Interfacing with Raspberry Pi

This tutorial is about the clicking photos and recording videos using "Logitech Webcam C110 with Raspberry Pi 3 Model B" Component Required: Rasberry Pi 3 Model B  Logitech Webcam C110  Adapter Charger micro USB-b Type 5v,2Amp  Connection Diagram: Step 1: Create a new folder First, we create a new folder just to store your photo and videos separately. Open the terminal. Command for creating new folder is "mkdir folder name" Step 2: Check everything is up-to-date To update your Raspberry Pi command is " sudo apt-get update ". And to upgrade your Raspberry Pi command is " sudo apt-get upgrade". Step 3: Check SSH and Camera enabled To make sure SSH and Camera enabled. Follow these two-steps. By this command, you can configure your SSH and Camera " sudo raspi-config ". Enable SSH. Enable Camera. Step 4: Check connection of Camera Make sure the camera is connected. Then run this command to make sure...