Sie sind auf Seite 1von 19

ACHARYA NARENDRA DEV COLLEGE

ROBOTICS PROGRAMS

SUBMITTED BY-
Lata Sinha
ROLL NO: YO-418
ELECTRONICS HONS.
SUBMITTED TO-
Dr. Monika Bhattacharya
PROGRAM-3
AIM-Interfacing of seven segment display.

Seven Segment Display

SOURCE CODE-
UP COUNTER
#include<avr/io.h>

#include<util/delay.h>

int main(void)

DDRB=0X3F;

DDRD=0X02;

while(1)

PORTB=0X00;
PORTD=0X02;

_delay_ms(5000);

PORTB=0X39;

PORTD=0X02;

_delay_ms(5000);

PORTB=0X24;

PORTD=0X00;

_delay_ms(5000);

PORTB=0X30;

PORTD=0X00;

_delay_ms(5000);

PORTB=0X19;

PORTD=0X00;

_delay_ms(5000);

PORTB=0X12;

PORTD=0X00;
_delay_ms(5000);

PORTB=0X02;

PORTD=0X00;

_delay_ms(5000);

PORTB=0X38;

PORTD=0X02;

_delay_ms(5000);

PORTB=0X00;

PORTD=0X00;

_delay_ms(5000);

PORTB=0X10;

PORTD=0X00;

_delay_ms(5000);

return 0;

OUTPUT-
Build started 23.1.2015 at 09:46:42

make: Nothing to be done for `all'.

Build succeeded with 0 Warnings...

DOWN COUNTER-
#include<avr/io.h>

#include<util/delay.h>

int main(void)

DDRB=0X3F;

DDRD=0X02;

while(1)

PORTB=0X10;

PORTD=0X00;

_delay_ms(5000);

PORTB=0X00;

PORTD=0X00;

_delay_ms(5000);
PORTB=0X38;

PORTD=0X02;

_delay_ms(5000);

PORTB=0X02;

PORTD=0X00;

_delay_ms(5000);

PORTB=0X12;

PORTD=0X00;

_delay_ms(5000);

PORTB=0X19;

PORTD=0X00;

_delay_ms(5000);

PORTB=0X30;

PORTD=0X00;

_delay_ms(5000);

PORTB=0X24;
PORTD=0X00;

_delay_ms(5000);

PORTB=0X39;

PORTD=0X02;

_delay_ms(5000);

PORTB=0X00;

PORTD=0X02;

_delay_ms(5000);

return 0;

OUTPUT-

Build started 23.1.2015 at 10:13:28

make: Nothing to be done for `all'.

Build succeeded with 0 Warnings...

RESULT-The program to display up counting and down counting using 7 segment


display driver has been implemented.
PROGRAM-4
AIM-Program to control buzzer.

Buzzer

SOURCE CODE-
#include<avr/io.h>
#include<util/delay.h>
int main()
{
DDRB=0x20;
while(1)
{
PORTB=0x20;
_delay_ms(1000);
PORTB=0x00;
}
return 0;
}

OUTPUT-

RESULT-Program to control buzzer has been implemented.


PROGRAM-5
AIM-BUZZER CONTROLLED BY A SWITCH
Program to cause the buzzer to beep (i) once when switch1 (SW1) is pressed (ii) twice
when switch2 (SW2) is pressed (iii) thrice when switch (SW3) is pressed and (iv) four
times when swich4 (SW4) is pressed

SOURCE CODE-
#include<avr/io.h>
#include<util/delay.h>
int main()
{
DDRB=0x20;
while(1)
{
if((PINB & 0x01)==0x00)
PORTB=0x20;
else
PORTB=0x00;
if((PINB & 0x02)==0x00)
PORTB=0x20;
_delay_ms(1000);
PORTB=0X20;
if((PINB & 0x04)==0x00)
PORTB=0x20;
_delay_ms(1000);
PORTB=0x20;
_delay_ms(1000);
PORTB=0x20;
_delay_ms(1000);
If((PINB & 0x08)==0x00)
PORTB=0x20;
_delay_ms(1000);
PORTB=0x20;
_delay_ms(1000);
PORTB=0x20;
_delay_ms(1000);
PORTB=0x20;
_delay_ms(1000);

}
return 0;
}

OUTPUT-
RESULT-Buzzer has been controlled by using a switch.

PROGRAM-6
AIM-Program to control direction of rotation of dc motor using a switch.

SOURCE CODE-
int main(void)

DDRB=0x00;

DDRD=0xFF;

while(1)

{
if((PINB&0x01)==0x00)

PORTD=0x08;

else

PORTD=0x00;

return 0;

OUTPUT-

RESULT-The DC motor has been rotated using switch.

PROGRAM-7
AIM- STEPPER MOTOR INTERFACING
Program to rotate a stepper motor in clockwise and anticlockwise direction in

(i) 1-phase ON Full stepping mode

(ii)2-phase ON Full stepping mode and

(iii)Half stepping mode.


1-phase stepping mode.
SOURCE CODE
#include<avr/io.h>
#include<util/delay.h>
int main(void)
{
DDRC=0x0F;
while(1)
{
PORTC=0x08;
_delay_ms(1000);
PORTC=0x02;
_delay_ms(1000);
PORTC=0x04;
_delay_ms(1000);
PORTC=0x01;
_delay_ms(1000);
}
return 0;
}

OUTPUT:-

RESULT:- The resolution of 1-phase stepping mode is 3.6


(3) 2-phase stepping mode.
SOURCE CODE-
#include<avr/io.h>

#include<util/delay.h>

int main(void)

DDRC=0x0F;

while(1)

PORTC=0x0A;

_delay_ms(100000);
PORTC=0x06;

_delay_ms(100000);

PORTC=0x05;

_delay_ms(100000);

PORTC=0x09;

_delay_ms(100000);

return 0;

RESULT-The result of 2-phase stepping mode is 3.6.


) Half phase stepping mode
SOURCE CODE:-

#include<avr/io.h>

#include<util/delay.h>

int main(void)

DDRC=0x0F;

while(1)

PORTC=0x08;

_delay_ms(10000);

PORTC=0x0A;

_delay_ms(10000);
PORTC=0x02;

_delay_ms(10000);

PORTC=0x06;

_delay_ms(10000);

PORTC=0x04;

_delay_ms(10000);

PORTC=0x05;

_delay_ms(10000);

PORTC=0x01;

_delay_ms(10000);
PORTC=0x09;

_delay_ms(10000);

return 0;

OUTPUT:-

RESULT-Resolution of half phase stepper motor is 1.8.


PROGRAM-8
AIM-Program to interface a 16x2 alphanumeric LCD for 4-bit mode operation
and display the required message.

SOURCE CODE-
#include<avr/io.h>

#defineF_CPU8000000UL

#include<util/delay.h>

voidcommand(unsignedchara)

DDRD=0xFF; unsignedcharb; b=a&0xF0;

PORTD=b;

PORTD=PORTD&0xFD;

PORTD=PORTD&0xFB;

PORTD=PORTD|0x08;

_delay_ms(10);

PORTD=PORTD&0xF7;

b=(a<<4)&0xF0;
PORTD=b;

PORTD=PORTD&0xFD;

PORTD=PORTD&0xFB;

PORTD=PORTD|0x08;

_delay_ms(10);

PORTD=PORTD&0xF7;

voiddata(unsignedchara)

DDRD=0xFF; unsignedcharb; b=a&0xF0; PORTD=b;

PORTD=PORTD|0x02;

PORTD=PORTD&0xFB;

PORTD=PORTD|0x08;

_delay_ms(10); PORTD=PORTD&0xF7;

b=(a<<4)&0xF0;

PORTD=b;

PORTD=PORTD|0x02;

PORTD=PORTD&0xFB;

PORTD=PORTD|0x08;

_delay_ms(10);

PORTD=PORTD&0xF7;

voidLCD_Init()

command(0x02); command(0x28); command(0x0C); command(0x06);


command(0x01);

}
voidLCD_Display(charstr[])

{ for(unsignedchari=1;str[i]!='¥0';i++)

data(str[i]);

intmain(void)

LCD_Init(); command(0x80);

LCD_Display("HELLO"); command(0xC0);

LCD_Display("WORLD"); return0;

RESULT-Text has been displayed on LCD.

Das könnte Ihnen auch gefallen