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

📄 metro train.c

📁 This code it to make a metro train prototype using 8051 micron controller. It s an Embedded System p
💻 C
字号:
#include<reg52.h>

sfr M1=0x90;

sbit S2=P3^5;
sbit S1=P3^4;
sbit RS=P3^7;
sbit door=P3^0;
//sbit RW=P3^6;
sbit EN=P3^6;
void lcdData(unsigned char l);
void lcdcmd(unsigned char k);
void lcdinit(void);
void Msdelay(unsigned int value);
void initdisplay(void);
void nextstation1(void); 
void nextstation2(void);
void station1(void);
void station2(void);
void thnx(void);

void main()
{

P3=0x3E;
P1=0x00;
door=1;
lcdinit();
initdisplay();
Msdelay(1000);
nextstation1();
while(S1==1)
{
M1=0x01;
Msdelay(2);
M1=0x00;
}
M1=0x00;
station1();
Msdelay(500);
door=0;
Msdelay(1000);
door=1;
nextstation2();

while(S2==1)
{
M1=0x01;
Msdelay(2);
M1=0x00;
}
M1=0x00;
station2();
Msdelay(500);
door=0;
Msdelay(1000);
door=1;
M1=0x01;
Msdelay(200);
M1=0x00;

Msdelay(200);
}




void lcdData(unsigned char i)
{
P2=i;
RS=1;
//RW=0;
EN=1;
Msdelay(2);
EN=0;
return;
}

void lcdcmd(unsigned char k)
{
P2=k;
RS=0;
//RW=0;
EN=1;
Msdelay(2);
EN=0;
return;
}

void lcdinit(void)
{
lcdcmd(0x38);
Msdelay(10);
lcdcmd(0x0E);
Msdelay(10);
lcdcmd(0x01);
Msdelay(10);
lcdcmd(0x06);
Msdelay(10);
lcdcmd(0x80);
Msdelay(10);
return; 
}

void station1()
{
unsigned char d=0,a[]="station no:1";
lcdcmd(0x01);
lcdcmd(0x80);
while(a[d]!='\0')
{
lcdData(a[d]);
d++	;
}
}
void station2()
{
unsigned char d=0,a[]="station no:2";
lcdcmd(0x01);
lcdcmd(0x80);
while(a[d]!='\0')
{
lcdData(a[d]);
d++	;
}
}
//************************************************************ 
void nextstation1(void) 
{
unsigned char d=0,a[]="NEXT STATION IS STATION:1";
lcdcmd(0x01);
lcdcmd(0x80);
while(d!=15)
{
lcdData(a[d]);
d++	;
}
lcdcmd(0xc0);
while(a[d]!='\0')
{
lcdData(a[d]);
d++	;
}
}
//**********************************************************
void nextstation2(void) 
{
unsigned char d=0,a[]="NEXT STATION IS STATION:2";
lcdcmd(0x01);
lcdcmd(0x80);
while(d!=15)
{
lcdData(a[d]);
d++	;
}
lcdcmd(0xc0);
while(a[d]!='\0')
{
lcdData(a[d]);
d++	;
}
}
//************************************************************
void initdisplay(void)
{
unsigned char d=0,a[]="METRO TRAIN PROTOTYPE";
lcdcmd(0x01);
lcdcmd(0x80);
while(d!=11)
{
lcdData(a[d]);
d++	;
}
lcdcmd(0xc0);
while(a[d]!='\0')
{
lcdData(a[d]);
d++	;
}
}



void Msdelay(unsigned int value)
{
unsigned int x,y;
for(x=0;x<value;x++)
for(y=0;y<1275;y++);
return;
}

⌨️ 快捷键说明

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