欢迎光临夺胜电子(姑苏)有限公司!
澳门新萄京娱乐场1495.com 澳门新萄京娱乐场1495.com
夺胜电子(姑苏)有限公司欢迎您!
澳门葡京63355.com
在线客服:
服务热线:项峥 18761992808


在线客服:887700.com
服务热线:周培勇 18262106887
74222.com新葡京
88919.com
澳门葡京63355.com
您当前地点页:主页 > 行业使用 > 点阵液晶屏

澳门新萄京娱乐场1495.com

公布工夫:2018-06-25 11:09 作者:duosheng 次数:次

 

 

12864点阵液晶显现模块(LCM)就是由128*64个液晶显示点构成的一个128列*64行的阵列。每一个显现点对应一名澳门新萄京娱乐场1495.com,1暗示亮,0暗示灭。存储这些点阵信息的RAM称为显现数据存储器。要显现某个图形或汉字就是将响应的点阵信息写入到响应的存储单元中。图形或汉字的点阵信息固然由本人设想,成绩的枢纽就是显现点在液晶屏上的位置(行和列)与其在存储器中的地址之间的干系。

 

因为大都液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器组成,以是12864液晶屏实际上是由阁下两块自力的64*64液晶屏拼接而成,每半屏有一个512*8 bits显现数据RAM。左右半屏驱动电路及存储器别离由片选旌旗灯号CS1和CS2挑选。(少数厂商为了简化用户设想,在模块中增长译码电路,使得128*64液晶屏就是一个整屏,只需一个片选旌旗灯号。)

 

显现点在64*64液晶屏上的位置由行号(line,0~63)与列号(column,0~63)肯定。512*8 bits RAM中某个存储单位的地址由页地址(Xpage,0~7)和列地址(Yaddress,0~63)肯定。每一个存储单位存储8个液晶点的显现信息。

 

为了使液晶点位置信息与存储地址的对应干系更直观关,将64*64液晶屏从上至下8平分为8个显现块,每块包罗8行*64列个点阵。每列中的8行点阵信息组成一个8bits二进制数,存储在一个存储单元中。(需求留意:二进制的上下有用位次第与行号对应干系因差别商家而差别)寄存一个显现块的RAM区称为存储页。即64*64液晶屏的点阵信息存储在8个存储页中,每页64个字节,每一个字节存储一列(8行)点阵信息。因而存储单位地址包罗页地址(Xpage,0~7)和列地址(Yaddress,0~63)。

 

比方点亮128*64的屏中(20,30)位置上的液晶点,因列地址30小于64,该点在左半屏第29列,以是CS1有用;行地址20除以8取整得2,取余得4,该点在RAM中页地址为2,在字节中的序号为4;以是将二进制数据00010000(也能够是00001000,上下次第取决于制造商)写入Xpage=2,Yaddress=29的存储单元中即点亮(20,30)上的液晶点。

 

/////LCD12864液晶屏测试法式(已经由过程)//////  

////////液晶屏型号:HJ12864M-1//////////  

///////////////////////////////////////

  

#include  

#define uchar unsigned char  

#define uint unsigned int  

  

//8bit数据接入IO口  

#define Part P0    //P0接8位数据线  

//掌握数据端  

sbit LCD_RS=P2^5;  //界说12864液晶RS端,寄存器挑选旌旗灯号 H:数据寄存器 L:指令寄存器   

sbit LCD_RW=P2^6;  //界说12864液晶RW端,读/写旌旗灯号  H:读   L:写   

sbit LCD_EN=P2^7;  //界说12864液晶LCDEN端, 片选旌旗灯号  降落沿触发,锁存数据   

//

sbit LCD_PSB=P3^2;  //界说12864液晶PSB端, H:并行 L:串行  

sbit LCD_RST=P3^4;  //界说12864液晶RST端, H:不复位  L:复位  

uchar code dis1[]={"床前明月光"};  

uchar code dis2[]={"疑是地上霜"};  

uchar code dis3[]={"举头望明月"};  

uchar code dis4[]={"垂头思故土"};  

//=====================================  

//毫秒延时函数  

澳门新萄京娱乐场1495.com delay(uint xms)  

{  

 uint i,j;  

 for(j=0;i

  for(i=0;i<110;i++);  

}  

//====================================  

//LCD忙检测函数  

bit lcd_busy()  

{  

 bit result;  

    LCD_RS=0;    

  LCD_RW=1;  

  LCD_EN= 1;  

   result=(bit)(Part & 0x80);  

   LCD_EN=0;  

  return result;  

}  

//=====================================  

//液晶写号令函数  

void lcd_write_cmd(uchar com)  

{  

 while(lcd_busy());  

 LCD_RS=0;  //挑选指令寄存器  

 LCD_RW=0;  //写  

 LCD_EN=0;    

 Part=com;    //指令值赋给P0口  

 delay(5);  

 LCD_EN=1;  

 delay(5);  

 LCD_EN=0;   

}  

//=====================================  

//液晶写一个字符数据函数  

void lcd_write_dat(uchar date)  

{  

 while(lcd_busy());  

 LCD_RS=1;  //挑选数据寄存器  

 LCD_RW=0;  //写  

 LCD_EN=0;  

 P0=date;    //数据值赋给P0口  

 delay(5);  

 LCD_EN=1;  

 delay(5);  

 LCD_EN=0;  

}  

//=====================================  

//液晶写一个字符串函数  

void lcd_write_string(uchar *str)  

{  

 while(*str!='\0')  //未完毕  

 {  

  lcd_write_dat(*str++);  

  delay(5);  

 }  

}  

//=====================================  

//液晶显示位置函数  

void lcd_pos(uchar x,uchar y)  //从第X行的第Y位置开端显现  

{  

 uchar pos;  

 if(x==1)        //第一行  

 { x=0x80;}  

 else if(x==2)  //第二行  

 { x=0x90;}  

 else if(x==3)  //第三行  

 { x=0x88;}  

 else if(x==4)  //第四行  

 { x=0x98;}  

 pos=x+y-1;     //首地址为0X80  

 lcd_write_cmd(pos);  

}  

//=====================================  

//液晶初始化函数  

void lcd_init()  

{  

 LCD_PSB=1;  //并行方法  

 LCD_RST=1;  //不复位  

 lcd_write_cmd(0x30);  

 delay(5);  

 lcd_write_cmd(0x0c);  //开显现,不显现光标  

 delay(5);  

 lcd_write_cmd(0x06);  //写一个字符后地址指针主动加1  

 delay(5);  

 lcd_write_cmd(0x01);   //清屏  

 delay(5);  

}  

//=====================================  

//主函数函数  

void main()  

{   

// uchar i;  

 lcd_init();  

 while(1)  

 {  

  lcd_pos(1,1);  

 // lcd_write_string(dis1);  

     lcd_write_string("床前明月光");  

  delay(5);  

  lcd_pos(2,1);  

 // lcd_write_string(dis2);  

  lcd_write_string("疑是地上霜");  

  delay(5);  

  lcd_pos(3,1);  

 // lcd_write_string(dis3);  

  lcd_write_string("举头望明月");  

  delay(5);  

  lcd_pos(4,1);  

 // lcd_write_string(dis4);  

  lcd_write_string("垂头思故土");  

  delay(500);  

 }  

}  

澳门新萄京娱乐场1495.com
    二维码
    887700.com
    联系地址