⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ear.c.bak

📁 attendace system on 8051 chipset from intel.
💻 BAK
字号:
/*******************************Sheena**************************************/
//#include <stdio.h>
//#include "stdlib\stdlib.h"
#include "D:\Shekhar\Dev\delay\delay.h"
#include "D:\Shekhar\Dev\string\string.h"
#include "D:\Shekhar\Dev\keyboard\keyboard.h"
//#include "date\date.h"
//#include "time\time.h"
#include "D:\Shekhar\Dev\2x16lcd\2x16lcd.h"

/*
	Use this for printf & scanf
	SCON = 0x50;
	PCON &= 0x7F;
	TMOD &= 0xCF;
	TMOD |= 0x20;
	TH1 = 0xFD;
	TR1 = 1;
	TI = 1;

        IE   = IE | 0x01;
*/

/*Global data declaration*/
sbit P1_1 = 0x91;
#define SYSTEM_SETUP_MODE() !P1_1

typedef struct
{
    char barcode[15];
    char gpfno[15];
    //struct date d[7];
    //struct time t[14];
}AttendanceRecord;

#define BARCODE_LENGTH 14
#define MAX_RECORDS 100
#define FOUND     !0
#define NOT_FOUND 0
long xdata database_state;
xdata AttendanceRecord xdata attendance_records[MAX_RECORDS];

#define CARD_SWAPPED keypressed

#define kbhit() (RI)
#define STX '['
#define ETX ']'

#define SET_DATE       'A'
#define SET_TIME       'B'
#define ADD_EMPLOYEE   'C'
#define RESET_DATABASE 'D'
#define VIEW_EMPLOYEE  'E'

static unsigned long overflow_count = 0;

int timer0counter = 0;

char _data[35];
char data_processed = 1;
char data_received = 0;
char data_index = 0;

typedef struct
{
    char command;
    char barcode[15];
    char gpfno[15];
}Protocol;

typedef struct
{
	char day_count;
	char time_count;
	int record_counts;
}DatabaseDetails;

xdata DatabaseDetails xdata database_details;

void processdata();

/*
void reset()
{
        gotoxy(1, 1);
        __puts("Reset Database  ");
        gotoxy(1, 2);
        __puts("Please wait...  ");

        database_details.day_count = 0;
        database_details.time_count = 0;
        database_details.record_counts = 0;
}
*/

AttendanceRecord xdata *find(char *barcode)
{
	int i;

        clearlcd();
        gotoxy(1, 1);
        puts(barcode);

        delay(25000);
        delay(25000);
        delay(25000);

        for(i = 0; i < database_details.record_counts; i++)
	{
		if(!strstrcmp(attendance_records[i].barcode, barcode))
			return &attendance_records[i];
	}

	return 0;
}

/*
void add(char *_data)
{
        gotoxy(1, 1);
        __puts(&_data[0]);
        gotoxy(1, 2);
        __puts(&_data[15]);

        strstrcpy(attendance_records[database_details.record_counts].barcode, 
                        &_data[0]);
        strstrcpy(attendance_records[database_details.record_counts].gpfno, 
                        &_data[15]);

        database_details.record_counts++;
}

void view(int record_no)
{
        if(record_no >= 0 && record_no < database_details.record_counts)
        {
                gotoxy(1, 1);
                __puts(attendance_records[record_no].barcode);
                gotoxy(1, 2);
                __puts(attendance_records[record_no].gpfno);
        }
        else
        {
                gotoxy(1, 1);
                __puts("No such record");
                gotoxy(1, 2);
                __puts("Please try again");
        }
}
*/

/*
void timer0() interrupt 1
{
}
*/

/*void txrx() interrupt 4
{
        char ch;

        if(RI)
        {
                //if(data_processed)
                {
                        ch = SBUF;

                        if(ch == STX)
                        {
                                data_index = 0;
                                data_received = 0;
                        }
                        else if(ch == ETX)
                        {
                                _data[data_index] = 0;
                                data_received = 1;
                                data_processed = 0;

                                processdata();
                        }
                        else
                        {
                                if(ch == '$')
                                {
                                        _data[data_index] = 0;
                                        data_index = 15;
                                }
                                else
                                {
                                        _data[data_index] = ch;
                                }
                                
                                data_index++;
                        }
                }

                RI = 0;
        }
}
*/

/*
void inittimer0()
{
	TMOD = (TMOD & 0xF0) | 0x01;
	ET0 = 1;                    
	TR0 = 1;                    
	EA = 1;                     
}
*/

/*
void transmit(char *str)
{
        while(*str)
        {
                SBUF = *str;
                while(!TI);
                str++;
        }
}
*/

/*
void processdata()
{
	//struct date d;
	//struct time t;

	if(_data[0] == SET_DATE)
	{
		//strtodate(&_data[1], &d);
		//datesetdate(&d);
	}

	else if(_data[0] == SET_TIME)
	{
		//strtotime(&_data[1], &t);
		//timesettime(&t);
	}

	else if(_data[0] == RESET_DATABASE)
	{
                reset();
	}

	/ *else if(_data[0] == ADD_EMPLOYEE)
	{
                add(&_data[1]);
	}* /

	/ *else if(_data[0] == VIEW_EMPLOYEE)
	{
                view(_data[1] - 48);
	}* /

	data_processed = 1;
}
*/

char *readbarcode(char *barcode, int counts)
{
	int i;

        for(i = 0; i < counts; i++)
	{
		*(barcode + i) = getkey();
	}

	*(barcode + i) = '\0';

	return barcode;
}

void main()
{
    char barcode[15];
	xdata AttendanceRecord xdata *attendance_record_ptr;
/*	
	SCON = 0x50;
	PCON &= 0x7F;
	TMOD &= 0xCF;
	TMOD |= 0x20;
	TH1 = 0xFD;
	TR1 = 1;
	TI = 1;
	IE   = IE | 0x01;
   */

        init8051(BAUD_RATE_9600);

	//inittimer0();

	init2x16lcd();

	clearlcd();

        /*
        if(database_state != 0xAB0505AB)
	{
                database_state = 0xAB0135AB;
		database_details.day_count = 0;
		database_details.time_count = 0;
		database_details.record_counts = 0;
	}
        */

	while(1)
	{
		gotoxy(1, 1);
		puts("* JBB Sof Tech *");
		gotoxy(1, 2);
		puts("Swap your card");

		readbarcode(barcode, BARCODE_LENGTH);
		barcode[13] = 0;
                gotoxy(1, 1);
                puts(barcode);
		delay(25000);
		delay(25000);
		delay(25000);

                //barcode[13] = 0;
		clearlcd();
		attendance_record_ptr = find(barcode);
        if(attendance_record_ptr == NOT_FOUND)
		{
			gotoxy(1, 1);
			puts("Invalid card");
			gotoxy(1, 2);
			puts("Please try again");
		}
		else
		{
			gotoxy(1, 1);
			puts("Valid card");
			gotoxy(1, 2);
			puts(attendance_record_ptr->gpfno);
		}

		//gotoxy(1, 2);
		//puts(barcode);

		delay(25000);
		delay(25000);
		delay(25000);
        }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -