分享

ST7565黑白液晶使用注意

 yng326309158 2011-03-28

首先,lcd要使用一般必须外部接电容构成正倍压电路,有了pump才能显示.ST7565的datasheet上说明的4倍压电路.在用电容时遇到了问 题,一般我们调试的时候喜欢焊接直插件,而电容一般有极性.很多ST7565P核心的lcd在管脚标识的时候,正负号与电容的正负正好相反,所以出现调试 的时候倍压不能的情况,一般显示器的厂商会提醒全部使用无极性电容,一般直接用产品化后设定的贴片电容来焊接即可,不需要刻意买一些直插的.

    一般屏幕的初始化和显示测试程序可以向lcd提供商索要,他们一般有普通51的测试程序.有了初始化的demo做起来省很多时间.这里还要补充一点,如果 屏幕初始化了不显示,各种电气信号又都测量出正常,不要着急,调整一下lcd的显示亮度.我一开始就是因为lcd的显示对比度设置不妥当,导致全是黑屏. 对于ST7565P,微调指令是0x81 0xmm (mm=00--3f) 粗调指令是0x2n (n=0--7),我使用不同厂家的屏幕,发现显示对比度设置后,效果差距较大,一个设置0x10 0x26正好,一个需要设置0x0a 0x27才可以,第一个屏幕使用第二条设置会几乎黑屏.

初始化:

  1. /*===================================================================  
  2. 函数功能:初始化ST7565,结果全屏点亮  
  3. 输入参数:无  
  4. 输出参数:无  
  5. 函数说明:  
  6. ======================================================================*/   
  7. void InitST7565(void)   
  8. {                   
  9.         WriteCom(0xaf);                 //打开LCD显示 AE--off   AF--on     
  10.         //WriteCom(0xa2);                 //设置LCD电压偏置 a2--1/9,a3---1/7    
  11.         WriteCom(0xa1);                 //设置显示数据区,a0正常,a1 COM与SEG互换    
  12.        // WriteCom(0xc7);                 //选择COM扫描方向,《C7为正常方向,》C8为反向方向    
  13.         WriteCom(0x2f);                 //选择内部电源供给模式    
  14.         //WriteCom(0xa6);               //设置显示模式(a6正,a7反)    
  15.         //WriteCom(0x81);                 //设置V0电压寄存器    
  16.         //WriteCom(0x20);                 // 调节显示颜色    
  17.         WriteCom(0x20);                 //选择内部电阻调节比    
  18.    
  19.         //WriteCom(0xe0);    
  20.         WriteCom(0xAd);                 //Static indicaor ON(AD)/OFF(AC)    
  21.         WriteCom(0x01);                 //Static indicator register set     
  22.            
  23.         //WriteCom(0xa5);                 //全屏点亮    
  24.          
  25. }   
  26. /*===================================================================  
  27. 函数功能:向ST7565写命令  
  28. 输入参数:命令字  
  29. 输出参数:无  
  30. 函数说明:  
  31. ======================================================================*/   
  32. void WriteCom(uchar ComData)   
  33. {   
  34.         A0 = 0;       //写命令    
  35.         MRE = 1;   
  36.         delay_us(50);   
  37.         DataPort = ComData;   
  38.         MWE = 0;      //写有效    
  39.         delay_ms(10);   
  40.         MWE = 1;   
  41.      
  42. }   
  43.    
  44.    
  45. /*===================================================================  
  46. 函数功能:向ST7565写数据  
  47. 输入参数:数据  
  48. 输出参数:无  
  49. 函数说明:  
  50. ======================================================================*/   
  51. void WriteData(uchar Data)   
  52. {   
  53.         A0 = 1;         //写数据    
  54.         MRE = 1;   
  55.         MWE = 0;      //写有效    
  56.         DataPort = Data;    
  57.         MWE = 1;          
  58. }   

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多