Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

single key using two condition at 89s52

Status
Not open for further replies.
so long as it is visible enough for one to go through...then you can
 

Finally are you giving values 0x00 to 0x7F to master mcu as i/p?
 

ya.. master mcu giving input data to slave mcu, if slave mcu get input data 0x00(P0) means it will generate P1=0x01,P2=0x01 and P3=0x00 when slave mcu get 0x00 input data means P1,P2,P3=0x00 will generate.. did you got my concept?

- - - Updated - - -

circuit.JPG i have attached my circuit in jpeg format
 

No I still didn't get the concept. You use P1, P2, P3 for slave o/p? How many leds are connected to P1, P2, and P3? 8 * 3 leds?

master gets 0x00 to 0x7F, right? and master o/ps some data to P0 of slave, right?

can you post a text file containing values 0x00 to 0x7F? There are 128 switches in the circuit you posted. You said there are 100 switches, zip and post the proteus design file.
 

your design is confusing

i taught you said the keys should be a matrix of 4 x 4....that is to say something that can accommodate 0 - 9 keys. then how come the huge number of keys?
you are making it more difficult to flow through with what you have in mind.

if possible address it in a sequential manner like

1) bla bla bla bla
2) ......
3) another bla bla bla

and so on so that it can be approached easily

sequel.....
 

ya i used P1,P2,P3 for slave output, i didnt connect led directly port pin P1,P2,P3 connected D type latch after i connected 128 led's, master mcu will generate 0x00 to 0x7F, slave get input from master 0x00 to 0x7F absolutely correct.
master mcu giving input data to slave mcu, if slave mcu get input data 0x00(P0) means it will generate P1=0x01,P2=0x01 and P3=0x00 when slave mcu get 0x00 input data means P1,P2,P3=0x00 will generate.. did you got my concept?

- - - Updated - - -

i want how to wright a program for blow the condition, then i ll develope 128 inputs.
master mcu giving input data to slave mcu, if slave mcu get input data 0x00(P0) means it will generate P1=0x01,P2=0x01 and P3=0x00 when slave mcu get 0x00 input data means P1,P2,P3=0x00 will generate..
 

what happens if P0 of slave gets 0x01 as i/p? what will be the values of P1,P2,and P3?

With your method you ahve to mention all combinations of your i/p and o/p then only it can be programmed.
 

ya sure sir i ll send you thanks for your positive approach and encouragement, i am beginner thatsy i cant explain my project through text thank you.
 

all combination of input and output code is given below
Code:
#include<reg52.h>
#define input P0 //from Master Uc
#define parallel P1 
#define leone P2 //control upto 1-8 latch
#define letwo P3 //control upto 8-16 latch
#define sec 100
/*void delay(unsigned int msec) //Time delay function
{
int i,j ;
for(i=0;i<msec;i++)
  for(j=0;j<1275;j++);
} */
void display(int a) // Display function
{
switch(a)
{
  case 1:
  parallel=0x01;
  leone=0x01;
  letwo=0x00;
  if(input==0x00)// again given same input 
  parallel=0x00;
  break;
  
  case 2:
  parallel=0x02;
  leone=0x01;
  letwo=0x00;
  if(input==0x01)// again given same input 
  parallel=0x00;
  break;

  case 3:
  parallel=0x04;
  leone=0x01;
  letwo=0x00;
  if(input==0x02)// again given same input 
  parallel=0x00;
  break;

  case 4:
  parallel=0x08;
  leone=0x01;
  letwo=0x00;
  if(input==0x03)// again given same input 
  parallel=0x00;
  break;

  case 5:
  parallel=0x10;
  leone=0x01;
  letwo=0x00;
  if(input==0x04)// again given same input 
  parallel=0x00;
  break;

  case 6:
  parallel=0x20;
  leone=0x01;
  letwo=0x00;
  if(input==0x05)// again given same input 
  parallel=0x00;
  break;

  case 7:
  parallel=0x40;
  leone=0x01;
  letwo=0x00;
  if(input==0x06)// again given same input 
  parallel=0x00;
  break;

  case 8:
  parallel=0x80;
  leone=0x01;
  letwo=0x00;
  if(input==0x07)// again given same input 
  parallel=0x00;
  break;

  case 9:
  parallel=0x01;
  leone=0x02;
  letwo=0x00;
  if(input==0x08)// again given same input 
  parallel=0x00;
  break;
  
  case 10:
  parallel=0x02;
  leone=0x02;
  letwo=0x00;
  if(input==0x09)// again given same input 
  parallel=0x00;
  break;

  case 11:
  parallel=0x04;
  leone=0x02;
  letwo=0x00;
  if(input==0x0A)// again given same input 
  parallel=0x00;
  break;

  case 12:
  parallel=0x08;
  leone=0x02;
  letwo=0x00;
  if(input==0x0B)// again given same input 
  parallel=0x00;
  break;  

  case 13:
  parallel=0x10;
  leone=0x02;
  letwo=0x00;
  if(input==0x0C)// again given same input 
  parallel=0x00;
  break;

  case 14:
  parallel=0x20;
  leone=0x02;
  letwo=0x00;
  if(input==0x0D)// again given same input 
  parallel=0x00;
  break;

  case 15:
  parallel=0x40;
  leone=0x02;
  letwo=0x00;
  if(input==0x0E)// again given same input 
  parallel=0x00;
  break;

  case 16:
  parallel=0x80;
  leone=0x02;
  letwo=0x00;
  if(input==0x0F)// again given same input 
  parallel=0x00;
  break;
    
  case 17:
  parallel=0x01;
  leone=0x04;
  letwo=0x00;
  if(input==0x10)// again given same input 
  parallel=0x00;
  break;
  
  case 18:
  parallel=0x02;
  leone=0x04;
  letwo=0x00;
  if(input==0x11)// again given same input 
  parallel=0x00;
  break;

  case 19:
  parallel=0x04;
  leone=0x04;
  letwo=0x00;
  if(input==0x12)// again given same input 
  parallel=0x00;
  break;

  case 20:
  parallel=0x08;
  leone=0x04;
  letwo=0x00;
  if(input==0x13)// again given same input 
  parallel=0x00;
  break;

  case 21:
  parallel=0x10;
  leone=0x04;
  letwo=0x00;
  if(input==0x14)// again given same input 
  parallel=0x00;
  break;

  case 22:
  parallel=0x20;
  leone=0x04;
  letwo=0x00;
  if(input==0x15)// again given same input 
  parallel=0x00;
  break;

  case 23:
  parallel=0x40;
  leone=0x04;
  letwo=0x00;
  if(input==0x16)// again given same input 
  parallel=0x00;
  break;

  case 24:
  parallel=0x80;
  leone=0x04;
  letwo=0x00;
  if(input==0x17)// again given same input 
  parallel=0x00;
  break;

  case 25:
  parallel=0x01;
  leone=0x08;
  letwo=0x00;
  if(input==0x18)// again given same input 
  parallel=0x00;
  break;
  
  case 26:
  parallel=0x02;
  leone=0x08;
  letwo=0x00;
  if(input==0x19)// again given same input 
  parallel=0x00;
  break;

  case 27:
  parallel=0x04;
  leone=0x08;
  letwo=0x00;
  if(input==0x1A)// again given same input 
  parallel=0x00;
  break;

  case 28:
  parallel=0x08;
  leone=0x08;
  letwo=0x00;
  if(input==0x1B)// again given same input 
  parallel=0x00;
  break;

  case 29:
  parallel=0x10;
  leone=0x08;
  letwo=0x00;
  if(input==0x1C)// again given same input 
  parallel=0x00;
  break;

  case 30:
  parallel=0x20;
  leone=0x08;
  letwo=0x00;
  if(input==0x1D)// again given same input 
  parallel=0x00;
  break;

  case 31:
  parallel=0x40;
  leone=0x08;
  letwo=0x00;
  if(input==0x1E)// again given same input 
  parallel=0x00;
  break;

  case 32:
  parallel=0x80;
  leone=0x08;
  letwo=0x00;
  if(input==0x1F)// again given same input 
  parallel=0x00;
  break; 
  
   case 33:
  parallel=0x01;
  leone=0x10;
  letwo=0x00;
  if(input==0x20)// again given same input 
  parallel=0x00;
  break;
  
  case 34:
  parallel=0x02;
  leone=0x10;
  letwo=0x00;
  if(input==0x21)// again given same input 
  parallel=0x00;
  break;

  case 35:
  parallel=0x04;
  leone=0x10;
  letwo=0x00;
  if(input==0x22)// again given same input 
  parallel=0x00;
  break;

  case 36:
  parallel=0x08;
  leone=0x10;
  letwo=0x00;
  if(input==0x23)// again given same input 
  parallel=0x00;
  break;

  case 37:
  parallel=0x10;
  leone=0x10;
  letwo=0x00;
  if(input==0x24)// again given same input 
  parallel=0x00;
  break;

  case 38:
  parallel=0x20;
  leone=0x10;
  letwo=0x00;
  if(input==0x25)// again given same input 
  parallel=0x00;
  break;

  case 39:
  parallel=0x40;
  leone=0x10;
  letwo=0x00;
  if(input==0x26)// again given same input 
  parallel=0x00;
  break;

  case 40:
  parallel=0x80;
  leone=0x10;
  letwo=0x00;
  if(input==0x27)// again given same input 
  parallel=0x00;
  break;

  case 41:
  parallel=0x01;
  leone=0x20;
  letwo=0x00;
  if(input==0x28)// again given same input 
  parallel=0x00;
  break;
  
  case 42:
  parallel=0x02;
  leone=0x20;
  letwo=0x00;
  if(input==0x29)// again given same input 
  parallel=0x00;
  break;

  case 43:
  parallel=0x04;
  leone=0x20;
  letwo=0x00;
  if(input==0x2A)// again given same input 
  parallel=0x00;
  break;

  case 44:
  parallel=0x08;
  leone=0x20;
  letwo=0x00;
  if(input==0x2B)// again given same input 
  parallel=0x00;
  break;

  case 45:
  parallel=0x10;
  leone=0x20;
  letwo=0x00;
  if(input==0x2C)// again given same input 
  parallel=0x00;
  break;

  case 46:
  parallel=0x20;
  leone=0x20;
  letwo=0x00;
  if(input==0x2D)// again given same input 
  parallel=0x00;
  break;

  case 47:
  parallel=0x40;
  leone=0x20;
  letwo=0x00;
  if(input==0x2E)// again given same input 
  parallel=0x00;
  break;

  case 48:
  parallel=0x80;
  leone=0x20;
  letwo=0x00;
  if(input==0x2F)// again given same input 
  parallel=0x00;
  break;

  case 49:
  parallel=0x01;
  leone=0x40;
  letwo=0x00;
  if(input==0x30)// again given same input 
  parallel=0x00;
  break;
  
  case 50:
  parallel=0x02;
  leone=0x40;
  letwo=0x00;
  if(input==0x31)// again given same input 
  parallel=0x00;
  break;

  case 51:
  parallel=0x04;
  leone=0x40;
  letwo=0x00;
  if(input==0x32)// again given same input 
  parallel=0x00;
  break;

  case 52:
  parallel=0x08;
  leone=0x40;
  letwo=0x00;
  if(input==0x33)// again given same input 
  parallel=0x00;
  break;

  case 53:
  parallel=0x10;
  leone=0x40;
  letwo=0x00;
  if(input==0x34)// again given same input 
  parallel=0x00;
  break;

  case 54:
  parallel=0x20;
  leone=0x40;
  letwo=0x00;
  if(input==0x35)// again given same input 
  parallel=0x00;
  break;

  case 55:
  parallel=0x40;
  leone=0x40;
  letwo=0x00;
  if(input==0x36)// again given same input 
  parallel=0x00;
  break;

  case 56:
  parallel=0x80;
  leone=0x40;
  letwo=0x00;
  if(input==0x37)// again given same input 
  parallel=0x00;
  break;

  case 57:
  parallel=0x01;
  leone=0x80;
  letwo=0x00;
  if(input==0x38)// again given same input 
  parallel=0x00;
  break;
  
  case 58:
  parallel=0x02;
  leone=0x80;
  letwo=0x00;
  if(input==0x39)// again given same input 
  parallel=0x00;
  break;

  case 59:
  parallel=0x04;
  leone=0x80;
  letwo=0x00;
  if(input==0x3A)// again given same input 
  parallel=0x00;
  break;

  case 60:
  parallel=0x08;
  leone=0x80;
  letwo=0x00;
  if(input==0x3B)// again given same input 
  parallel=0x00;
  break;

  case 61:
  parallel=0x10;
  leone=0x80;
  letwo=0x00;
  if(input==0x3C)// again given same input 
  parallel=0x00;
  break;

  case 62:
  parallel=0x20;
  leone=0x80;
  letwo=0x00;
  if(input==0x3D)// again given same input 
  parallel=0x00;
  break;

  case 63:
  parallel=0x40;
  leone=0x80;
  letwo=0x00;
  if(input==0x3E)// again given same input 
  parallel=0x00;
  break;

  case 64:
  parallel=0x80;
  leone=0x80;
  letwo=0x00;
  if(input==0x3F)// again given same input 
  parallel=0x00;
  break;

  case 65:
  parallel=0x01;
  leone=0x00;
  letwo=0x01;
  if(input==0x40)// again given same input 
  parallel=0x00;
  break;
  
  case 66:
  parallel=0x02;
  leone=0x00;
  letwo=0x01;
  if(input==0x41)// again given same input 
  parallel=0x00;
  break;

  case 67:
  parallel=0x04;
  leone=0x00;
  letwo=0x01;
  if(input==0x42)// again given same input 
  parallel=0x00;
  break;

  case 68:
  parallel=0x08;
  leone=0x00;
  letwo=0x01;
  if(input==0x43)// again given same input 
  parallel=0x00;
  break;

  case 69:
  parallel=0x10;
  leone=0x00;
  letwo=0x01;
  if(input==0x44)// again given same input 
  parallel=0x00;
  break;

  case 70:
  parallel=0x20;
  leone=0x00;
  letwo=0x01;
  if(input==0x45)// again given same input 
  parallel=0x00;
  break;

  case 71:
  parallel=0x40;
  leone=0x00;
  letwo=0x01;
  if(input==0x46)// again given same input 
  parallel=0x00;
  break;

  case 72:
  parallel=0x80;
  leone=0x00;
  letwo=0x01;
  if(input==0x47)// again given same input 
  parallel=0x00;
  break;

  case 73:
  parallel=0x01;
  leone=0x00;
  letwo=0x02;
  if(input==0x48)// again given same input 
  parallel=0x00;
  break;
  
  case 74:
  parallel=0x02;
  leone=0x00;
  letwo=0x02;
  if(input==0x49)// again given same input 
  parallel=0x00;
  break;

  case 75:
  parallel=0x04;
  leone=0x00;
  letwo=0x02;
  if(input==0x4A)// again given same input 
  parallel=0x00;
  break;

  case 76:
  parallel=0x08;
  leone=0x00;
  letwo=0x02;
  if(input==0x4B)// again given same input 
  parallel=0x00;
  break;

  case 77:
  parallel=0x10;
  leone=0x00;
  letwo=0x02;
  if(input==0x4C)// again given same input 
  parallel=0x00;
  break;

  case 78:
  parallel=0x20;
  leone=0x00;
  letwo=0x02;
  if(input==0x4D)// again given same input 
  parallel=0x00;
  break;

  case 79:
  parallel=0x40;
  leone=0x00;
  letwo=0x02;
  if(input==0x4E)// again given same input 
  parallel=0x00;
  break;

  case 80:
  parallel=0x80;
  leone=0x00;
  letwo=0x02;
  if(input==0x4F)// again given same input 
  parallel=0x00;
  break;

  case 81:
  parallel=0x01;
  leone=0x00;
  letwo=0x04;
  if(input==0x50)// again given same input 
  parallel=0x00;
  break;
  
  case 82:
  parallel=0x02;
  leone=0x00;
  letwo=0x04;
  if(input==0x51)// again given same input 
  parallel=0x00;
  break;

  case 83:
  parallel=0x04;
  leone=0x00;
  letwo=0x04;
  if(input==0x52)// again given same input 
  parallel=0x00;
  break;

  case 84:
  parallel=0x08;
  leone=0x00;
  letwo=0x04;
  if(input==0x53)// again given same input 
  parallel=0x00;
  break;

  case 85:
  parallel=0x10;
  leone=0x00;
  letwo=0x04;
  if(input==0x54)// again given same input 
  parallel=0x00;
  break;

  case 86:
  parallel=0x20;
  leone=0x00;
  letwo=0x04;
  if(input==0x55)// again given same input 
  parallel=0x00;
  break;

  case 87:
  parallel=0x40;
  leone=0x00;
  letwo=0x04;
  if(input==0x56)// again given same input 
  parallel=0x00;
  break;

  case 88:
  parallel=0x80;
  leone=0x00;
  letwo=0x04;
  if(input==0x57)// again given same input 
  parallel=0x00;
  break;

  case 89:
  parallel=0x01;
  leone=0x00;
  letwo=0x08;
  if(input==0x58)// again given same input 
  parallel=0x00;
  break;
  
  case 90:
  parallel=0x02;
  leone=0x00;
  letwo=0x08;
  if(input==0x59)// again given same input 
  parallel=0x00;
  break;

  case 91:
  parallel=0x04;
  leone=0x00;
  letwo=0x08;
  if(input==0x5A)// again given same input 
  parallel=0x00;
  break;

  case 92:
  parallel=0x08;
  leone=0x00;
  letwo=0x08;
  if(input==0x5B)// again given same input 
  parallel=0x00;
  break;

  case 93:
  parallel=0x10;
  leone=0x00;
  letwo=0x08;
  if(input==0x5C)// again given same input 
  parallel=0x00;
  break;

  case 94:
  parallel=0x20;
  leone=0x00;
  letwo=0x08;
  if(input==0x5D)// again given same input 
  parallel=0x00;
  break;

  case 95:
  parallel=0x40;
  leone=0x00;
  letwo=0x08;
  if(input==0x5E)// again given same input 
  parallel=0x00;
  break;

  case 96:
  parallel=0x80;
  leone=0x00;
  letwo=0x08;
  if(input==0x5F)// again given same input 
  parallel=0x00;
  break;

  case 97:
  parallel=0x01;
  leone=0x00;
  letwo=0x10;
  if(input==0x60)// again given same input 
  parallel=0x00;
  break;
  
  case 98:
  parallel=0x02;
  leone=0x00;
  letwo=0x10;
  if(input==0x61)// again given same input 
  parallel=0x00;
  break;

  case 99:
  parallel=0x04;
  leone=0x00;
  letwo=0x10;
  if(input==0x62)// again given same input 
  parallel=0x00;
  break;

  case 100:
  parallel=0x08;
  leone=0x00;
  letwo=0x10;
  if(input==0x63)// again given same input 
  parallel=0x00;
  break;

  case 101:
  parallel=0x10;
  leone=0x00;
  letwo=0x10;
  if(input==0x64)// again given same input 
  parallel=0x00;
  break;

  case 102:
  parallel=0x20;
  leone=0x00;
  letwo=0x10;
  if(input==0x65)// again given same input 
  parallel=0x00;
  break;

  case 103:
  parallel=0x40;
  leone=0x00;
  letwo=0x10;
  if(input==0x66)// again given same input 
  parallel=0x00;
  break;

  case 104:
  parallel=0x80;
  leone=0x00;
  letwo=0x10;
  if(input==0x67)// again given same input 
  parallel=0x00;
  break;

  case 105:
  parallel=0x01;
  leone=0x00;
  letwo=0x20;
  if(input==0x68)// again given same input 
  parallel=0x00;
  break;
  
  case 106:
  parallel=0x02;
  leone=0x00;
  letwo=0x20;
  if(input==0x69)// again given same input 
  parallel=0x00;
  break;

  case 107:
  parallel=0x04;
  leone=0x00;
  letwo=0x20;
  if(input==0x6A)// again given same input 
  parallel=0x00;
  break;

  case 108:
  parallel=0x08;
  leone=0x00;
  letwo=0x20;
  if(input==0x6B)// again given same input 
  parallel=0x00;
  break;

  case 109:
  parallel=0x10;
  leone=0x00;
  letwo=0x20;
  if(input==0x6C)// again given same input 
  parallel=0x00;
  break;

  case 110:
  parallel=0x20;
  leone=0x00;
  letwo=0x20;
  if(input==0x6D)// again given same input 
  parallel=0x00;
  break;

  case 111:
  parallel=0x40;
  leone=0x00;
  letwo=0x20;
  if(input==0x6E)// again given same input 
  parallel=0x00;
  break;

  case 112:
  parallel=0x80;
  leone=0x00;
  letwo=0x20;
  if(input==0x6F)// again given same input 
  parallel=0x00;
  break;

  case 113:
  parallel=0x01;
  leone=0x00;
  letwo=0x40;
  if(input==0x70)// again given same input 
  parallel=0x00;
  break;
  
  case 114:
  parallel=0x02;
  leone=0x00;
  letwo=0x40;
  if(input==0x71)// again given same input 
  parallel=0x00;
  break;

  case 115:
  parallel=0x04;
  leone=0x00;
  letwo=0x40;
  if(input==0x72)// again given same input 
  parallel=0x00;
  break;

  case 116:
  parallel=0x08;
  leone=0x00;
  letwo=0x40;
  if(input==0x73)// again given same input 
  parallel=0x00;
  break;

  case 117:
  parallel=0x10;
  leone=0x00;
  letwo=0x40;
  if(input==0x74)// again given same input 
  parallel=0x00;
  break;

  case 118:
  parallel=0x20;
  leone=0x00;
  letwo=0x40;
  if(input==0x75)// again given same input 
  parallel=0x00;
  break;

  case 119:
  parallel=0x40;
  leone=0x00;
  letwo=0x80;
  if(input==0x76)// again given same input 
  parallel=0x00;
  break;

  case 120:
  parallel=0x80;
  leone=0x00;
  letwo=0x80;
  if(input==0x77)// again given same input 
  parallel=0x00;
  break;

  case 121:
  parallel=0x01;
  leone=0x00;
  letwo=0x80;
  if(input==0x78)// again given same input 
  parallel=0x00;
  break;
  
  case 122:
  parallel=0x02;
  leone=0x00;
  letwo=0x80;
  if(input==0x79)// again given same input 
  parallel=0x00;
  break;

  case 123:
  parallel=0x04;
  leone=0x00;
  letwo=0x80;
  if(input==0x7A)// again given same input 
  parallel=0x00;
  break;

  case 124:
  parallel=0x08;
  leone=0x00;
  letwo=0x80;
  if(input==0x7B)// again given same input 
  parallel=0x00;
  break;

  case 125:
  parallel=0x10;
  leone=0x00;
  letwo=0x80;
  if(input==0x7C)// again given same input 
  parallel=0x00;
  break;

  case 126:
  parallel=0x20;
  leone=0x00;
  letwo=0x80;
  if(input==0x7D)// again given same input 
  parallel=0x00;
  break;

  case 127:
  parallel=0x40;
  leone=0x00;
  letwo=0x80;
  if(input==0x7E)// again given same input 
  parallel=0x00;
  break;

  case 128:
  parallel=0x80;
  leone=0x00;
  letwo=0x80;
  if(input==0x7F)// again given same input 
  parallel=0x00;
  break;
}
}  
void main()
{
parallel=0x00;
leone=0x00;
letwo=0x00;
while(1)
{
switch(input)
{
 case 0x00:	
 display(1);
 break;
 case 0x01:	 
 display(2);
 break;
 case 0x02:	 
 display(3);
 break;
 case 0x03:	 
 display(4);
 break;
 case 0x04:	 
 display(5);
 break;
 case 0x05:	 
 display(6);
 break;
 case 0x06:	 
 display(7);
 break;
 case 0x07:	 
 display(8);
 break;
 case 0x08:	 
 display(9);
 break;
 case 0x09:	 
 display(10);
 break;
 case 0x0a:	 
 display(11);
 break;
 case 0x0b:	 
 display(12);
 break;
 case 0x0c:	 
 display(13);
 break;
 case 0x0d:	 
 display(14);
 break;
 case 0x0e:	 
 display(15);
 break;
 case 0x0f:	 
 display(16);
 break;
 case 0x10:	 
 display(17);
 break;
 case 0x11:	 
 display(18);
 break;
 case 0x12:	 
 display(19);
 break;
 case 0x13:	 
 display(20);
 break;
 case 0x14:	 
 display(21);
 break;
 case 0x15:	 
 display(22);
 break;
 case 0x16:	 
 display(23);
 break;
 case 0x17:	 
 display(24);
 break;
 case 0x18:	 
 display(25);
 break;
 case 0x19:	 
 display(26);
 break;
 case 0x1a:	 
 display(27);
 break;
 case 0x1b:	 
 display(28);
 break;
 case 0x1c:	 
 display(29);
 break;
 case 0x1d:	 
 display(30);
 break;
 case 0x1e:	 
 display(31);
 break;
 case 0x1f:	 
 display(32);
 break;
 case 0x20:	 
 display(33);
 break;
 case 0x21:	 
 display(34);
 break;
 case 0x22:	 
 display(35);
 break;
 case 0x23:	 
 display(36);
 break;
 case 0x24:	 
 display(37);
 break;
 case 0x25:	 
 display(38);
 break;
 case 0x26:	 
 display(39);
 break;
 case 0x27:	 
 display(40);
 break;
 case 0x28:	 
 display(41);
 break;
 case 0x29:	 
 display(42);
 break;
 case 0x2a:	 
 display(43);
 break;
 case 0x2b:	 
 display(44);
 break;
 case 0x2c:	 
 display(45);
 break;
 case 0x2d:	 
 display(46);
 break;
 case 0x2e:	 
 display(47);
 break;
 case 0x2f:	 
 display(48);
 break;
 case 0x30:	 
 display(49);
 break;
 case 0x31:	 
 display(50);
 break;
 case 0x32:	 
 display(51);
 break;
 case 0x33:	 
 display(52);
 break;
 case 0x34:	 
 display(53);
 break;
 case 0x35:	 
 display(54);
 break;
 case 0x36:	 
 display(55);
 break;
 case 0x37:	 
 display(56);
 break;
 case 0x38:	 
 display(57);
 break;
 case 0x39:	 
 display(58);
 break;
 case 0x3a:	 
 display(59);
 break;
 case 0x3b:	 
 display(60);
 break;
 case 0x3c:	 
 display(61);
 break;
 case 0x3d:	 
 display(62);
 break;
 case 0x3e:	 
 display(63);
 break;
 case 0x3f:	 
 display(64);
 break;
 case 0x40:	 
 display(65);
 break;
 case 0x41:	 
 display(66);
 break;
 case 0x42:	 
 display(67);
 break;
 case 0x43:	 
 display(68);
 break;
 case 0x44:	 
 display(69);
 break;
 case 0x45:	 
 display(70);
 break;
 case 0x46:	 
 display(71);
 break;
 case 0x47:	 
 display(72);
 break;
 case 0x48:	 
 display(73);
 break;
 case 0x49:	 
 display(74);
 break;
 case 0x4a:	 
 display(75);
 break;
 case 0x4b:	 
 display(76);
 break;
 case 0x4c:	 
 display(77);
 break;
 case 0x4d:	 
 display(78);
 break;
 case 0x4e:	 
 display(79);
 break;
 case 0x4f:	 
 display(80);
 break;
 case 0x50:	 
 display(81);
 break;
 case 0x51:	 
 display(82);
 break;
 case 0x52:	 
 display(83);
 break;
 case 0x53:	 
 display(84);
 break;
 case 0x54:	 
 display(85);
 break;
 case 0x55:	 
 display(86);
 break;
 case 0x56:	 
 display(87);
 break;
 case 0x57:	 
 display(88);
 break;
 case 0x58:	 
 display(89);
 break;
 case 0x59:	 
 display(90);
 break;
 case 0x5a:	 
 display(91);
 break;
 case 0x5b:	 
 display(92);
 break;
 case 0x5c:	 
 display(93);
 break;
 case 0x5d:	 
 display(94);
 break;
 case 0x5e:	 
 display(95);
 break;
 case 0x5f:	 
 display(96);
 break;
 case 0x60:	 
 display(97);
 break;
 case 0x61:	 
 display(98);
 break;
 case 0x62:	 
 display(99);
 break;
 case 0x63:	 
 display(100);
 break;
 case 0x64:	 
 display(101);
 break;
 case 0x65:	 
 display(102);
 break;
 case 0x66:	 
 display(103);
 break;
 case 0x67:	 
 display(104);
 break;
 case 0x68:	 
 display(105);
 break;
 case 0x69:	 
 display(106);
 break;
 case 0x6a:	 
 display(107);
 break;
 case 0x6b:	 
 display(108);
 break;
 case 0x6c:	 
 display(109);
 break;
 case 0x6d:	 
 display(110);
 break;
 case 0x6e:	 
 display(111);
 break;
 case 0x6f:	 
 display(112);
 break;
 case 0x70:	 
 display(113);
 break;
 case 0x71:	 
 display(114);
 break;
 case 0x72:	 
 display(115);
 break;
 case 0x73:	 
 display(116);
 break;
 case 0x74:	 
 display(117);
 break;
 case 0x75:	 
 display(118);
 break;
 case 0x76:	 
 display(119);
 break;
 case 0x77:	 
 display(120);
 break;
 case 0x78:	 
 display(121);
 break;
 case 0x79:	 
 display(122);
 break;
 case 0x7a:	 
 display(123);
 break;
 case 0x7b:	 
 display(124);
 break;
 case 0x7c:	 
 display(125);
 break;
 case 0x7d:	 
 display(126);
 break;
 case 0x7e:	 
 display(127);
 break;
 case 0x7f:	 
 display(128);
 break;
 }
}
}
 

What is the problem with your code?

What are the other 128 combination like

Code:
case 1:
  parallel=0x01;
  leone=0x01;
  letwo=0x00;
  if(input==0x00)// again given same input 
  parallel=0x00;
  break;

which is for pressing the buttons the second time?

If P0 of master is 0x00 then below code gets executed

Code:
case 1:
  parallel=0x01;
  leone=0x01;
  letwo=0x00;
  if(input==0x00)// again given same input 
  parallel=0x00;
  break;

if P0 of master is again 0x00 then below code gets executed, right?

Code:
case 1:
  parallel=0x00;
  leone=0x00;
  letwo=0x00;
  if(input==0x00)// again given same input 
  parallel=0x00;
  break;

Then what are the other 127 combinations for switches getting pressed 2nd time?
 
Last edited:

128 switch key is connected to master mcu, if key 1 pressed master mcu giving input data to slave mcu, if slave mcu get input data 0x00(P0) means it will generate P1=0x01,P2=0x01 and P3=0x00 when key 1 pressed again slave mcu get the input data(0x00) means P1=0x00 will generate.. if key 2 pressed slave mcu get input daat (0x01) it will generate P1=0x02,P2=0x01,P3=0x00 if key 2 pressed again means the same input data only will slave mcu that time it will generate P1=0x00 only as like i was designed 128 switch. all input output combinations already i posted. concept:if key pressed once slave mcu will generate output data P1,P2,P3 again pressed the same key slave mcu will generate output data P1=0x00 (default).
 

Make this clear to me

if key pressed once slave mcu will generate output data P1,P2,P3 again pressed the same key slave mcu will generate output data P1=0x00 (default).

You have given 128 values of P1, P2, and P3 of slave for switches pressed once. I want the other 128 combination of P1, P2, and P3 of slave for switches pressed again.
 
Last edited:

if P0 of slave get 0x00 below code ll excute
Code:
[CODE]
case 1:
  parallel=0x01;
  leone=0x01;
  letwo=0x00;
  break;
if P0 of slave again get 0x00 means it ll excute
Code:
parallel=0x00;
all input and output combination already i posted please go through previous
how to wright a program for above condition help me.
 

Doesn't
Code:
 leone=0x01;
  letwo=0x00;
values change on pressing buttons for the 2nd time for all the 128 combinations? Is it only the value of parallel that changes on pressing the buttons 2nd time?

Try this method and implement for 128 combinations. I have shown for 1st switch

Code:
//sw1_state = 0 should be used in the beggining during initialization.
//Similarly sw2_state.... sw128_state...swN_state should be used

case 1:
 
  sw1_state = ~sw1_state;
  if(sw1_state == 1) {
      parallel=0x01;
  }
  else if(sw1_state == 0) {
      parallel = 0x00;
  }
  leone=0x01;
  letwo=0x00;	
  break;
 
Last edited:

can i get the same program in assembly language please
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top