LCD 显示学号姓名.pdf
LCD显示学号姓名
#includehidef.h/*forEnableInterruptsmacro*/
#includederivative.h/*includeperipheraldeclarations*/
#defineLCM_EPTBD_PTBD2
#defineLCM_RWPTBD_PTBD1
#defineLCM_RSPTBD_PTBD0
#defineLCM_DataPTED
voidLCM_WRITER(unsignedcharWDLCM);
voidLCM_COMMOND(unsignedcharWCLCM);
voiddelay(unsignedcharm);
voidLCM_INCH(void);
voiddisplayonechar(unsignedcharx,unsignedchary,unsignedcharData);
voidLCD_write_string(unsignedcharx,unsignedchary,unsignedchar*Data);
voidmain(void)
{
PTBDD=0XFF;
PTEDD=0XFF;
delay(20);
LCM_INCH();
delay(20);
EnableInterrupts;/*enableinterrupts*/
/*includeyourcodehere*/
LCD_write_string(3,0,liuguoqing);
LCD_write_string(5,1;
for(;;)
{__RESET_WATCHDOG();/*feedsthedog*/
}
}//写数据//
voidLCM_WRITER(unsignedcharWDLCM)
{
LCM_RS=1;
LCM_RW=0;
LCM_Data=WDLCM;delay(5);
LCM_E=0;
LCM_E=1;delay(5);
LCM_E=0;
}//写指令//
voidLCM_COMMOND(unsignedcharWCLCM)
{
LCM_RS=0;
LCM_RW=0;
LCM_Data=WCLCM;delay(5);
LCM_E=0;
LCM_E=1;delay(5);
LCM_E=0;
}//液晶初始化设置//
voidLCM_INCH(void)
{
LCM_Data=0;
LCM_COMMOND(0X38);
delay(3);
LCM_COMMOND(0X38);
delay(3);
LCM_COMMOND(0X08);
delay(3);
LCM_COMMOND(0X01);
delay(3);
LCM_COMMOND(0X06);
delay(3);
LCM_COMMOND(0X0C);
delay(3);
}
//列坐标X,横坐标Y//
voiddisplayonechar(unsignedcharx,unsignedchary,unsignedcharData)
{
x=0X0F;
y=0X01;
if(y)
x|=0x40;
x|=0X80;
LCM_COMMOND(x);
LCM_WRITER(Data);
}
//延时函数//
voiddelay(unsignedcharm)
{
unsignedinti;
for(;m0;m--)
{
for(i=200;i0;i--);
__RESET_WATCHDOG();
}
}
voidLCD_write_string(unsignedcharx,unsignedchary,unsignedchar*Data)
{
unsignedcharstringlenth=0;
x=0X0F;
y=0X01;
while(Data[s