您当前的位置: 首页 > 

txwtech

暂无认证

  • 2浏览

    0关注

    813博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

晶联讯JLX12864G-086-PC-3S LCD显示屏 C51驱动代码

txwtech 发布时间:2021-08-28 21:20:26 ,浏览量:2

晶联讯JLX12864G-086-PC-3S LCD显示屏 C51驱动代码

//7.1.2 例程:以下为串行方式显示汉字及 ASCII 字符的例程:
//液晶屏型号:JLX12864G-086-PC-3S 
//接口:串行 
//中文字库:带中文字库 IC:JLX-GB2312,竖置横排 
//驱动 IC:UC1701X(与 ST7565R 兼容) 
//主板:89C516-001 老主板 
//单片机:51 系列 
//版权所有:深圳市晶联讯电子有限公司:网址  http://www.jlxlcd.cn; 
//编程:叶建人,2013 年 10 月 11 日    


#include  
#include  


sbit lcd_sclk = P3 ^ 2;  //接口定义:lcd_sclk 就是 LCD 的 SCLK 
sbit lcd_sid = P3 ^ 1;   //接口定义:lcd_sid 就是 LCD 的 SDA 
sbit lcd_rs = P3 ^ 0;    //接口定义:lcd_rs 就是 LCD 的 RS,也叫“CD” 
sbit lcd_reset = P1 ^ 0; //接口定义:lcd_reset 就是 LCD 的 RESET 
sbit lcd_cs1 = P1 ^ 1;   //接口定义:lcd_cs1 就是 LCD 的 CS1 

sbit Rom_IN = P1 ^ 2;    //字库 IC 接口定义:Rom_IN 就是字库 IC 的 SI 
sbit Rom_OUT = P1 ^ 3;   //字库 IC 接口定义:Rom_OUT 就是字库 IC 的 SO 
sbit Rom_SCK = P1 ^ 4;   //字库 IC 接口定义:Rom_SCK 就是字库 IC 的 SCK 
sbit Rom_CS = P1 ^ 5;    //字库 IC 接口定义 Rom_CS 就是字库 IC 的 CS# 

sbit key = P2 ^ 0;  //定义一个按键 
#define uchar unsigned char  
#define uint unsigned int 
#define ulong unsigned long 

uchar code bmp1[];

uchar code jiong1[] = {//--  文字:  囧  -- 
					   //--  宋体 12;  此字体下对应的点阵为:宽 x 高=16x16   -- 
	0x00,0xFE,0x82,0x42,0xA2,0x9E,0x8A,0x82,0x86,0x8A,0xB2,0x62,0x02,0xFE,0x00,0x00,
	0x00,0x7F,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x7F,0x00,0x00 };

uchar code lei1[] = {//--  文字:  畾  -- 
					 //--  宋体 12;  此字体下对应的点阵为:宽 x 高=16x16   -- 
	0x80,0x80,0x80,0xBF,0xA5,0xA5,0xA5,0x3F,0xA5,0xA5,0xA5,0xBF,0x80,0x80,0x80,0x00,
	0x7F,0x24,0x24,0x3F,0x24,0x24,0x7F,0x00,0x7F,0x24,0x24,0x3F,0x24,0x24,0x7F,0x00 };
//延时 
void delay(int n_ms)
{
	int j, k;
	for (j = 0; j < n_ms; j++)
		for (k = 0; k < 110; k++)
			;
}
//短延时 
void delay_us(int n_us)
{
	int j, k;
	for (j = 0; j < n_us; j++)
		for (k = 0; k < 1; k++)
			;
}
//等待一个按键,我的主板是用 P2.0 与 GND 之间接一个按键 
void waitkey()
{
repeat:
	if (key == 1) goto repeat;
	else
		delay(600);
}
//写指令到 LCD 模块 
void transfer_command_lcd(int data1)
{
	char i;
	lcd_cs1 = 0;
	lcd_rs = 0;
	for (i = 0; i < 8; i++)
	{
		lcd_sclk = 0;    //delay_us(10);  //加少量延时   
		if (data1 & 0x80)
			lcd_sid = 1;
		else
			lcd_sid = 0;
		lcd_sclk = 1;   //delay_us(10);  //加少量延时    
		data1 = data1             
关注
打赏
1665060526
查看更多评论
0.0599s