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

📄 lcd_drv.c

📁 这是一款MP3播放器的源代码
💻 C
字号:
//液晶RT12232F显示程序

/*******************************************************************
**名称:12232F.c
**功能:RT12232F液晶显示(并行方式)

使用这款LCD应该要注意的问题:
  1、J2的设置:
  在线路板上,有一焊接处,标有J2,共3个焊点。使用并行方式,连接上2个焊点。
  使用串行方式,连接下2个焊点(默认)。
  2、一定要在VO与VDD及VSS这三个脚间接一个20K的电位器,
  电位器的中间脚接VO,其它二脚接VDD和VSS。 
  然后调节电位器的大小,直到有显示为止。若是不接的话, 
  显示器可能是一片黑暗,什么也没有显示,发命令也没有反 
  3、VDD用3.3V可以,只是对比度差点,但此时是1脚和3脚之间接一个可调电阻。
  VDD用5V还没有试验!!!
**编写人:ywt
**时间:2005年11月21日
**说明:每行显示7.5个汉字,共15个汉字
*******************************************************************/
//#include <REGSND1.H>
//#include <regx51.h>
#include "config.h"                           /* system configuration */
#include "lcd_drv.h" 

//#include <intrins.h>
//typedef unsigned char Byte;
//typedef unsigned int  Uint16;

//Byte ucBuffer;
#define    RS    P5_3
#define    RW    P4_0
#define    E     P4_1

void Delay(void)
{
      Byte i,j;
      for(i=0x0ff;i>0;i--)
        for(j=0x0ff;j>0;j--);
}


/*************************写控制指令***************************/                                    
void Write_Command(Byte ucCommand) //按时序操作
{
    Delay();                    //INSTEAD OF CHECKING BF STATE
	RS=0;
	RS=0;                       //WRITE COMMANDS TO ST7920
	RW=0;
    RW=0;
	P0=ucCommand;
    E=1;
	E=1;
	Delay();
	E=0;
	E=0;
}

/************************写数据*********************************/
void Write_Data(Byte ucData)
{        
    Delay();                    //INSTEAD OF CHECKING BF STATE
	RS=1;
	RS=1;                       //WRITE DISPLAY DATAS TO ST79220
	RW=0;
    RW=0;
	P0=ucData;
    E=1;
	E=1;
	Delay();
	E=0;
	E=0;
}

/***********************写汉字到LCD的指定位置**************/
void Lcd_Display(Byte x_data,Byte data1,Byte data2)
//x_data--RAM地址,data1--汉字编码高8位,data2--汉字编码低8位
{
        Write_Command(x_data);              //指定显示地址
        Write_Data(data1);                  //汉字编码高8位
        Write_Data(data2);                  //汉字编码低8位
}

/**********************LCD初始化********************************/
void Lcd_Initial()
{
        Delay();//延时40MS
        Write_Command(0x30);      //功能设定:8位数据,基本指令30
        Write_Command(0x06);      //点设定:画面右移
        Write_Command(0x0c);      //lcd开,光标关
        Write_Command(0x01);      //清屏
        Write_Command(0x02);      //地址归位
}
/************************main**********************************/
/*
void  main()
{
        Lcd_Initial();
        Write_Command(0x80);//设定DDRAM起始地址
                 //汉字显示
        Lcd_Display(0x80,0xb1,0xb4);//贝
        Lcd_Display(0x81,0xb1,0xb4);//贝
        Lcd_Display(0x82,0xa3,0xac);//,
        Lcd_Display(0x83,0xb1,0xb4);//贝
        Lcd_Display(0x84,0xb1,0xb4);//贝
        Lcd_Display(0x90,0xce,0xd2);//我
        Lcd_Display(0x91,0xb0,0xae);//爱
        Lcd_Display(0x92,0xc4,0xe3);//你
        Lcd_Display(0x93,0xa3,0xa1);//!
        Lcd_Display(0x94,0xa3,0xa1);//!
        Lcd_Display(0x95,0xa3,0xa1);//!
       // Lcd_Display(0x95,0xa3,0xd6);//v
       // Lcd_Display(0x96,0xa3,0xc5);//e
/*        Lcd_Display(0x80,0xc4,0xcf);
        Lcd_Display(0x81,0xd1,0xf4);
        Lcd_Display(0x82,0xc0,0xed);
        Lcd_Display(0x83,0xb9,0xa4);
        Lcd_Display(0x84,0xd1,0xa7);
        Lcd_Display(0x85,0xd4,0xba);
        Lcd_Display(0x90,0xc0,0xee);
        Lcd_Display(0x91,0xcf,0xdc);
        Lcd_Display(0x92,0xc0,0xa4);
        Lcd_Display(0x93,0xa3,0xcc);//l
        Lcd_Display(0x94,0xa3,0xcf);//o
        Lcd_Display(0x95,0xa3,0xd6);//v
        Lcd_Display(0x96,0xa3,0xc5);//e*/
        
//}

⌨️ 快捷键说明

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