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

📄 lcd.c

📁 Code C Serial with AT89s52
💻 C
字号:
#include "AT89X52.H"
#include "LCD.h"

#define LCD_DELAY 30  //CHU Y KHONG DC DE LCD_delay re nham voi han LCD_delay
#define LCD_en	P0_3
#define LCD_rs  P0_2


void delayms2(unsigned char time)
{
	unsigned int j;
	unsigned char i;
	for (i=0;i<time;i++)
		for (j=0;j<1200;j++);
}
//Ham tre cho LCD
void LCD_delay()
{
	unsigned char n;
	for(n=0;n<LCD_DELAY;n++);    
}

//Ham cho phep hien thi len LCD
void LCD_enable()
{
	LCD_en = 0;
    LCD_delay();
    LCD_en = 1; 
    LCD_delay();
	LCD_en = 0;
}

//ham xoa man hinh
void LCD_clr()
{
	LCD_command(0x01);
	delayms2(5);
}

//ham dua lenh len lcd
void LCD_command(unsigned char command)
{
    LCD_rs = 0;
    P0 = (P0 & 0x0F)|((command) & 0xF0);// P0 = (P0 & 0xF0)|((command>>4) & 0x0F);
    LCD_enable();
    P0 = (P0 & 0x0F)|(command<<4 & 0xF0);//P0 = (P0 & 0xF0)|(command & 0x0F);
    LCD_enable();
    LCD_delay();
}

//Ham viet ky tu len lcd
void LCD_putc(unsigned char ascii)
{
    LCD_rs = 1;
    P0 = (P0 & 0x0F)|((ascii) & 0xF0);//P0 = (P0 & 0xF0)|((ascii>>4) & 0x0F);
    LCD_enable();
    P0 = (P0 & 0x0F)|(ascii<<4 & 0xF0);//P0 = (P0 & 0xF0)|(ascii & 0x0F);
    LCD_enable();
    LCD_delay();
}

//Ham viet xau ky tu len lcd
void LCD_puts(unsigned char *lcd_string)
{
	while (*lcd_string) 
	{
		LCD_putc(*lcd_string++);
	}
}

//Ham khoi tao LCD
void LCD_init()
{
    LCD_command(0x28);  //dung 4 duong du lieu,hien thi 2 dong do phan giai 5x7
	delayms2(1);
    LCD_command(0x0C);  //che do hien thi ko gach chan,con tro ko nhap nhay 
	delayms2(1);
    LCD_command(0x06);
	delayms2(1);
    LCD_command(0x01);   //Lenh xoa man hinh
	delayms2(1);
}

//Ham dat con tro LCD vao vi tri mong muon
void LCD_row(unsigned char hang,unsigned char cot)
{ 
    char hangcot=0;
	if(hang==1)
	{
		hangcot=0x80|cot;	
		LCD_command(hangcot);
	}
	if(hang==2)
	{
		hangcot=0xc0|cot;
	    LCD_command(hangcot);
	}
}
//ham hien thi mot so  integer len lcd
/*void display_int(int number)
{
	int n1,n2,n3,n4,n22,n11;
	n1=number/1000;         //chia lay phan nguyen
	n11=number%1000;    //chhia lay phan du

	n2=n11/100;
	n22=n11%100;	

	n3=n22/10;

	n4=n22%10;

	if((n1==0)&&(n2==0)&&(n3==0))
		LCD_putc(n4+48);
	else if((n1==0)&&(n2==0))
	{
		LCD_putc(n3+48);    //n3+48 la chuyen tu so n2 thanh ky tu so n2
		LCD_putc(n4+48);
	}
	else if(n1==0)
	{
	    LCD_putc(n2+48);
		LCD_putc(n3+48);
		LCD_putc(n4+48);
	}
	else
	{
		LCD_putc(n1+48);
		LCD_putc(n2+48);
		LCD_putc(n3+48);
		LCD_putc(n4+48);
	}

}*/

//ham hien thi mot so  integer len lcd
void display_int(int number)
{
	int n1,n2;
	n1=number/10;         //chia lay phan nguyen
	n2=number%10;    //chhia lay phan du

		LCD_putc(n1+48);
		LCD_putc(n2+48);

}

⌨️ 快捷键说明

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