微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > PIC16F877单片机驱动1602液晶屏的数字时钟程序

PIC16F877单片机驱动1602液晶屏的数字时钟程序

时间:11-29 来源:互联网 点击:

char y,uchar gdata)

* 函数功能: 指定位置显示字符

* 入口参数: x-起始地址横坐标,y-起始地址纵坐标,gdata-要显示的字符

* 返 回: 无

*******************************************************************************/

/*-----------指定位置显示字符-------------*/

void DispChar_XY_1602(uchar x,uchar y,uchar gdata)

{

uchar gaddress;

if(!y)

{ gaddress=0x80+x; }

else

{ gaddress=0xc0+x; }

Write_1602_command(gaddress,1); //设定数据地址

Write_1602_data(gdata);

}

/*-----------指定位置显示数字-------------*/

void DispNum_XY_1602(uchar x,uchar y,uchar gdata)

{

uchar gaddress;

if(!y)

{ gaddress=0x80+x; }

else

{ gaddress=0xc0+x; }

Write_1602_command(gaddress,1); //设定数据地址

Write_1602_data(gdata+0x30);

}

/*-----------清屏-------------*/

void Clear_Display(void)

{

Write_1602_command(0x01,1);

Delay_Ms(5);

}

void Open_Disp(void)

{

Write_1602_command(0x0c,1);

}

void Close_Disp(void)

{

Write_1602_command(0x08,1);

}

/*-----------显示光标-------------*/

void Display_Cursor(void)

{

Write_1602_command(0x06,1); //显示光标右移位置、检测忙信号

Write_1602_command(0x0D,1); //显示功能开、无光标

}

/*-----------1602端口初始化-------------*/

void Port_1602_Init(void)

{

ADCON1 = 0x87;//设置PORTA为普通IO口

TRISA0 = 0;

TRISA1 = 0;

TRISA2 = 0;

TRISC = 0x00;//设置PORTC为输出

}

Display.h:

#ifndef __Display_H__

#define __Display_H__

#define uchar unsigned char

#define uint unsigned int

#define TESTBIT(a,b) ((a)&(1<(b)))

#defineLCD_RSRA0

#defineLCD_RWRA1

#defineLCD_EN RA2

/************************声明函数*********************************************/

uchar Chk_1602_busy(void);

void Write_1602_command(uchar gcmd,uchar gvalue);

void Write_1602_data(uchar gdata);

void INIT_1602(void);

void Display_1602_string(uchar gadd_start,uchar gline,uchar glength,uchar *pdata);

void DispChar_XY_1602(uchar x,uchar y,uchar gdata);

void DispNum_XY_1602(uchar x,uchar y,uchar gdata);

void Clear_Display(void);

void Open_Disp(void);

void Close_Disp(void);

void Display_Cursor(void);

void Port_1602_Init(void);

#endif

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top