??? 01/13/12 05:50 Read: times |
#185456 - switch interfacing Responding to: ???'s previous message |
sir
actually i cant understand what and how i write coad for it.sir i am posting my coad here. and i want to make application only that displaying digites on the seven segment and store it in 93c66 eeprom. i am working it in steps.my first step is switch interfacing after it eeprom interfacing. so i am posting here cond only for switch interfacing. plz check thic coed and help me plz /*****************************************/ /* 0000 to 9999 Display */ /* with 4094 */ /* 12:36 PM 1/10/2012 */ /*****************************************/ #include <reg52.h> unsigned char buffer[5]; unsigned int num1,num2,num3,num4,num5,test=0; unsigned int num=0; sbit CLK = P2^1; sbit DIN = P2^0; sbit strobe = P2^2; sbit up = P1^0; sbit down = P1^1; sbit reset = P1^2; sbit set = P1^3; char code segment[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x39}; void delay(int num) // timer { int i; for(i=0;i<num;i++) { TH0=0xfc; TL0=0x67; } } void write_led() { char i,j; for(j=0; j<5; j++) { for(i=0;i<8; i++) { if(buffer[j]&0x80) DIN = 1; else DIN=0; CLK= 1; buffer[j] <<=1; CLK = 0; } } strobe = 1; ; strobe = 0; } void move_Buffer() { buffer[0] = segment[num1%10]; buffer[1] = segment[num2%10]; buffer[2] = segment[num3%10]; buffer[3] = segment[num4%10]; buffer[4] = segment[num5%10]; } void updatedisplay() { move_Buffer(); write_led(); } void counter() { if(up==0&&down==1) //check if up pin is pressed { test++; num=test; num1=num%10; num=num/10; num2=num%10; num=num/10; num3=num%10; num=num/10; num4=num%10; num5=num/10; if(test==99999) test=0; } if(up==1&&down==0) //check if down pin is pressed { test--; num=test; num1=num%10; num=num/10; num2=num%10; num=num/10; num3=num%10; num=num/10; num4=num%10; num5=num/10; if(test==0) test=99999; } } void re() // reset display { if (reset==0) num1=num2=num3=num4=num5=0; } void timer_isr(void) interrupt 1 using 1 { counter(); re(); delay(10000); updatedisplay(); } void main() { TMOD = 0x01; EA = 1; ET0 = 1; TR0 = 1; up = 1; down = 1; reset= 1; set = 1; } |