lcd202.c

来自「高奇公司ICD的例子,全部能用,非常好!C语言编程」· C语言 代码 · 共 103 行

C
103
字号
/*********************************************************************
*   Filename:       lcd202.c                                         *
*   Date:           10/19/2002                                       *
*   Edit by Yamato View ,Goldenchip Electronic Co. ,Ltd.             *
*                                                                    *
*   TEL: 86-0591-3375855-721                                         *
*                                                                    *
*********************************************************************/
	#include <pic.h>
	#include "lcd.h"                        
// PORTBITS 
#define PortBit(port,bit)    ((unsigned)&(port)*8+(bit))
#define RS  RA1
#define E   RA0
#define DATA PORTD

void Write_Lcd_Cmd( unsigned char cmd )     // 写命令到LCD子程序
{ 
    DATA = cmd ;          // 送高4位
    RS = 0;                                 // 设置为发送命令格式
    E = 1;                                  // 发送信号,下降沿触发
	NOP();
	NOP();
    E = 0; 
    Delay5Ms();                             //  
}


void Write_Lcd_Data( unsigned char data )   // 写数据到LCD的子程序
{
    DATA = data;         // 送高4位
    RS = 1;                                 // 设置为发送数据格式
    E = 1;                                  // 
	NOP();
	NOP();                                  //
    E = 0;                                  // set enable low
    Delay5Ms();                             //  
}

void Init_Lcd( void )                       // 初始化 LCD 显示 
{
    DATA = 0x00;                         
    TRISD = 0x00;                       
    TRISA = 0xFC;

	Delay15Ms();                            // ~15mS延时 

    DATA = 0x38; 
    RS = 0 ;                          
    E = 1;                                  
	NOP();
	NOP();
    E = 0;                                                               
    Delay5Ms(); 
    Delay15Ms();     
     

    Write_Lcd_Cmd( 0x38 );                  //                       
    Write_Lcd_Cmd( 0x0C );                  // 开显示
    Write_Lcd_Cmd( 0x06 );                  // 设置指针移动方式
    Write_Lcd_Cmd( 0x01 );                  // 清屏
//		while(1){}            
}

void Home_Clr( void )                       // 清屏 
{
    Write_Lcd_Cmd( 0x01 );
}


void Line_1( void )                        // 从第一行显示
{
    Write_Lcd_Cmd( 0x80 );
}

void Line_2( void )                         // 从第2行开始显示
{
    Write_Lcd_Cmd (0xC0 );
}



void Delay15Ms( void )                      // 精确 15ms 延时
{
	unsigned char outer, inner;
	for (outer = 45; outer > 0; outer--)
		for (inner = 235; inner > 0; inner--);
}

void Delay5Ms( void )                       // 精确 5ms 延时
{
	unsigned char outer, inner;
	for (outer = 15; outer > 0; outer--)
		for (inner = 240; inner > 0; inner--);
}


void Delay200Us( void )                     // 精确 200us 延时
{
	unsigned char delay;
		for (delay = 167; delay > 0; delay--);
}

⌨️ 快捷键说明

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