ݺߣ

ݺߣShare a Scribd company logo
APPENDIX 1
/*
* bluetooth/Lcd/rkg.c
* Created: 4/6/2015 4:30:08 PM
* Author: Shashi Verma
*/
#include<avr/io.h>
#include<util/delay.h>
#define lcd PORTB
#define rs PB0
#define rw PB1
#define en PB2
void lcd_cmd(unsigned char com);
void lcd_data(unsigned char data);
void lcd_string(unsigned char *str);
//------------------------------------------------------------------------
void USARTInit(uint16_t ubrr_value)
{
UBRRL = ubrr_value;
UBRRH = (ubrr_value>>8);
UCSRC|=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
UCSRB|=(1<<RXEN)|(1<<TXEN)|(1<<RXCIE);
}
unsigned char USARTReadChar()
{
while(!(UCSRA & (1<<RXC)));
return UDR;
}
void USARTWriteChar(char data)
{
while(!(UCSRA & (1<<UDRE)));
UDR=data;
}
void USART_StringTransmit(unsigned char s[])
{
int i=0;
while(s[i]!='0')
{
USARTWriteChar(s[i]);
i++;
}
}
void main()
{
int x;
DDRB=0xFF;
DDRC=0xFF;
char Recieved_command;
_delay_ms(50);
USARTInit(51);
lcd_cmd(0x02);//home location
lcd_cmd(0x28);//2x16 lcd 4bit mode
lcd_cmd(0x0C);//dispy on cursor blink
lcd_cmd(0x06);//increament
while(1)
{
Recieved_command=USARTReadChar();
if(Recieved_command=='1')
{
USART_StringTransmit("n Light On 1 ");
PORTC=0b00000001;
lcd_cmd(0xc0);
lcd_string(" Light On 1 ");
}
else if(Recieved_command=='2')
{
USART_StringTransmit("n Light On 2 ");
PORTC=0b00000010;
lcd_cmd(0xc0);
lcd_string(" Light On 2 ");
}
else if(Recieved_command=='3')
{
USART_StringTransmit("n Fan On ");
PORTC=0b00000100;
lcd_cmd(0xc0);
lcd_string(" Fan On ");
}
else if(Recieved_command=='4')
{
USART_StringTransmit("n Both Light On");
PORTC=0b00000011;
lcd_cmd(0xc0);
lcd_string(" Both Light On ");
}
else if(Recieved_command=='5')
{
USART_StringTransmit("n Light 1 & Fan On");
PORTC=0b00000101;
lcd_cmd(0xc0);
lcd_string("Light 1 & Fan On ");
}
if(Recieved_command=='6')
{
USART_StringTransmit("n Light 2 & Fan On ");
PORTC=0b00000110;
lcd_cmd(0xc0);
lcd_string("Light 2 & Fan On ");
}
else if(Recieved_command=='7')
{
USART_StringTransmit("n All Device On!!");
PORTC=0b00000111;
lcd_cmd(0xc0);
lcd_string(" All Device On !!
}
else if(Recieved_command=='8')
{
USART_StringTransmit("n Shut Down !! ");
PORTC=0b00000000;
lcd_cmd(0xc0);
lcd_string(" Shut Down !! ")
}
}
}
void lcd_cmd(unsigned char com)
{
//for command rs=0,rw=0,en=1,en=0
char cmd1;
cmd1=(com&(0xF0));//upper 4 bit data
lcd=cmd1;
lcd&=~(1<<rs);//rs=0
lcd&=~(1<<rw);//rw=0
lcd|=(1<<en);//en=1
_delay_ms(5);
lcd&=~(1<<en);
cmd1=((com<<4)&(0xF0));// Lower 4 bit data
lcd=cmd1;
lcd&=~(1<<rs);//rs=0
lcd&=~(1<<rw);//rw=0
lcd|=(1<<en);//en=1
_delay_ms(5);
lcd&=~(1<<en);
}
void lcd_data(unsigned char data)
{
unsigned char data1;
data1=(data&(0xF0));// upper 4 bit
lcd=data1;
lcd|=(1<<rs); //rs=1
lcd&=~(1<<rw);//rw=0
lcd|=(1<<en);//en=1
_delay_ms(1);
lcd&=~(1<<en);//en=0
data1=((data<<4)&(0xF0));//lower 4 bit data
lcd=data1;
lcd|=(1<<rs);//rs=1
lcd&=~(1<<rw);//rw=0
lcd|=(1<<en);//en=1
_delay_ms(1);
lcd&=~(1<<en);
}
//--------------------------------------------------------------
void lcd_string(unsigned char *str)
{
int i=0;
while(str[i]!='0')
{
lcd_data(str[i]);
i++;
}
}
APPENDIX
/*
* home_automatio_RKGEC.c
* Created: 3/21/2015 7:49:00 AM
* Author: Shashi
*/
#include <avr/io.h>
#include<util/delay.h>
int main(void)
{
// DDRA=0XFF
DDRB=0x00;
DDRC=0xFF;
while(1)
{
if(PINB==0b00000001)
{
PORTC=0b00000001;
}
if(PINB==0b00000010)
{
PORTC=0b00000010;
}
if(PINB==0b00000011)
{
PORTC=0b00000100;
}
if(PINB==0b00000100)
{
PORTC=0b00000011;
}
if(PINB==0b000000101)
{
PORTC=0b00000101;
}
if(PINB==0b00000110)
{
PORTC=0b00000110;
}
if(PINB==0b00000111)
{
PORTC=0b00000111;
}
if(PINB==0b00001000)
{
PORTC=0b00000000;
}
{
PORTA=0b00000100;
_delay_ms(3600000);
PORTA=0b00000000;
_delay_ms(39600000);
}
}
}

More Related Content

code for DTMF and bluetooth based digital switch board

  • 1. APPENDIX 1 /* * bluetooth/Lcd/rkg.c * Created: 4/6/2015 4:30:08 PM * Author: Shashi Verma */ #include<avr/io.h> #include<util/delay.h> #define lcd PORTB #define rs PB0 #define rw PB1 #define en PB2 void lcd_cmd(unsigned char com); void lcd_data(unsigned char data); void lcd_string(unsigned char *str); //------------------------------------------------------------------------ void USARTInit(uint16_t ubrr_value) { UBRRL = ubrr_value; UBRRH = (ubrr_value>>8); UCSRC|=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); UCSRB|=(1<<RXEN)|(1<<TXEN)|(1<<RXCIE); } unsigned char USARTReadChar() { while(!(UCSRA & (1<<RXC))); return UDR;
  • 2. } void USARTWriteChar(char data) { while(!(UCSRA & (1<<UDRE))); UDR=data; } void USART_StringTransmit(unsigned char s[]) { int i=0; while(s[i]!='0') { USARTWriteChar(s[i]); i++; } } void main() { int x; DDRB=0xFF; DDRC=0xFF; char Recieved_command; _delay_ms(50); USARTInit(51); lcd_cmd(0x02);//home location lcd_cmd(0x28);//2x16 lcd 4bit mode lcd_cmd(0x0C);//dispy on cursor blink lcd_cmd(0x06);//increament
  • 3. while(1) { Recieved_command=USARTReadChar(); if(Recieved_command=='1') { USART_StringTransmit("n Light On 1 "); PORTC=0b00000001; lcd_cmd(0xc0); lcd_string(" Light On 1 "); } else if(Recieved_command=='2') { USART_StringTransmit("n Light On 2 "); PORTC=0b00000010; lcd_cmd(0xc0); lcd_string(" Light On 2 "); } else if(Recieved_command=='3') { USART_StringTransmit("n Fan On "); PORTC=0b00000100; lcd_cmd(0xc0); lcd_string(" Fan On "); } else if(Recieved_command=='4') { USART_StringTransmit("n Both Light On");
  • 4. PORTC=0b00000011; lcd_cmd(0xc0); lcd_string(" Both Light On "); } else if(Recieved_command=='5') { USART_StringTransmit("n Light 1 & Fan On"); PORTC=0b00000101; lcd_cmd(0xc0); lcd_string("Light 1 & Fan On "); } if(Recieved_command=='6') { USART_StringTransmit("n Light 2 & Fan On "); PORTC=0b00000110; lcd_cmd(0xc0); lcd_string("Light 2 & Fan On "); } else if(Recieved_command=='7') { USART_StringTransmit("n All Device On!!"); PORTC=0b00000111; lcd_cmd(0xc0); lcd_string(" All Device On !! } else if(Recieved_command=='8') {
  • 5. USART_StringTransmit("n Shut Down !! "); PORTC=0b00000000; lcd_cmd(0xc0); lcd_string(" Shut Down !! ") } } } void lcd_cmd(unsigned char com) { //for command rs=0,rw=0,en=1,en=0 char cmd1; cmd1=(com&(0xF0));//upper 4 bit data lcd=cmd1; lcd&=~(1<<rs);//rs=0 lcd&=~(1<<rw);//rw=0 lcd|=(1<<en);//en=1 _delay_ms(5); lcd&=~(1<<en); cmd1=((com<<4)&(0xF0));// Lower 4 bit data lcd=cmd1; lcd&=~(1<<rs);//rs=0 lcd&=~(1<<rw);//rw=0 lcd|=(1<<en);//en=1 _delay_ms(5); lcd&=~(1<<en); } void lcd_data(unsigned char data) {
  • 6. unsigned char data1; data1=(data&(0xF0));// upper 4 bit lcd=data1; lcd|=(1<<rs); //rs=1 lcd&=~(1<<rw);//rw=0 lcd|=(1<<en);//en=1 _delay_ms(1); lcd&=~(1<<en);//en=0 data1=((data<<4)&(0xF0));//lower 4 bit data lcd=data1; lcd|=(1<<rs);//rs=1 lcd&=~(1<<rw);//rw=0 lcd|=(1<<en);//en=1 _delay_ms(1); lcd&=~(1<<en); } //-------------------------------------------------------------- void lcd_string(unsigned char *str) { int i=0; while(str[i]!='0') { lcd_data(str[i]); i++; } }
  • 7. APPENDIX /* * home_automatio_RKGEC.c * Created: 3/21/2015 7:49:00 AM * Author: Shashi */ #include <avr/io.h> #include<util/delay.h> int main(void) { // DDRA=0XFF DDRB=0x00; DDRC=0xFF; while(1) { if(PINB==0b00000001) { PORTC=0b00000001; } if(PINB==0b00000010) { PORTC=0b00000010; } if(PINB==0b00000011) { PORTC=0b00000100; } if(PINB==0b00000100)