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

📄 lcd0._c

📁 长沙理工自己的实验程序
💻 _C
字号:
#include "lcd0.h"

void timeDelay(unsigned int j)                     /* 延时                  */
{
    unsigned char i;
	
	for(i = 0;i < j;i++);
}

void lcdWrite(unsigned char ucData)
{
    while ((PINE & 0x80) != 0x00);                  /* 忙等待               */
	
	DATA_H;
	PORTA = ucData;
	DATA_L;
	REQUEST_H;
	
	while((PINE & 0x80) == 0x00);                   /* 不忙                 */
}

void lcdInitiate(void)
{
    DDRB  |= 0x01;                                  /* PB0为输出            */
	PORTB &= 0xfe;                                  /* PB0输出为0           */                            
	DDRE   = 0x40;                                  /* PE6为输出            */
	PORTE  = 0xff;                                  /* PE口输出为1          */
	timeDelay(10);
}

void lcdClear(void)
{
    lcdWrite(0xf4);                                  /* 清屏                */
}

void characterDisplay(unsigned char ucX,unsigned char ucY,unsigned char *ucpData)
{   
    while (*ucpData)
    {
        lcdWrite(0xf1);                               /* 显示8*8 ASCLL 字符  */
	    lcdWrite(ucX);                                /* X坐标               */
	    lcdWrite(ucY);                                /* Y坐标               */
	    lcdWrite(*ucpData);                           
		ucpData++;
		
		if (ucX >= 19)                                /* 换行                */
		{
		    ucX = 0x04;
			ucY += 8;
		}
		else
	    {
		    ucX++;
		}
	}
}

void chineseDisplay(unsigned char ucX,unsigned char ucY,unsigned char *ucpData)
{
     
	while (*ucpData)
	{
	   lcdWrite(0xf0);                               /* 显示国标汉字         */
	   lcdWrite(ucX);
	   lcdWrite(ucY);
	   lcdWrite(*ucpData - 0xa0); 
	   ucpData++;
	   lcdWrite(*ucpData - 0xa0); 
	   ucpData++;
	   if (ucX >= 9)
	   {
	       ucX = 2;
		   ucY ++;
	   }else
	   {
	       ucX++;
	   }
    }
}
	
	

⌨️ 快捷键说明

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