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

📄 challan system.c

📁 This code it to make RFID based Challan System using 8051 micron controller. It s an Embedded Syste
💻 C
字号:
#include<reg51.h>

sbit RS=P3^7;
sbit EN=P3^6;

void Rxmsg(void);
void lcdinit(void);
void lcdData(unsigned char l);
void lcdcmd(unsigned char k);
void DelayMs(unsigned int count); 
void sucessRx(void);
void unknown(void);

void main()
{
unsigned char i=0;
unsigned int j=0;
unsigned char c[70];

TMOD=0x20;
TH1=0xFD;
SCON=0X50;
TR1=1;

lcdinit();

while(1)
{
back:

for(i=0;i<70;i++)			  //command to recv data
{
c[i]=0xFF;
}

while(RI==0);

for(i=0;i<65;i++)			  //command to recv data
{
j=0;
while(RI==0)
{
if(j>=1000)
goto timeout;
//DelayMs(1);
j++;
}
c[i]=SBUF;
RI=0;
//lcdData(c[i]);
}

timeout:
for(i=0;i<80;i++)
{
if(c[i]=='0' && c[i+1]=='0' && c[i+2]=='B' && c[i+3]=='7' && c[i+4]=='6' && c[i+5]=='7' && c[i+6]=='2' && c[i+7]=='A')
{
sucessRx();
goto back;
}
}
unknown();
}
}

void sucessRx()
{
unsigned int i=0;
unsigned char c[]="your welcome";

lcdcmd(0x01);
DelayMs(10);
lcdcmd(0x80);
DelayMs(10);

while(c[i]!='\0')
{
lcdData(c[i]);
i++;
}
}

void unknown(void)
{
unsigned int i=0;
unsigned char c[]="unknown person";

lcdcmd(0x01);
DelayMs(10);
lcdcmd(0x80);
DelayMs(10);

while(c[i]!='\0')
{
lcdData(c[i]);
i++;
}
}

//---------------------------------------
// Lcd initialization subroutine
//---------------------------------------
void lcdinit(void)
{
lcdcmd(0x38);
DelayMs(250);
lcdcmd(0x0E);
DelayMs(250);
lcdcmd(0x01);
DelayMs(250);
lcdcmd(0x06);
DelayMs(250);
lcdcmd(0x80);
DelayMs(250);
}

//---------------------------------------
// Lcd data display
//---------------------------------------
void lcdData(unsigned char l)
{
P2=l;
RS=1;
EN=1;
DelayMs(1);
EN=0;
return;
}

//---------------------------------------
// Lcd command
//---------------------------------------
void lcdcmd(unsigned char k)
{
P2=k;
RS=0;
EN=1;
DelayMs(1);
EN=0;
return;
}			   

//---------------------------------------
// Delay mS function
//---------------------------------------
void DelayMs(unsigned int count) 
{  // mSec Delay 11.0592 Mhz 
    unsigned int i;		      // Keil v7.5a 
    while(count) {
        i = 115; 			 // 115	exact value
		while(i>0) 
		i--;
        count--;
    }
}

⌨️ 快捷键说明

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