lcd19264驱动程序

19264,是液晶模组的分辨率,也就是有192*64个点,是点阵液晶。液晶模组的亮度可能会由于ccfl引线对金属壳的耦合分流而受到影响。逆变器的设计应该充分考虑这部分的漏电。有必要全面评估液晶模组和逆变器安装在主机设备中的情况,确保达到亮度要求。
lcd19264驱动程序 #include “public.h”
#define fisrt 01
#define second 02
#define third 03
/*定义lcd控制端口*/
sbit lcd_rs = p0^7;
sbit lcd_rw = p0^6;
sbit lcd_ce = p0^5;
sbit lcd_csa = p0^4;
sbit lcd_rest = p0^3;
sbit lcd_csb = p0^2;
sbit lcd_csc = p0^1;
#define data_bus p2
/*******************************************************************
函数功能说明:判断lcd忙函数
1、
2、
3、
*******************************************************************/
void read_busy(unsigned char area)
{
unsigned char temp = 0;
do
{
lcd_ce = 0;
lcd_rw = 1;
lcd_rs = 0;
switch(area)
{
case fisrt:
lcd_csa = 0;
break;
case second:
lcd_csb = 0;
break; case third:
lcd_csc = 0;
break; default:break;
}
_nop_();
lcd_ce = 1;
_nop_();
temp = data_bus;
lcd_ce = 0;
lcd_rw = 0;
switch(area)
{
case fisrt:
lcd_csa = 1;
break;
case second:
lcd_csb = 1;
break; case third:
lcd_csc = 1;
break;
default:break;
}
lcd_ce = 1;
}while(temp&0x80);
}
/*******************************************************************
函数功能说明: 设置坐标
1、 液晶分为三个区 a、b、c
2、 设置每个区的坐标
3、 送坐标到总线上
*******************************************************************/
void set_locatexy(unsigned char x_add,unsigned char y_add)
{
switch(x_add&0xc0)
{
case 0x00:
write_command(fisrt,x_add&0x3f)
break;
case 0x40:
break;
case 0x80:
break;
default:break;
}
}
/*******************************************************************
函数功能说明: 写数据
1、 液晶分为三个区 a、b、c
2、 设置每个区的片选信号
3、 送数据到总线上
*******************************************************************/
void write_data(unsigned char area_num,unsigned char lcd_data)
{
read_busy(area_num);
lcd_ce = 0;
/*写入到lcm*/
lcd_rw = 0;
lcd_rs = 1; //数据
switch(area_num)
{
case fisrt:
lcd_csa = 0;
break;
case second:
lcd_csb = 0;
break; case third:
lcd_csc = 0;
break;
default:break;
}
_nop_();
lcd_ce = 1;
_nop_();
data_bus = lcd_data;
_nop_();
_nop_();
lcd_ce = 0;
lcd_rw = 1;
switch(area_num)
{
case fisrt:
lcd_csa = 1;
break;
case second:
lcd_csb = 1;
break;
case third:
lcd_csc = 1;
break;
default:break;
}
lcd_ce = 1;
}
/*******************************************************************
函数功能说明: 写命令
1、 液晶分为三个区 a、b、c
2、 设置每个区的片选信号
3、 送命令到总线上
*******************************************************************/
void write_command(unsigned char area_num,unsigned char lcd_command)
{
read_busy(area_num);
lcd_ce = 0; /*写入到lcm*/
lcd_rw = 0;
lcd_rs = 0; //指 令
switch(area_num)
{
case fisrt:
lcd_csa = 0;
break;
case second:
lcd_csb = 0;
break;
case third:
lcd_csc = 0;
break;
default:break;
}
_nop_();
lcd_ce = 1;
_nop_();
data_bus = lcd_command;
_nop_();
_nop_();
lcd_ce = 0;
lcd_rw = 1;
switch(area_num)
{
case fisrt:
lcd_csa = 1;
break;
case second:
lcd_csb = 1;
break;
case third:
lcd_csc = 1;
break;
default:break;
} lcd_ce = 1;
}
void lcminit( void )
{
lcd_rest = 0;
_nop_();
lcd_rest = 1;
write_command(fisrt,0x40);
write_command(second,0x40);
write_command(third,0x40);
write_command(fisrt,0xb8);
write_command(second,0xb8);
write_command(third,0xb8);
write_command(fisrt,0xc0);
write_command(second,0xc0);
write_command(third,0xc0);
write_command(fisrt,0x3f);
write_command(second,0x3f);
write_command(third,0x3f);
}

关于认清各种输电线路的技巧分享
8种PCB故障排除和修复方法总结
人工智能时代 工业格局的发展历程
GARP VLAN注册协议是什么意思
韩专家:大陆存储芯片量产恐延至明年或更晚
lcd19264驱动程序
柔性压阻传感器未来可广泛应用在可穿戴医疗领域
高精度与低成本难兼顾,对比优势各异的室内定位技术
基于ZYNQ AP SoC的安全驾驶系统设计与实现
无线测温系统高压开关柜电气设备中的应用研究
Silicon Labs USB微控制器适合GPS导航等应用
特别报告:帮助电子组件保持凉爽的创新
迈动互联获“ISO20000信息技术服务管理体系认证证书”
三星抢先申请石墨烯电池技术专利 将是电池技术的重大创新和升级
如何判断MAX232接口芯片的好坏
OLED是次世代技术?挑战者Micro LED可不愿意
三星推出新款横向折叠屏智能手机,可将其折叠成一个小方形
欧姆定律是谁提出的_欧姆定律思维导图
电源逆变器3个主要参数,提供奇怪的速度
雷神911黑幽灵电竞版评测 重新定义游戏本的i7-8750H