导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教液晶显示[flatterbird]

 *第36014篇: 请教液晶显示

  
楼 主:flatterbird 2005年11月25日16:51
 请教液晶显示
使用PHILIP ARM2131,控制金鹏ocm4x8c,程序如附件,请指教
由于ARM是3.3伏,而液晶是5伏,请问是否要电平转换

#include "config.h"

#define rs  1   <  < 8          //H=data; L=command;
#define rw  1   <  < 9          //H=read; L=write;
#define  e  1   <  < 10         //input enable;


#define uint  unsigned int
#define uchar unsigned char

#define comm  0
#define dat   1


const uint32 DB=(0xFF  <  <16); // P1[23:18]控制D0-D7,


void wr_lcd(uchar dat_comm,uchar content);

void DelayNS(uint us);

uchar tab1[]={
"本系列中文模块内"
"任意位置反白显示"
"置二级字库,可在"
"使用更方便更灵活"
};

/*------------------初始化-----------------*/
void init_lcd(void)
{
  
  wr_lcd(comm,0x30);  /*30---基本指令动作*/   
  wr_lcd(comm,0x01);  /*清屏,地址指针指向00H*/
  wr_lcd(comm,0x06);  /*光标的移动方向*/
  wr_lcd(comm,0x0c);  /*开显示,关游标*/
}


/*---------------显示汉字或字符----------------*/
void chn_disp(uchar *chn)
{
  uchar i,j;
  wr_lcd (comm,0x30);                          //30,基本指令集
  wr_lcd (comm,0x80);                          //80,从第一行第一列开始显示
  for (j=0;j  <4;j++)
  {
    for(i=0;i  <16;i++)
    wr_lcd(dat,chn[j*16+i]);
  }
}


/*--------------写数据和指令-----------------*/
void wr_lcd(uchar dat_comm,uchar content)
{
  
  if(dat_comm)
   {
    IO0CLR=rs;    //data
    IO0SET=rw;    //write
   }
  else 
   {
    IO0CLR=rs;   //command
    IO0CLR=rw;   //write
   }
  IO1SET=DB;              //output data or comm
  IO1CLR=~DB&0xff00;
  IO0SET=e;              //模拟使能E下降沿
  DelayNS(8000);
  IO0CLR=e;
  DelayNS(8000);
}

/*--------------延时-----------------*/
void DelayNS(uint32 dly)
{
 uint32 i;
 
 for ( ; dly>  0; dly--)
  for (i=0; i  <50000; i++);
}


/*------------------主程序--------------------*/
void main()
{
 
  PINSEL0 = 0x00000000;          // 设置管脚连接GPIO
  PINSEL2 = PINSEL2 & (~0x08);      // P1[25:16]连接GPIO
  IO0DIR  = 0xff; 
  IO1DIR  = DB;               // 设置DB控制口为输出


  init_lcd();
  while (1)
  {
  
    chn_disp(tab1);
    DelayNS(8000);

  }
}

  
2楼:hezuo 2005年11月26日15:22
 应该不要电平转换
应该不要电平转换的阿
双电源系统问题,看他们的逻辑电平,通常0~0.8V为逻辑低,2.2V~5V认为逻辑高。
只要都支持这个连接就OK

>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:NORTi  Professional高性能实时操作系统

[下一篇主题]:长期求购arm板