📄 lcd1602.c
字号:
#include <pic.h>
#define uchar unsigned char
#define uint unsigned int
#define RS RB0
#define RW RB1
#define E RB2
uchar table[]="yinbo made";
uchar table1[]="PIC16f877";
uchar table2[]="LCD1602:";
void init_pic()
{
TRISB=0X00;
TRISD=0X00;
}
//**********延时函数*************/
void delay_a(uchar z)
{
uint i,j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
/********************************************************************\
|* 函 数 名: write_command(uchar tempdata) *|
|* 功能描述: 将数据码写入LCD数据寄存器 *|
\********************************************************************/
void write_command(uchar tempdata)
{
RW=0;
RS=0; //RS=0/RW=0 时写指令;
delay_a(5);
PORTD=tempdata;
delay_a(5);
E=1;
delay_a(5);
E=0;
}
/********************************************************************\
|* 函 数 名: void write_data(uchar tempdata) *|
|* 功能描述: 写LCD1602使能程序 *|
\********************************************************************/
void write_data(uchar tempdata)
{
RW=0;
RS=1; //RS=1/RW=0 时写数据;
delay_a(5);
PORTD=tempdata;
delay_a(5);
E=1;
delay_a(5);
E=0;
}
void init_LCD(void)
{
write_command(0x38); // lcd为两行显示8位数据线有效
write_command(0x0c); // 显示字符 关闭光标
write_command(0x06); // 输入方式设置 光标向右移动一位 ac-1
}
void write_sfm(uchar hang,uchar lie,uchar date) //*定义变量数字显示位置*/
{
uchar shi,ge;
shi=date/10;
ge=date%10;
if(hang==0) //第一行
{
write_command(0x80+lie);
write_data(0x30+shi);
write_data(0x30+ge);
}
else //第二行
{
write_command(0x80+0x40+lie);
write_data(0x30+shi);
write_data(0x30+ge);
}
}
void zifu_disp()
{
uchar i;
write_command(0x80+0x03);//第1行第3列:(0x00------0x0F)+0x80;
for(i=0;i<10;i++)
{
write_data(table[i]);
delay_a(5);
}
write_command(0x80+0x40);//第2行第1列
{
for(i=0;i<9;i++)
{
write_data(table1[i]);
delay_a(5);
}
}
write_command(0x80+0x49);//第2行第9列:(0x40-------0x4F)+0x80;
for(i=0;i<7;i++)
{
write_data(table2[i]);
delay_a(5);
}
}
//*************硬件测试用的主函数*******************/
void main()
{
init_pic();
init_LCD();
while(1)
{
//write_sfm(0,5,90);//第一行第二列开始显示变量数字;
//write_sfm(0,14,19);//第二行第一列开始显示变量数字;
zifu_disp();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -