| ??? 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;
}
|



