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

📄 earkey.c

📁 attendace system on 8051 chipset from intel.
💻 C
📖 第 1 页 / 共 2 页
字号:
/*********************************Sheena************************************/
//#include <stdio.h>
//#include <string.h>
//#include "stdlib\stdlib.h"
#include "delay\delay.h"
//#include "string\string.h"
#include "keyboard\keyboard.h"
//#include "date\date.h"
//#include "time\time.h"
//#include "2x16lcd\2x16lcd.h"
#include "128x64\128x64.h"
#include "bmps\JBB.h"
//#include "bmps\common.h"
//#include "bmps\clock.h"
//#include "bmps\calender.h"

sbit COM_SELECT = 0xB3;

sbit BUZZER = 0x95;

#define kbhit() (RI)

#define RESET_DATABASE               'R'
#define RECORD_COUNTS                'C'
#define ATTENDANCE_RECORDS           'A'
#define FAIL_SAFE_ATTENDANCE_RECORDS 'S'
#define SET_DATE                     'D'
#define SET_TIME                     'T'
#define GET_DATE                     'G'
#define GET_TIME                     'H'
#define REGISTER                     'E'
#define RUN                          'F'
#define RTE_RESET_COUNTS             'X'
#define SET_RTE                      'N'
#define RTE_INFO		     'K'    	

/*Application specific code*/
#define BARCODE_LENGTH    10
#define MAX_RECORD_COUNTS 3000

/*xdata char cr[] = {'\n', 13, 0};

typedef struct
{
        char barcode[14]; //14 bytes
        struct date d;    //4 bytes
        struct time t;    //4 bytes
}AttendanceRecord;        //22 bytes

AttendanceRecord xdata attendance_records[MAX_RECORD_COUNTS];
int xdata record_counts;
int xdata fail_safe_record_counts;
sbit P1_1 = 0x91;
char xdata _data[15];
int xdata index = 0;

xdata char rte_employees[50][14];
int xdata rte_counts;

char xdata date_str[10];
char xdata time_str[10];

int xdata counter = 0;

char fim10mode = 0;

char xdata command;
char xdata param1, param2;
char xdata data_size;
char xdata error;
char xdata header_checksum;
char xdata packet_data[25];
char xdata data_checksum;

char xdata master_mode = 0;
*/
void inittimer0();
void __transmit(char *str);
void transmit(char *str);

/*void transmitpacket(    char port, 
                        char command,
                        char param1,
                        char param2,
                        char data_size,
                        char error,
                        char header_checksum,
                        char *packet_data,
                        char data_checksum);

void receivepacket(     char port,
                        char *command,
                        char *param1,
                        char *param2,
                        char *data_size,
                        char *error,
                        char *header_checksum,
                        char *packet_data,
                        char *data_checksum);*/

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

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

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

	return barcode;
} */

/*void processdata()
{
        char command = _data[0];
        char str[10];
        int i;
        struct date d;
        struct time t;

        ET0 = 0;

        if(command == REGISTER) //Register new FP
        {
                fim10mode = 2; //Enter master mode
        }

        if(command == RUN)
        {
                fim10mode = 0; //Exit master mode
        }

        if(command == GET_DATE)
        {
                datetostr(&today, str);
                __transmit("Date : ");
                __transmit(str);
                __transmit(cr);
        }

        if(command == SET_DATE)
        {
                if(_data[1] != 0)
                {
                        __transmit(&_data[1]);
                        __transmit(cr);
                        strtodate(&_data[1], &d);
                        datesetdate(&d);
                }
        }

        if(command == GET_TIME)
        {
                timetostr(&now, str);
                __transmit("Time : ");
                __transmit(str);
                __transmit(cr);
        }

        if(command == SET_TIME)
        {
                if(_data[1] != 0)
                {
                        //__transmit(&_data[1]);
                        //__transmit(cr);
                        strtotime(&_data[1], &t);
                        timesettime(&t);
                }
        }

        if(command == RESET_DATABASE)
        {
                __transmit("Resetting database");
                __transmit(cr);
                record_counts = 0;
                fail_safe_record_counts = 0;
        }

        if(command == RECORD_COUNTS)
        {
                __itoa(record_counts, str, 10);
                // *gotoxy(1, 2);
                // *____puts("RC - ");
                // *____puts(str);
                __transmit("Record counts : ");
                __transmit(str);
                __transmit(cr);
        }

        if(command == ATTENDANCE_RECORDS)
        {
                for(i = 0; i < record_counts; i++)
                {
                        //delay(20000);

                        __itoa(i + 1, str, 10);
                        __transmit("[");                           //01
                        __transmit(attendance_records[i].barcode); //10
                        __transmit("     ");                       //05
                        datetostr(&attendance_records[i].d, str);  
                        str[2] = '/';                       
                        __transmit(str);                          //05
                        __transmit("     ");                      //05
                        timetostr(&attendance_records[i].t, str);
                        str[2] = ':';
                        __transmit(str);                         //05
                        __transmit("]");                         //01
                }
        }

        if(command == FAIL_SAFE_ATTENDANCE_RECORDS)
        {
                for(i = 0; i < fail_safe_record_counts; i++)
                {
                        delay(20000);

                        __itoa(i + 1, str, 10);
                        __transmit("[");                           //01
                        __transmit(attendance_records[i].barcode); //10
                        __transmit("     ");                       //05
                        datetostr(&attendance_records[i].d, str);  
                        str[2] = '/';                       
                        __transmit(str);                          //05
                        __transmit("     ");                      //05
                        timetostr(&attendance_records[i].t, str);
                        str[2] = ':';
                        __transmit(str);                         //05
                        __transmit("]");                         //01
                }
        }

        if(command == SET_RTE)
        {
                __strstrcpy(rte_employees[rte_counts], &_data[1]);
                rte_counts++;
        }

        if(command == RTE_RESET_COUNTS)
        {
                rte_counts = 0;
        }


	if(command == RTE_INFO)
	{
		__itoa(rte_counts-1, str, 10);
                __transmit("RTE Record counts : ");
                __transmit(str);
                __transmit(cr);	
		__transmit("RTE Records : \n");
		for(i = 0 ; i < rte_counts ; i++)
		{
			__transmit("[");
			__transmit(rte_employees[i]);
			__transmit("]");
		}
		
	}

        inittimer0();
} */

/*void timer0() interrupt 1
{
        xdata char str[10];

        if(counter >= 25)
        {
                //lcddisplaysstr(0 * 8, 0, "   EAR - 2022   ", INVERTED_MODE);

                lcddisplaysstr(0 * 8, 0, " E A R  2 0 2 2 ", INVERTED_MODE);
                lcddisplaysstr(0 * 8, 1, " Swap your card ", INVERTED_MODE);
                //lcddisplaysstr(3 * 8, 3, "----------", NORMAL_MODE);

                lcddisplaysstr(1 * 8, 3, "              ", NORMAL_MODE);
                lcddisplaysstr(1 * 8, 4, "              ", NORMAL_MODE);

                dategetdate(&today);
                __datetostr(&today, date_str);

                // Older code
                /*
                __lcddisplaybmp(14 , 5, calender, CALENDER_BMP_COLS, CALENDER_BMP_ROWS, NORMAL_MODE);
                date_str[2] = '-';
                lcddisplaysstr(3 * 8, 5, date_str, NORMAL_MODE);
                lcddisplaysstr(8 * 8, 5, "-2005", NORMAL_MODE);
                */

                /*__lcddisplaybmp(7 , 6, calender, CALENDER_BMP_COLS, CALENDER_BMP_ROWS, NORMAL_MODE);
                date_str[2] = '-';
                lcddisplaysstr(2 * 8, 6, date_str, NORMAL_MODE);

                // *gotoxy(1, 1);
                // *__puts("D-");
                // *__puts(str);
                timegettime(&now);
                __timetostr(&now, time_str);

                __lcddisplaybmp(71, 6, clock, CLOCK_BMP_COLS, CLOCK_BMP_ROWS, NORMAL_MODE);
                lcddisplaysstr(10 * 8, 6, time_str, NORMAL_MODE);

                // *gotoxy(10, 1);
                // *__puts("T-");
                // *__puts(str);

                counter = 0;
        }

        counter++;
} */

⌨️ 快捷键说明

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