📄 ear.c.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 + -