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

📄 lcd.c

📁 一个单片机80c51数字时钟设计
💻 C
字号:
#include "ports.h"
#include "lcd.h"

bit_8 code *intro[]={" Digi clock by:"," Ajay Bhargav "};
bit_8 code cgram[]={0x4,0xe,0xe,0xe,0x1f,0x0,0x4,0x0,0x1,0x3,0xf,0xf,0xf,0x3,0x1,0x0,0x8,0x10,0x0,0x18,0x0,0x10,0x8,0x0,0x0,0xe,0x15,0x17,0x11,0xe,0x0,0x0,0x0,0x1,0x3,0x16,0x1c,0x8,0x0,0x0,0xa,0x1f,0x1f,0x1f,0xe,0x4,0x0,0x0,0x2,0x3,0x2,0x0e,0x1e,0x0c,0x0,0x0};

void busy()
{
	D7=1;
	rs=0;
	rw=1;
	while(D7!=0)
	{
		en=0;
		en=1;
	}
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**** Writing command to LCD ****
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

void wrt_cmd(bit_8 val_lcd)
{
	busy();
	lcd_port=val_lcd;
	rs=0;
	rw=0;
	en=1;
	en=0;
}

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~
**** Writing data on LCD ****
~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

void wrt_data(bit_8 *string)
{
	bit_8 i;
	for(i=0;string[i]!='\0';i++)
		wrt_byte(string[i]);
}

void wrt_byte(bit_8 value)
{
	busy();
	lcd_port=value;
	rs=1;
	rw=0;
	en=1;
	en=0;
}

void LCD_INI(void)
{
	wrt_cmd(0X38);
	wrt_cmd(0X0C);
	wrt_cmd(0X01);
	wrt_cmd(0X06);
}

void build_ram()
{
	bit_8 i;
	wrt_cmd(0x40);
	for(i=0;i<56;i++)
		wrt_byte(cgram[i]);
}

void disp_intro()
{
	bit_8 i;
	bit_16 j;
	wrt_cmd(0x80);
	wrt_byte(CLOCK);
	wrt_data(intro[0]);
	for(i=0x3;i>0;i--)
		for(j=0xffff;j>0;j--);
	wrt_cmd(0x80);
	wrt_byte(HEART);
	wrt_data(intro[1]);
	wrt_byte(HEART);
	for(i=0x3;i>0;i--)
		for(j=0xffff;j>0;j--);
}

⌨️ 快捷键说明

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