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

📄 12864.c

📁 ARM7 12864液晶 test source code
💻 C
字号:
/****************************************************************************/
/*
    文 件 名: 12864.c
    说	  明: 12864驱动程序
    作    者: 郭天祥
    日	  期: 2008.9
*/
/*****************************************************************************/

#include "..\inc\12864.h"
#include "..\inc\sysUtils.h"


//总线地址声明
volatile U8 * LCD12864_MAdd = (volatile U8 *)(0x6000000);
#define LCD12864_WR_H() rPDATC|=0x01;
#define LCD12864_WR_L() rPDATC&=~0x01;

void lcd_wcmd(U8 cmd);
void lcd_wdat(U8 dat);
void lcd_init(void);
void lcd_pos(U8 X,U8 Y);

static U8 dis1[] = {"天祥电子"};
static U8 dis2[] = {"www.txmcu.com"};
static U8 dis3[] = {"TX-1C 学习板 "};
static U8 dis4[] = {"是您最好的选择! "};

U8 IRDIS[2];
U8 IRCOM[4];

/*******************************************************************/
/*                                                                 */
/*写指令数据到LCD                                                  */
/*RS=L,RW=L,E=高脉冲,D0-D7=指令码。                             */
/*                                                                 */
/*******************************************************************/
void lcd_wcmd(U8 cmd)
{   
	sysUtilsUSecDelay(150000);                       
	LCD12864_WR_L();
	* LCD12864_MAdd=cmd;
	sysUtilsUSecDelay(15000);
}
/*******************************************************************/
/*                                                                 */
/*写显示数据到LCD                                                  */
/*RS=H,RW=L,E=高脉冲,D0-D7=数据。                               */
/*                                                                 */
/*******************************************************************/
void lcd_wdat(U8 dat)
{  
	sysUtilsUSecDelay(150000);                        
	LCD12864_WR_H();
	* LCD12864_MAdd=dat;
	sysUtilsUSecDelay(15000);
}
/*******************************************************************/
/*                                                                 */
/*  LCD初始化设定                                                  */
/*                                                                 */
/*******************************************************************/
void lcd_init(void)
{ 
	//LCD_PSB = 1;          //并口方式  
	lcd_wcmd(0x34);         //扩充指令操作
	sysUtilsUSecDelay(5000);/*delay(5);*/
	lcd_wcmd(0x30);         //基本指令操作
	sysUtilsUSecDelay(5000);/*delay(5);*/
	lcd_wcmd(0x0C);         //显示开,关光标
	sysUtilsUSecDelay(5000);/*delay(5);*/
	lcd_wcmd(0x01);         //清除LCD的显示内容
	sysUtilsUSecDelay(5000);/*delay(5);*/
}
/*********************************************************
函数:void LCD12864_Test(void)
功能:LCD12864测试程序
*********************************************************/
void LCD12864_Test(void)
{
    U8 i;
    sysUtilsUSecDelay(5000);/*delay(10);*/                 //延时
    lcd_init();                //初始化LCD             
    lcd_pos(0,0);              //设置显示位置为第一行的第1个字符
    i = 0;
    
    while(dis1[i] != '\0')
    {                         //显示字符
    	lcd_wdat(dis1[i]);
    	i++;
    }
    
    lcd_pos(1,0);             //设置显示位置为第二行的第1个字符
    i = 0;
    while(dis2[i] != '\0')
    {
    	lcd_wdat(dis2[i]);      //显示字符
    	i++;
    }
 	
 	lcd_pos(2,0);             //设置显示位置为第三行的第1个字符
    i = 0;
    while(dis3[i] != '\0')
    {
        lcd_wdat(dis3[i]);      //显示字符
        i++;
    }
	
	lcd_pos(3,0);             //设置显示位置为第四行的第1个字符
    i = 0;
    while(dis4[i] != '\0')
    {
        lcd_wdat(dis4[i]);      //显示字符
        i++;
    }
}

/*********************************************************/
/*                                                       */
/* 设定显示位置                                          */
/*                                                       */
/*********************************************************/
void lcd_pos(U8 X,U8 Y)
{                          
   U8  pos;
   if (X==0)
     {X=0x80;}
   else if (X==1)
     {X=0x90;}
   else if (X==2)
     {X=0x88;}
   else if (X==3)
     {X=0x98;}
   pos = X+Y ;  
   lcd_wcmd(pos);     //显示地址
}

⌨️ 快捷键说明

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