Rudra 18
Rudra 18
#include<reg51.h>
sbit rs = P3^2;
sbit en = P3^3;
sbit d7 = P3^7;
sbit d6 = P3^6;
sbit d5 = P3^5;
sbit d4 = P3^4;
unsigned char i;
void delay(int x)
int k,l;
rs = 0;
en = 1;
delay(5);
en = 0;
delay(20);
en = 1;
delay(5);
en = 0;
void cmd_write()
int i;
for(i=0;i<7;i++)
cmd_single(a[i]);
delay(20);
}
}
lcd mod
#include<reg51.h>
sbit rs = P3^2;
sbit en = P3^3;
sbit d7 = P3^7;
sbit d6 = P3^6;
sbit d5 = P3^5;
sbit d4 = P3^4;
unsigned char i;
void delay(int x)
int k,l;
rs = 0;
en = 1;
delay(5);
en = 0;
delay(20);
en = 1;
delay(5);
en = 0;
led mod
#include <reg51.h>
#define HIGH 1
#define LOW 0
void main()
{
while(HIGH)
LEDSET1 = LOW;
LEDSET2 = LOW;
P1 = 0xF0;
LEDSET1 = HIGH;
Delay(100);
LEDSET1 = LOW;
P1 = 0X0F;
LEDSET2 = HIGH;
Delay(100);
LEDSET2 = LOW;
void Delay(int x)
int k,l;
for(k=x;k>0;k--)
for(l=0;l<x;l++);
keypad
#include<REG51.h>
#define HIGH 1
#define LOW 0
sbit rs = P3^2;
sbit en = P3^3;
sbit d7 = P3^7;
sbit d6 = P3^6;
sbit d5 = P3^5;
sbit d4 = P3^4;
void main()
int ReadVal, i;
for(i=0;i<7;i++)
Command_Write_Function(LcdCommands[i]);
Delay_Function(20);
for(i=0;i<16;i++)
Data_Write_Function(LcdData[i]);
Delay_Function(20);
while(HIGH)
P1 = 0x0D;
SCANLINE_EN = 1;
SCANLINE_EN = 0;
READLINE_EN = 0;
READLINE_EN = 1;
if(ReadVal == 0xb0)
for(i=0;i<16;i++)
Data_Write_Function(LcdData[i]);
P1 = 0xAA;
LEDSET1 = HIGH;
LEDSET2 = LOW;
Delay_Function(200);
LEDSET1 = LOW;
P1 = 0X55;
LEDSET2 =HIGH;
if(ReadVal == 0x70)
for(i=0;i<16;i++)
Data_Write_Function(LcdData1[i]);
}
}
void Delay_Function(int x)
int k,l;
rs = 0;
en = 1;
Delay_Function(5);
en = 0;
Delay_Function(10);
en = 1;
Delay_Function(5);
en = 0;
rs = 1;
en = 1;
Delay_Function(5);
en = 0;
Delay_Function(10);
en = 1;
Delay_Function(5);
en = 0;
keypad mod
#include<reg51.h>
sbit en=P3^3;
sbit rs=P3^2;
sbit d4=P3^4;
sbit d5=P3^5;
sbit d6=P3^6;
sbit d7=P3^7;
unsigned int i;
void cmd_write();
void main()
{
cmd_write();
while(1)
P1=0x0D; //1011
en_scanline=1;
en_scanline=0;
en_readline=0;
read_value=(P1&0xF0);
en_readline=1;
if(read_value==0xE0)
command_bit_conversion(0x80);
for(i=0;i<15;i++)
data_bit_conversion(a[i]);
command_bit_conversion(0xC0);
for(i=0;i<15;i++)
data_bit_conversion(b[i]);
}
void data_display(unsigned char data_out)
void cmd_write()
int i;
for(i=0;i<7;i++)
command_bit_conversion(c[i]);
delay(20);
rs=1;
delay(5);
en=0;
delay(20);
en=1;
delay(5);
en=0;
rs=0;
en=1;
delay(5);
en=0;
delay(100);
en=1;
delay(5);
en=0;
void delay(int x)
{
int i, k;
for(i=0;i<x;i++)
for(k=0;k<x;k++);
adc
#include<REG51.h>
#include<stdio.h>
#define HIGH 1
#define LOW 0
void Uart_Initialize_Function();
void I2c_Start_Function();
char I2c_Read_Function();
void main()
{
int I2cReadData;
Uart_Initialize_Function();
I2c_Start_Function();
I2c_Write_Function(0x9C);
I2c_Write_Function(0x00);
while(HIGH)
I2c_Start_Function();
I2c_Write_Function(0x9D);
I2cReadData = I2c_Read_Function();
if(I2cReadData<0)
void Uart_Initialize_Function()
{
TMOD = 0x20;
TH1 = 0xFD;
TL1 = 0x00;
TCON = 0x40;
SCON = 0x52;
void I2c_Start_Function()
SDA = HIGH;
SCL = HIGH;
SDA = LOW;
SCL = LOW;
SDA = HIGH;
else
SDA = LOW;
SCL = HIGH;
SCL = LOW;
SDA = HIGH;
SCL = HIGH;
while (SDA);
SCL = HIGH;
SCL = LOW;
char I2c_Read_Function()
unsigned char X;
X = LOW;
SCL = HIGH;
if (SDA)
X |= index;
SCL = LOW;
}
return(X);
dac
#include<REG51.h>
#include<stdio.h>
#define HIGH 1
#define LOW 0
void I2c_Start_Function();
void main()
int i;
while(HIGH)
I2c_Start_Function();
I2c_Write_Function(0x9C);//Address
I2c_Write_Function(0x40);//Control byte
for(i=0xff;i>0;i--)
I2c_Write_Function(i);
}
}
void I2c_Start_Function()
SDA = HIGH;
SCL = HIGH;
SDA = LOW;
SCL = LOW;
SDA = HIGH;
else
SDA = LOW;
SCL = HIGH;
SCL = LOW;
//For ACK
SDA = HIGH;
SCL = HIGH;
SCL = LOW;