Code Code description table CODE 04010 VER INDEX Attribute ...
Code
-
Upload
izaz-rahman -
Category
Science
-
view
89 -
download
0
Transcript of Code
![Page 1: Code](https://reader035.fdocuments.us/reader035/viewer/2022081909/58ee80081a28ab9e0e8b466b/html5/thumbnails/1.jpg)
#include #include<string.h> #include "lcd_display4bit.h"
#define TOTAL 5
void serial_init(); void serial_txS(char *); void serial_tx(char); void checkID(); void printOnTerminal(); short int checkTodaysAttd(int);
sbit ON=P1^0; sbit RESET=P1^1; sbit result=P1^2; sbit IR_Tx=P1^3; sbit IR_Rx=P1^4; sbit Reset_Todays_Attendence=P1^5; struct details { char *name; char id[4]; int count; }emp[TOTAL]={{"phanindra", "437p", 0}, {"nayak", "455n", 0}, {"anilKumar", "414a", 0}, {"gowtham", "456g", 0}, {"chaitu", "449c", 0}};
char recieved_id[4]={0}; int i, no_of_stu=0, todays_count=0; int todays_ids[4]={0}; short int access=0, gotID=0;
void serial() interrupt 4 { EA=0; for(i=0;i<4;i++) { while(RI==0); recieved_id[i]=SBUF; RI=0; } gotID=1; EA=1; }
//***********************************------ void main() { ON=RESET=result=1; rs=en=0; P2=0x00; IR_Rx=1;
![Page 2: Code](https://reader035.fdocuments.us/reader035/viewer/2022081909/58ee80081a28ab9e0e8b466b/html5/thumbnails/2.jpg)
IR_Tx=0; EA=1; ES=1; serial_init(); lcd_init();
super: while(1) { IR_Tx=0; lcd_cmd(0x01);
while(!ON) { lcd_cmd(0x01); IR_Tx=1; while(!(IR_Rx==1)) { lcd_cmd(0x01); lcd_dataS("ID please"); while(gotID==0) //wait until any card is shown if(ON==1) goto super; checkID(); } } ///////////////////////// while(!result) { for(i=0;i<=TOTAL;i++) { lcd_cmd(0x01); lcd_dataS(emp[i].name); lcd_cmd(0xc0); lcd_data_int(emp[i].count); delay_msec(500); } } ////////////////////////
while(! Reset_Todays_Attendence) { for(i=0;i'\0';
todays_count=0; lcd_cmd(0x01); lcd_dataS("todays attd rst"); delay_msec(100); } /////////////////////// } //end of super loop } //end of main
//*************************************
![Page 3: Code](https://reader035.fdocuments.us/reader035/viewer/2022081909/58ee80081a28ab9e0e8b466b/html5/thumbnails/3.jpg)
void checkID(){ access=0; //like a flag lcd_dataS(recieved_id); for(i=0;iif(( strcmp(emp[i].id , recieved_id) )==0) { if(checkTodaysAttd(i)) { access=1; lcd_cmd(0x01); lcd_dataS("welcome"); lcd_cmd(0xc0); lcd_dataS(emp[i].name); emp[i].count++;
todays_ids[todays_count]=i+1; todays_count++;
delay_msec(400); printOnTerminal(); gotID=0; break; } else { lcd_cmd(0x01); lcd_dataS("your turns over"); gotID=0; delay_msec(400); } } }
if(access==0) { lcd_cmd(0x01); lcd_dataS("access denied"); delay_msec(100); gotID=0; } }
short int checkTodaysAttd(int id){ short int d; for(d=0;dif(id==(todays_ids[d]-1)) return 0; //return 0 if specific ID has already been } //counted for today. return 1;}
void printOnTerminal(){ EA=0; serial_tx('\r');
![Page 4: Code](https://reader035.fdocuments.us/reader035/viewer/2022081909/58ee80081a28ab9e0e8b466b/html5/thumbnails/4.jpg)
serial_tx('\n'); serial_txS(emp[i].name); serial_tx(' '); serial_txS(emp[i].id); serial_tx(' '); serial_tx(emp[i].count+48); EA=1;}
void serial_init(){ TMOD=0x20; TH1=0xfd; SCON=0x50; TR1=1;}
void serial_txS(char *p){ while((*p)!='\0') { SBUF=*p; while(TI==0); TI=0; p++; }}
void serial_tx(char x){ SBUF=x; while(TI==0); TI=0;}