#include<reg51.h> //主机发送
#include<intrins.h>
#define lcddate P0
#define unint unsigned int
#define unchar unsigned char
sbit EN=P2^0; /*使能*/
sbit RW=P2^1; /*读/写*/
sbit RS=P2^2; /*寄存器选择*/
unchar code table[7]="FM 10.6"; /*显示内容*/
unchar code table1[12]="voice*1*****";
unchar rxbuf=0;
void main()
{unchar m,n;
void lcd_init(void);
void lcd_wcom(unchar com);
void lcd_wdate(unchar date);
void ms_delay(unint delaytime);
TMOD=0X20;
PCON&=0X7F;
SCON=0xd0;
TH1=0XF0;//9600@11.0592MHZ
TL1=0xfd;
TR1=1;
ES=1;
EA=1;
lcd_init();
lcd_wcom(0x80);
for(m=0;m<7;m++)
{lcd_wdate(table[m]);}//数组做函数参数
ms_delay(1);
lcd_wcom(0x80+0x40);
for(n=0;n<12;n++)
{lcd_wdate(table1[n]);}
while(1);
}
/*-----------------------------------------------*/
void lcd_init() /*LCD intiation*/
{lcd_wcom(0x38);
lcd_wcom(0x0c);
lcd_wcom(0x06);
lcd_wcom(0x01);
}
/*--------------------------------------------*/
void lcd_wcom(unchar com)/*com regester*/
{RW=0;
RS=0;
lcddate=com;
SBUF=com;
ms_delay(1);
EN=1;
_nop_();
_nop_();
EN=0;
}
/*-----------------------------------------------*/
void lcd_wdate(unchar date)/*date regester*/
{RW=0;
RS=1;
lcddate=date;
SBUF=date;
ms_delay(1);
EN=1;
_nop_();
_nop_();
EN=0;
}
/*----------------------------------------------*/
void UART()interrupt 4 using 0//TX
{if(TI){
ms_delay(1);
TI=0;}//发送数据
}
/*接收端*/
#include<reg51.h>
#include<intrins.h>
#define unint unsigned int
#define unchar unsigned char
#define lcddate P2
sbit EN=P3^7; /*使能*/
sbit RW=P3^6; /*读/写*/
sbit RS=P3^5; /*寄存器选择*/
unchar rxbuf=0;
void main()
{
void lcd_init(void);
void lcd_wcom(unchar com);
void lcd_wdate(unchar date);
void ms_delay(unint delaytime);
TMOD=0X20;
PCON&=0X7F;
SCON=0xd0;
TH1=0Xfd;//9600@11.0592MHZ
TL1=0xfd;
TR1=1;
ES=1;
EA=1;
RI=1;
while(1);
}
/*----------------------------------------------*/
void UART()interrupt 4
{ unchar m=0;
while(RI){RI=0; //先请中断标志 ??
lcd_init();
m++;
if (m<=7)
{rxbuf=SBUF;
lcd_wcom(0x80);
lcd_wdate(rxbuf);}
else{
lcd_wcom(0xc0);
rxbuf=SBUF;
lcd_wdate(rxbuf);}
}
}
/*-----------------------------------------------*/
void lcd_init() /*LCD intiation*/
{lcd_wcom(0x38); //八位数据,双列
lcd_wcom(0x0c);
lcd_wcom(0x06);
lcd_wcom(0x01);
}
/*--------------------------------------------*/
void lcd_wcom(unchar com)/*com regester*/
{RW=0;
RS=0;
lcddate=com;
ms_delay(1);
EN=1;
_nop_();
_nop_();
EN=0;
}
/*-----------------------------------------------*/
void lcd_wdate(unchar date)/*date regester*/
{
RW=0;
RS=1;
lcddate=date;//date 是否还需申明呢?
ms_delay(1);
EN=1;
_nop_();
_nop_();
EN=0;
}
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |