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

📄 1602.c

📁 此程序用的时钟芯片为12887
💻 C
字号:
/*********************
函数名:1602显示
功能:
*********************/
#include <clock.h>


void didi() 
{
	beep=0;//分频器关
	delay(100);
	beep=1;//分频器开
	delay(200);
	beep=0;//分频器关
	delay(100);
	beep=1;//分频器开
}
void write_com(uchar com) //写命令 
{
	lcdrs=0;
	lcden=0;
	P0=com;
	delay(5);
	lcden=1;
	delay(5);
	lcden=0;	
}

void write_date(uchar date) //写数据 
{
	lcdrs=1;
	lcden=0;
	P0=date;
	delay(5);
	lcden=1;
	delay(5);
	lcden=0;	
}
void write_sfm(uchar add,uchar date)   //写时分秒
{
	uchar shi,ge;
	shi=date/10;
	ge=date%10;
	write_com(0x80+0x40+add);
	write_date(0x30+shi);
	write_date(0x30+ge);
}
void write_dmy(uchar add1,uchar date)  //写天、星期
{
    uchar shi, ge;
    shi=date/10;
    ge=date%10;
    write_com(0x80+add1);
    write_date(0x30+shi);
    write_date(0x30+ge);
}
void write_week(uchar add2,uchar date)  //写星期
{
    uchar  ge;
    ge=date%10;
    write_com(0x80+add2);
//    write_date(0x30+shi);
    write_date(0x30+ge);
}
//写地址函数
void LCD_set_rc( uchar r, uchar c )
{
    uchar address;    
    if (r == 1)
    address = 0x80 + c;//地址从第一行开始写
    else if(r == 2)
    address = 0xc0 + c;//地址从第二行开始写    
    write_com( address );
}


//写一个字符
void LCD_write_char(uchar r, uchar c, uchar date)
{
  LCD_set_rc( r, c );    //写地址
  write_date( date );	 //写数据
}

//向CGRAM写入字模数据
void write_CGRAM( uchar TAB[], uchar n )     //定义输入CGRAM的字模代码,字模的个数
{
    uchar tmp;
    uchar i;
    uchar j;
    uchar k;
    tmp = 0x40;                       //设置CGRAM地址的格式字
    k = 0;
    for( j = 0; j < n; j++)
    {
    	for(i = 0; i < 8; i++)
        {
         	write_com(tmp + i); // 设置自定义字符的 CGRAM 地址
         	write_date(TAB[k]);   // 向CGRAM写入自定义字符表的数据
        	k++;
         }
         tmp = tmp + 0x08;
     }
}

⌨️ 快捷键说明

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