广告

原创 LPC213X基于ST7920的LCM128*64设计

2008-9-14 00:25 2029 1 4 分类: MCU/ 嵌入式

      基于ST7920控制的lcd对于显示汉字是非常的简单,果然不愧是国人设计的。对于内部自带字库的lcd,更是方便,仅用3线就可显示。


     在本设计中使用LPC213X的21、22、23口为RS,RW,CS控制线。


     主要的程序为:


  1.定义端口:


  #define CS    (1<<21) 
  #define SID   (1<<22) 
  #define SCLK  (1<<23)


2.主要的define:


 #define ADD_SET 0x34      
#define MOVE 0x03         
#define FUNC_SET   0x30       
#define DISP_ON     0x0f        
#define ENTRY_MODE 0x06


#define S_CMD   0xf8    
#define S_DATA  0xfa      


3.发送字节函数:


void send_byte(uint8 data)
{
 uint8 i;
 
 SCLK_L();     


 for(i=0;i<8;i++)
 {
  if(data&0x80)  
   SID_H();
  else
   SID_L();
   
  SCLK_H();       
  delay(1000);
  SCLK_L();
  delay(1000);
  data=data<<1;    
 }                     
 delay(1000);
}


void send_cmd(uint8 cmd)
{
 CS_H();               //cs=1
 send_byte(S_CMD);   
 send_byte(cmd&0xf0);   


send_byte(cmd<<4);    
 CS_L();
 delay(10000);    


}


void send_data(uint8 data)
{
 CS_H();              
 send_byte(S_DATA);     
 send_byte(data&0xf0);  
 send_byte(data<<4);    
 CS_L();
 delay(10000);
}


4.设置地址:


void set_position(uint8 row,uint8 col)
{
 uint8 pos;
 switch(row)
 {
  case 1:
   pos=0x80+col-1;
   break;
  case 2:
   pos=0x90+col-1;
   break;
  case 3:
   pos=0x88+col-1;
   break;
  case 4:
   pos=0x98+col-1;
   break;
 }
 send_cmd(pos);
}



 


      

广告

文章评论 3条评论)

登录后参与讨论

412922521_325344472 2008-9-17 07:57

经过几天的测试, ST7920芯片的12864,只有2个优点: 1)显示中文方便 2)可以串行 除了这2点,全是缺点……

412922521_325344472 2008-9-14 10:01

呵呵,手头只有这个lcm,呵呵,试试还可以。

wormchenx_146959662 2008-9-14 09:44

ST7920的强项就是显示汉字,绘图不怎么方便
相关推荐阅读
412922521_325344472 2009-11-15 00:44
通用按键消抖函数 -- 数据与过程分离
AUTO:  nicksean 不务正业          项目里经常处理按键消抖, 本来这个消抖的过程是与具体按下的键无关的, 可以前的代码总是在消抖的同时处理具体的按键值, 再加上长按 短按 组合...
412922521_325344472 2009-11-13 13:16
液晶ST7920串行显示
液晶显示128*64以7920为主控制器,采用3线制,比较经济简单。代码如下.....
412922521_325344472 2009-11-13 13:11
DS18B20 C51完整版
使用WINBOND W78C516单片机,11.0592MHZ晶振,用共阳LED数码管P0口输出段码,P1口扫描/*******************************************...
412922521_325344472 2009-11-12 13:19
74HC164驱动数码管
          74HC164是串行输入,并行输出接口器件,可用在单向的并行输出/并行地址锁存等. 74HC164因为价格便宜,容易使用特别适合使用在在需要用到数码管显示IO口又比较紧张的电子产品...
412922521_325344472 2009-11-10 20:13
at24c512多字节读写函数 欢迎测试
刚写的at24c512多字节读写函数,欢迎测试。/********************************************************************函数功能:EE...
412922521_325344472 2009-11-10 19:59
旋转编码器
    很好的旋转编码器的读码程序,设旋转编码器的输出波形如下                 ______        ______        ______        ______正转时:...
我要评论
3
1
广告