Final year degree project for engineers Final year projects based on microcontrollers
Microcontroller based different projects abstract and source code
AT89s51 microcontroller projects Motion control
at89c2051 motor controller and other light projects
Tutorials of microcontroller 8051, A step by step easy to use self learning rapidex
Click Here to Advertise on My Blog

Wednesday, August 24, 2011

Interfacing large load bank with Microcontroller 8051 port expander

Interfacing large load bank with Microcontroller 8051 port expander with 4094 serial to parallel shift register:-
This project is output port expander of microcontroller 8051. In this project we will learn , how to interface a large load bank with microcontroller 8051. In this load bank project, up to 50 solid state relays are interfaced with microcontroller using shift register 74LS4094 TTL IC, student can use CD4094 CMOS IC, any of them will work here fine.
The basic purpose of this microcontroller project is to learn the interfacing of shift register for output port expansion.This project is for bank load which could be in the form of a large number of relays to switch ON or OFF the high voltages and high current loads. The same project can be used for the interfacing of solid state relays.
This is improved version of last project ( Control solid state relays up to 50 with microcontroller 8051  ) in which latches were used. The wiring diagram of that project was complicated. Thus by using serial to parallel shift register ICs, the circuit diagram is quit simple now.

To turn ON any individual LED for load, command is n01 or N01 from RS232 serial communication from PC, you can use hyper terminal for testing the project or you can write your own code in any PC language.

To turn OFF any individual LED for load, command is f01 or F01 to F50 or f50. again serial command will be used for this operation.

The project is tested in Proteus ISIS and found OK.
The circuit diagram of project Interfacing large load bank with Microcontroller 8051 port expander is as follows:
Interfacing large load bank with Microcontroller 8051 port expander serial to parallel shift register

The code is written in C language and compiler is C51 keil. The c code of the project is as under:

#include<at89x52.h>
#include<stdio.h>
unsigned char i,j;
unsigned char c;
unsigned char serial_buffer[3];
unsigned char control_Relay[7];
bit ON;
sbit ready = P3^7;
void delay(void);
void display(void);
void convert(unsigned char);
void led_write(unsigned char );
// PORT1 bit 0 are connected to Data_in of first 4094
// PORT1 bit 1 is connected to Clock to all 4094
// PORT1 bit 2 is connected to STB to all 4094
sbit serial_data_out = P1^0;
sbit serial_clock_out = P1^1;
sbit stb = P1^2;
#define LED_STROBE() ((stb = 1),(stb=0))
void main(void){
TMOD = 0x20;
SCON = 0x50;       
TH1  = 0xFd;      
TL1  = 0xFd;       
TR1  = 1;
TI = 1;
RI=0;
EA = 1;
P2 = 255;
P1 = 255;
 for(i = 0; i<7;i++)
 {
  P1 = i;
 P2 = 0;
 control_Relay[i]=0;
 }
 ON = 0;
 puts("To turn ON say LED # 5, Enter: n05");
 puts("To turn OFF say LED # 21, Enter: f21");
while(1)
{
 if(RI) {
 for(i=0;i<3;i++)
  {
  while(!RI) ;
  RI= 0;
  serial_buffer[i] = SBUF;
  ready = 0;
  }
  }
  
  delay();
  if(serial_buffer[0]=='n'|serial_buffer[0]=='N')ON=1;
  if(serial_buffer[0]=='f'|serial_buffer[0]=='F')ON=0;
  if(serial_buffer[1]<= 57 & serial_buffer [1]>=  48 & serial_buffer[2]<= 57 & serial_buffer [2]>=  48){
  c = (((serial_buffer[1]-48)*10)+ (serial_buffer[2]-48));
  }
  convert(c);
  display();
  // ON = 0;
  ready=1;
}
}

 void delay(void){
unsigned int z;
for(z=0;z<500;z++);
}
void led_write(unsigned char y)
{
signed char i;
 for(i=7; i>=0; i--)
 {
  serial_clock_out=0; /* drive clock low */
     if ((y>>i)&0x01){serial_data_out = 1;}
        else {serial_data_out = 0;}
  delay();
     serial_clock_out=1;
}
}
void display(void)
{
 for(i = 0; i<8;i++)
 {
  led_write( control_Relay[7-i]);
 delay();
 }
 LED_STROBE();
}
void convert(unsigned char d)
{
switch (d)
{
case(1):{if(ON)control_Relay[0]=control_Relay[0]|0x01;else control_Relay[0]=control_Relay[0]&0xfe;}
break;
case(2):{if(ON)control_Relay[0]=control_Relay[0]|0x02;else control_Relay[0]=control_Relay[0]&0xfd;}
break;
case(3):{if(ON)control_Relay[0]=control_Relay[0]|0x04;else control_Relay[0]=control_Relay[0]&0xfb;}
break;
case(4):{if(ON)control_Relay[0]=control_Relay[0]|0x08;else control_Relay[0]=control_Relay[0]&0xf7;}
break;
case(5):{if(ON)control_Relay[0]=control_Relay[0]|0x10;else control_Relay[0]=control_Relay[0]&0xef;}
break;
case(6):{if(ON)control_Relay[0]=control_Relay[0]|0x20;else control_Relay[0]=control_Relay[0]&0xdf;}
break;
case(7):{if(ON)control_Relay[0]=control_Relay[0]|0x40;else control_Relay[0]=control_Relay[0]&0xbf;}
break;
case(8):{if(ON)control_Relay[0]=control_Relay[0]|0x80;else control_Relay[0]=control_Relay[0]&0x7f;}
break;
case(9):{if(ON)control_Relay[1]=control_Relay[1]|0x01;else control_Relay[1]=control_Relay[1]&0xfe;}
break;
case(10):{if(ON)control_Relay[1]=control_Relay[1]|0x02;else control_Relay[1]=control_Relay[1]&0xfd;}
break;
case(11):{if(ON)control_Relay[1]=control_Relay[1]|0x04;else control_Relay[1]=control_Relay[1]&0xfb;}
break;
case(12):{if(ON)control_Relay[1]=control_Relay[1]|0x08;else control_Relay[1]=control_Relay[1]&0xf7;}
break;
case(13):{if(ON)control_Relay[1]=control_Relay[1]|0x10;else control_Relay[1]=control_Relay[1]&0xef;}
break;
case(14):{if(ON)control_Relay[1]=control_Relay[1]|0x20;else control_Relay[1]=control_Relay[1]&0xdf;}
break;
case(15):{if(ON)control_Relay[1]=control_Relay[1]|0x40;else control_Relay[1]=control_Relay[1]&0xbf;}
break;
case(16):{if(ON)control_Relay[1]=control_Relay[1]|0x80;else control_Relay[1]=control_Relay[1]&0x7f;}
break;
case(17):{if(ON)control_Relay[2]=control_Relay[2]|0x01;else control_Relay[2]=control_Relay[2]&0xfe;}
break;
case(18):{if(ON)control_Relay[2]=control_Relay[2]|0x02;else control_Relay[2]=control_Relay[2]&0xfd;}
break;
case(19):{if(ON)control_Relay[2]=control_Relay[2]|0x04;else control_Relay[2]=control_Relay[2]&0xfb;}
break;
case(20):{if(ON)control_Relay[2]=control_Relay[2]|0x08;else control_Relay[2]=control_Relay[2]&0xf7;}
break;
case(21):{if(ON)control_Relay[2]=control_Relay[2]|0x10;else control_Relay[2]=control_Relay[2]&0xef;}
break;
case(22):{if(ON)control_Relay[2]=control_Relay[2]|0x20;else control_Relay[2]=control_Relay[2]&0xdf;}
break;
case(23):{if(ON)control_Relay[2]=control_Relay[2]|0x40;else control_Relay[2]=control_Relay[2]&0xbf;}
break;
case(24):{if(ON)control_Relay[2]=control_Relay[2]|0x80;else control_Relay[2]=control_Relay[2]&0x7f;}
break;
case(25):{if(ON)control_Relay[3]=control_Relay[3]|0x01;else control_Relay[3]=control_Relay[3]&0xfe;}
break;
case(26):{if(ON)control_Relay[3]=control_Relay[3]|0x02;else control_Relay[3]=control_Relay[3]&0xfd;}
break;
case(27):{if(ON)control_Relay[3]=control_Relay[3]|0x04;else control_Relay[3]=control_Relay[3]&0xfb;}
break;
case(28):{if(ON)control_Relay[3]=control_Relay[3]|0x08;else control_Relay[3]=control_Relay[3]&0xf7;}
break;
case(29):{if(ON)control_Relay[3]=control_Relay[3]|0x10;else control_Relay[3]=control_Relay[3]&0xef;}
break;
case(30):{if(ON)control_Relay[3]=control_Relay[3]|0x20;else control_Relay[3]=control_Relay[3]&0xdf;}
break;
case(31):{if(ON)control_Relay[3]=control_Relay[3]|0x40;else control_Relay[3]=control_Relay[3]&0xbf;}
break;
case(32):{if(ON)control_Relay[3]=control_Relay[3]|0x80;else control_Relay[3]=control_Relay[3]&0x7f;}
break;
case(33):{if(ON)control_Relay[4]=control_Relay[4]|0x01;else control_Relay[4]=control_Relay[4]&0xfe;}
break;
case(34):{if(ON)control_Relay[4]=control_Relay[4]|0x02;else control_Relay[4]=control_Relay[4]&0xfd;}
break;
case(35):{if(ON)control_Relay[4]=control_Relay[4]|0x04;else control_Relay[4]=control_Relay[4]&0xfb;}
break;
case(36):{if(ON)control_Relay[4]=control_Relay[4]|0x08;else control_Relay[4]=control_Relay[4]&0xf7;}
break;
case(37):{if(ON)control_Relay[4]=control_Relay[4]|0x10;else control_Relay[4]=control_Relay[4]&0xef;}
break;
case(38):{if(ON)control_Relay[4]=control_Relay[4]|0x20;else control_Relay[4]=control_Relay[4]&0xdf;}
break;
case(39):{if(ON)control_Relay[4]=control_Relay[4]|0x40;else control_Relay[4]=control_Relay[4]&0xbf;}
break;
case(40):{if(ON)control_Relay[4]=control_Relay[4]|0x80;else control_Relay[4]=control_Relay[4]&0x7f;}
break;
case(41):{if(ON)control_Relay[5]=control_Relay[5]|0x01;else control_Relay[5]=control_Relay[5]&0xfe;}
break;
case(42):{if(ON)control_Relay[5]=control_Relay[5]|0x02;else control_Relay[5]=control_Relay[5]&0xfd;}
break;
case(43):{if(ON)control_Relay[5]=control_Relay[5]|0x04;else control_Relay[5]=control_Relay[5]&0xfb;}
break;
case(44):{if(ON)control_Relay[5]=control_Relay[5]|0x08;else control_Relay[5]=control_Relay[5]&0xf7;}
break;
case(45):{if(ON)control_Relay[5]=control_Relay[5]|0x10;else control_Relay[5]=control_Relay[5]&0xef;}
break;
case(46):{if(ON)control_Relay[5]=control_Relay[5]|0x20;else control_Relay[5]=control_Relay[5]&0xdf;}
break;
case(47):{if(ON)control_Relay[5]=control_Relay[5]|0x40;else control_Relay[5]=control_Relay[5]&0xbf;}
break;
case(48):{if(ON)control_Relay[5]=control_Relay[5]|0x80;else control_Relay[5]=control_Relay[5]&0x7f;}
break;
case(49):{if(ON)control_Relay[6]=control_Relay[6]|0x01;else control_Relay[6]=control_Relay[6]&0xfe;}
break;
case(50):{if(ON)control_Relay[6]=control_Relay[6]|0x02;else control_Relay[6]=control_Relay[6]&0xfd;}
break;
}
}




relay switch atmel microcontroller51, interfacing relays with 8051, PLC output on relay switch, how a relay is behave like a switch, load bank consisting of many relays, bank load of relays and switches,data flow diagram of modem data rate analysis,industrial electronics circuit diagram

3 comments:

  1. Dear sir
    This seems to be simple. thankyou very much.

    reddy

    ReplyDelete
  2. @ Reddy
    Yes, you are right this second version of bank load project using shift registers (serial to parallel)74ls4094 is simple and easy to develop. So you can also use it. Now you have choice. ok

    ReplyDelete
  3. Greetings! I know this is kind of off topic but I was wondering if you knew where I could get a captcha plugin for my comment form? I'm using the same blog platform as yours and I'm having problems finding one? Thanks a lot!

    ReplyDelete

Please note that my helps are not for free.
So, send me your problems and pay money for solution.ok
This is www.microcontroller51.blogspot.com comments section. Here you are requested to write your questions and problems about the microcontroller and electronics projects. Write the questions or comments in such a way that, it have all necessary information, so that i can understand and reply.If you want to send pictures and codes then e-mail me (rghkk@hotmail.com).Thanks.
All comments will be highly appriciated.

Blogroll

  • 8051 Projects
  • Microcontroller based different projects abstract and source code
    AT89s51 microcontroller projects Motion control
    at89c2051 motor controller and other light projects
    Tutorials of microcontroller 8051, A step by step easy to use self learning rapidex

    Microcontroller Forum

    Recent Comments

    About

    rs 232 and microcontrollers , 8051 intelligent robotic car gsm based digital notice board microcontroller projects+steppermotor driver, frequency counter project,TSOP1738 interfacing with AT89C51 data microcontroller 8051:data aquisition and control syatems, microcontroller interface boards, programmable interface controller ready program for rs232 interface in vb6 ,circuit diagram of car parking system for the 8051 microcontroller simple led project using 8051 with assembly language,creating a c interface between a pic and humidity sensor heart beat sensor circuit diagram,t6963 asm 89c51 free schematic,dac08,heart beat monitor with microcontroller 8051.ppt,pressure sensor digitizer,adc0802 +avr +source* -datasheet,i need project explanation of 80c51 microcontrolled based calculator,metro train prototype mini project,lcm interface circuits with 8051 microcontroller ,micro controller application example in industry ,direct logic examples sensor de presion humidity and temperature circuit ,pwm measure microcontroller ,ge sonosite diadnostic picture final project report on weather acquisition system ,82c55a to rs232 ,pc based heart beat pulse monitor microcontroller strobe led project using assemby programming 8051 motor control,ethernet microcontroller interface circuit design for temperature humidity sensor, line follower dengan mikro controller at89s51,"interface a temperature sensor lm35 with 8051 ic using an amplifier and adc 0804 ic ",lift8051 microcontroller code,dac08,heart beat sensor circuit diagram,8051 lcd,pc parelle port projects,solution de connectivité ethernet microcontroleur,t6963 asm 89c51 free schematic,89c51 microcontroller interfacing with adc 0808 data sheet,control port data port lcd,dac-08 ,stepper motor connector,moving message circuit diagrams,stepper motor configuration,c++ lesson at the at89c51,car parking design 8051,dac-08,pc to pc communication using ir transceiver with 8051 and TSOP,8051 micro controller circuit diagram,vb6 rs232,similarities and differences between the 8051 and the atmel,u-shaped photo sensor,dac0800 proteus,how to display adc data on graphic lcd,mcs51 car data acquisition,mcs51 digital automotive gauge,lcd tachometer project with pic 16f877a and micro c,lm324 analog to digital proteus,pc based data acquisition system project,max232 serial programming,max232 serial programming,mcs 8051 and glcd display models installed to run this sample.,The microcontroller AT 89S51 is serially programmed using the software ATMEL,ds1307 89c51 alarm code,16f877a pressure sensor,multiplexed port system of 8051,rs232 micro controller used in closed circuits programmed with vb,8051 heart monitor,pulse rate counter circuit diagram using micro controller,ethernet microcontroller interface circuit design for temperature humidity sensor,project schematic dac0800,industrial robot controller based on '51 microcontroller family,connect lm35 to adc, adc to 8051 and two 7-segment displays to 8051,8051 rs232 serial communication code in c,project with block diagram & circuit diagram of temperature & light monitoring & controlling,main theme of 80c51 microcontroller based calculator,solenoid valve interface with microcontroller,schematic line follower mikrokontroler at89s51,home monitoring system using 8051 c programming,zero crossing triac power control pump,gambar diagram serial port,t6963 asm 89c51 free schematic,address counter lcd interface,t6963c circuit,Electronic meters for power calculation of electricity consumption,adc0808 intel 8051,microcontroller and lcd interface,inductive proximity sensor connect microcontroller,8051, data logger 24c16,interfacing remote to microcontroller pic16f877a.h,pictures for memory orgnization of at89c51 micro controller,frequency counter with atmel flow chart,serial optical microcontroller,pulse width measurement,software codes using keil c compiler for final year projects,micro 7448 7 segment,seminar ppt-8051in automobiles,mcs 51 lcd asm interface a temp. sensor lm35 ic with 8051 using an amplifier and adc0804 with sehematic diagram?,lcd 8051,"stepper motor wires,"what is zero crossing" diac,8051 8255 chip helps,interface a dc motor with 8051 microcontroller to control the speed using a dac with diagram?,keil c51 uploading data from computer,manometer sensor i2c,temperature control using pwm and 89c51,1-wire command 8051 + assembly,keil c51 uploading data from computer,adc converter assembly program,c code for lm35 by use microprocessor,dc motor control site:www.the-crankshaft.info,micro controller clock,microcontroller valve,pdf form of electronic mini project circuit diagram based om sensor,speed detection circuits of high speed vechicles using controller 8051 and sensors,stepper motor wire, interfacing of 8051 with 4511,microcontroller lpc2148 based noise control algorithm for external signals,pin diagram of adc,mini ECG schematic diagram,interfacing of 8051 with 4511,1-wire slave,data acquisition using 8051,definition and description of automatic irrigation system,microcontroller lpc2148 based noise control algorithm,using 89c51 heart bit monitoring system,SPI INTERFACE diagrama de recorrido de sensor de latido de corazón, t6963 asm 89c51 libre esquemático, dac08, monitor de latido de corazón con microregulador 8051.ppt, digitizador de sensor de presión, adc0802 avr source*-datasheet, tengo que proyectar la explicación de 80c51 microcontroló la calculadora basada, prototipo de tren de metro proyecto mini Интерфейс Двигатель постоянного тока с 8051 микроконтроллер для управления скоростью с помощью ЦАП с диаграммой?, Keil C51 загрузки данных с вашего компьютера, манометр i2c датчик контроля температуры использованием ШИМ и 89C51 8051 + 0,1 командной провода сборки, Keil C51 загрузки данных с вашего компьютера , ADC программе сборки преобразователя, C код для использования микропроцессора LM35, DC сайте управления двигателем: www.the-crankshaft.info, микро часы контроллера, микроконтроллера клапан, PDF форме электронных схем проекта мини 如何显示图形LCD,汽车数据采集MCS51的,MCS51的车载数字仪表,转速表项目液晶与ADC日期石化16F877A微型和C,变形LM324的模拟到数字的,基于PC的数据采集系统项目,编程序列的MAX232,串行编程的MAX232,单片机8051 Glcd显示模式,安装运行此示例。中,AT 89S51单片机串行编程软件使用ATMEL公司と液晶グラフィックLCDを、車のデータ集録MCS51、MCS51自動車デジタルゲージ、タコプロジェクトの表示方法のADCの日付は、デジタル、PCベースのデータ集録システムプロジェクト、プログラミングMAX232と、MAX232のシリアルプログラミングシリアル、16F877Aは、マイクロおよびcプロテウスLM324アナログ写真mcsの8051 Glcdディスプレイモデルは、このサンプルを実行するためにインストールされています。は、AT 89S51マイクロコントローラは、シリアルソフトウェアをアトメル使用してプログラムされている lm324 voltage capacity,microcontroller 8051,.bas code rs232 to at89c2051 dot matrix,4 digits 7 segment led circuit 8051, generating frequency using 8051 circuit diagram,how to write controller by c,6 pin electrical clip,8051 based projects using keil software,8051 serial communication to pc, 8255 led driver images developing an acquisition and control system how can we measure reactance using 8051 controller i2c 8051 humidity sensor i2c 8051 humidity sensor sht,microcontroller 8051 rotabit GPS and GSM based Car locator,Send and Receive SMS Keil C code,Play music with 8051 microcontroller,LED dot matrix display using AT89C52 Interfacing GPS with 8051,Wireless keyboard with AT89S52 and nRF2401 RF module ,snake game,led lc meter snake game,LCD display,stepper motor inter facing using 8051 Top Downloads this MonthC51 code for interfacing GPS,8051 based Taximeter,GPS and GSM based Car locator, electonic code lock Send and Receive SMS Keil C code,Play music with 8051 microcontroller LED dot matrix display using AT89C52,120V light bulb on/off LCD Graphic display with AT89s51,Interfacing GPS with 8051,AT89C2051 temperature and humidity using SHT11,Ultrasonic distance meter using AT89S52 Top downloads16x128 Dot matrix moving message display,Digital Capacitance meter using AT89S52,countdown timer LCD Graphic display with AT89s51,PS2 keyboard interfacing with LCD display LED dot matrix display using AT89C52,16x64 dot-matrix LED display with Time,H bridge GPS with AT89s52 and graphics display,8051 based Taximeter,Moving message display Ultrasonic distance meter using AT89S52,simple digital voltmeter with c programming GPS with 8051 digital alaram clock 8x8 Running Texts Display sooxma technologies ,embedded systems projects at home ,interfacing 8051 with gsm modem , projects for enginnering students , android bluetooth "controller area network" ,speedometer as motor vehicle safety system microcontroller ,robotic project,prepaid electricity live monitoring ,ieee papers on gps navigation for the blind , gsm-based prepaid electricity system temperature sensor using 8051,lm324 and lm35,Temperature level monitoring in boilers using 8051 microcontroller,experiment board in instrumentation and control through the PC parallel port,TSOP 1738 interfacing with AT89C51 ,TSOP1738 interfacing with AT89C51 pdf ,solenod valve ,8051project.com ,Temperature controller using DS1820 and LCD displayTemperature controller using DS1820 and LCD display ,Interfacings of Automatic room light controller with visitor counter ,automatic plant irrigation ,TSOP1738 interfacing with AT89C51 synopsis of Lcd interfacer using 8051 microcontroller mini project with circuit diagram 8x8 led display interfacing with microcontroller data acuasition system pwm based speed control of ac motor using 8051 controller with abstract heart rate pic sms based digital notice board real time clock using 8051 microcontroller vb lpt stepermotor assembly code for lcd connected to 8051 mini project on temp controleer with ckt diagram free download 6 wires stepper motor adc0804 lpt assemply language programs with 8051 automatic-plant-watering switch buzzer diagram arrows with pic16f84 forward reverse swr meter frequency control with microcontroller esquematic electronic detector high voltage ic principle diagram 89s51 interface between gps and microcontroller velocity +adc interfacing automatic car parking system circuit triac used with pwm designing pressure sensor as student project microcontroller to drive motors interfacing adc 0809 to 89c51 videos pic microcontroller projects, level gauge 6 wire stepper motor wiring connection home monitoring system with temperature sensing and motion control using pic atmega control board sample code isolation amplifier circuit diagram using 4n33 microcontroller web emulators air fue; rartio meter with pic mcu project with schematic circuit diagram of 8086 microprocessor project microcontroller at89c51 based voting machine moving message oxygen transducer servo symbol list of components in automated carparking simple interfacing projects with microcontroller 8051 microcontroller based moving message display temperature indicator circuit using microcontroller lcd interfacing with 8051 pdf temperature sensor 8051 lcd automatic plant irrigation at89c2051 temperature how to add effect on asm display with 89s52 vhdl ttl module heart beat monitor with wave on lcd 8051 based moving message display : 89c51 micro controller led matrix www.the basic programming of edsim 8051(design of lift using flow chart) automated irrigation controle system using 8051 circut dia gram 8051 memory organization circuit layout of an automayic irrigation system ir led and ldr based heartbeat monitor with display on computer