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

📄 12864_chuankou_drive.h

📁 数显温度万年历
💻 H
字号:
#include<iom8v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int
#define CS_0 PORTD&=~(1<<PDD4)                                         //片选RS
#define CS_1 PORTD|=(1<<PD4)
#define SID_0 PORTD&=~(1<<PD5)                                         //数据 RW
#define SID_1 PORTD|=(1<<PD5)                       
#define SCLK_0 PORTD&=~(1<<PD6)                                        //时钟 E
#define SCLK_1 PORTD|=(1<<PD6)
#define RST_0 PORTD&=~(1<<PD7)                                         //复位  RST
#define RST_1 PORTD|=(1<<PD7)            
/**********************函数声明***************************************/
void delay_us(int t);
void delay_ms(unsigned int t);
void send_byte(uchar bbyte);
void lcd_wcmd(uchar cmd);
void lcd_wdat(uchar dat);
//*******************延时 us 8****************************************
void delay_us(int t)
{
do
   t--;
while(t>1);
}
//*******************延时  ms *****************************************
void delay_ms(unsigned int t)
{
while(t!=0)
{
delay_us(1142);
t--;}
}
/*********************发送1字节函数****************************/
void send_byte(uchar bbyte)
{
    uchar i;
	for(i=0;i<8;i++)
	{
        if(bbyte&0X80)
		    {SID_1;}
		else 
			{SID_0;}
		SCLK_1;
		SCLK_0;
		bbyte<<=1;	
	}
}
/************************写命令函数**********************************/
void lcd_wcmd(uchar cmd)
{
    uchar star_data,Hdata,Ldata;
	star_data=0XF8;
	Hdata=cmd&0XF0;
	Ldata=(cmd<<4)&0XF0;
	send_byte(star_data);
	delay_us(1);
	send_byte(Hdata);
	delay_us(1);
    send_byte(Ldata);
	delay_us(1);
}
/**************************写数据函数***************************************/
void lcd_wdat(uchar dat)
{
    uchar star_data,Hdata,Ldata;
	star_data=0XFA;
	Hdata=dat&0XF0;
	Ldata=(dat<<4)&0XF0;
	send_byte(star_data);
	delay_us(1);
	send_byte(Hdata);
	delay_us(1);
    send_byte(Ldata);
	delay_us(1);
	
}
/**************************初始化函数*************************************/
void lcd_init(void)
{
    //PSB_0;
	RST_0;
	delay_ms(3);
    RST_1;
	delay_ms(3);
	CS_1;
	lcd_wcmd(0X34);
	delay_ms(5);
	lcd_wcmd(0X30);
	delay_ms(5);
	lcd_wcmd(0X0C);
	delay_ms(5);
	lcd_wcmd(0X01);
	delay_ms(5);
	
}
/********************清屏*********************/
void lcd_clr(void)
{
    lcd_wcmd(0X01);
	delay_ms(5);
}
/********************位置定义***********************/
void locatexy(uchar x,uchar y)
{
    if(y==0){lcd_wcmd(0X80+x);}
	else if(y==1){lcd_wcmd(0X90+x);}
	else if(y==2){lcd_wcmd(0X88+x);}
	else if(y==3){lcd_wcmd(0X98+x);}
}
/********************显示内容***********************/
void lcd_write_str(uchar x,uchar y,uchar *s)
{
    locatexy(x,y);
	while(*s)
	{
	    lcd_wdat(*s);
		s++;
	}
}



⌨️ 快捷键说明

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