论坛风格切换切换到宽版
  • 3339阅读
  • 9回复

ACM12232C1液晶显示模块求助? [复制链接]

上一主题 下一主题
离线bg2qcg
 
发帖
870
只看楼主 倒序阅读 0楼 发表于: 2005-01-24
从电话机折下acm12232c1液晶显示模块,引脚接线在左边双列共16点,16*2显示,和论坛里做频率计、lc表用的液晶显示模块接脚引线一样吗?请指教。
离线BD6CR
发帖
5950
只看该作者 1楼 发表于: 2005-01-24
不一样,这种是点阵式,而频率计,lc表用的是字符式.
离线bg4jj
发帖
5094
只看该作者 2楼 发表于: 2005-01-24
控制芯片应该是sed1520
122列32行点阵
离线BG4UVR
发帖
11287
只看该作者 3楼 发表于: 2005-01-24
'
控制芯片应该是sed1520
122列32行点阵
'

那这个应该是更裤啊 :d
离线bg2qcg
发帖
870
只看该作者 4楼 发表于: 2005-01-24
谢谢两位,这下放心了,这东西现在对我来说没用,因为我打算用它来做频率计和lc表。
论坛里有没有和我交换字符型的。
离线BG4UVR
发帖
11287
只看该作者 5楼 发表于: 2005-01-24
'
谢谢两位,这下放心了,这东西现在对我来说没用,因为我打算用它来做频率计和lc表。
论坛里有没有和我交换字符型的。
'

交换你太不划算了,1602的lcm新的好像才20多一个,你找bg7kh,他应该有的。
离线zyf_90302
发帖
336
只看该作者 6楼 发表于: 2005-01-24
驱动来了
『关闭窗口』

sed1520的122x32点阵液晶驱动(seekfor)


#define lcd_displayon 0xaf
#define lcd_displayoff 0xae
#define lcd_driveron 0xa5
#define lcd_driveroff 0xa4
#define lcd_duty16 0xa8
#define lcd_duty32 0xa9

#define lcd_end 0xee
#define lcd_reset 0xe2
#define lcd_rwmode 0xe0
#define lcd_startline0 0xc0
#define lcd_page0 0xb8
#define lcd_columnaddr0 0x00

#define lcd_on() lcd_command(lcd_displayon)
#define lcd_off() lcd_command(lcd_displayoff)
#define lcd_staticon() lcd_command(lcd_driveron)
#define lcd_staticoff() lcd_command(lcd_driveroff)
#define lcd_select16() lcd_command(lcd_duty16)
#define lcd_select32() lcd_command(lcd_duty32)
#define lcd_startrw() lcd_command(lcd_rwmode)
#define lcd_endrw() lcd_command(lcd_end)
#define lcd_reset() lcd_command(lcd_reset)
#define lcd_setstartline(i) lcd_command(lcd_startline0+i)
#define lcd_setpage(i) lcd_command(lcd_page0+i)
#define lcd_setcolumn(i) lcd_command(lcd_columnaddr0+i)

#define time 10
#define nop _nop_
sbit a0=p1^3;
sbit rw=p1^4;
sbit e1=p1^5;
sbit e2=p1^6;
#define data p2

/*ascii字体,大小6x8,上到下d0~d7,左到右*/
unsigned char code ascii[][6]={{0x00,0x00,0x00,0x00,0x00,0x00},/*space*/
                   
{0x00,0x7e,0x21,0x21,0x21,0x7e},/*a*/
                   
{0x00,0x7f,0x49,0x49,0x49,0x36},/*b*/
                   
{0x00,0x3e,0x41,0x41,0x41,0x22},/*c*/
                   
{0x00,0x7f,0x41,0x41,0x22,0x1c},/*d*/
                   
{0x00,0x7f,0x49,0x49,0x49,0x49},/*e*/
                   
{0x00,0x7f,0x09,0x09,0x09,0x01},/*f*/
                   
{0x00,0x3e,0x41,0x49,0x49,0x7a},/*g*/
                   
{0x00,0x7f,0x08,0x08,0x08,0x7f},/*h*/
                   
{0x00,0x41,0x7f,0x41,0x00,0x00},/*i*/
                   
{0x00,0x20,0x40,0x41,0x3f,0x01},/*j*/
                   
{0x00,0x7f,0x08,0x14,0x22,0x41},/*k*/
                   
{0x00,0x7f,0x40,0x40,0x40,0x40},/*l*/
                   
{0x00,0x7f,0x02,0x0c,0x02,0x7f},/*m*/
                   
{0x00,0x7f,0x04,0x08,0x10,0x7f},/*n*/
                   
{0x00,0x3e,0x41,0x41,0x41,0x3e},/*o*/
                   
{0x00,0x7f,0x09,0x09,0x09,0x06},/*p*/
                   
{0x00,0x3e,0x41,0x41,0x41,0x3e},/*q*/
                   
{0x00,0x7f,0x09,0x19,0x29,0x46},/*r*/
                   
{0x00,0x46,0x49,0x49,0x49,0x31},/*s*/
                   
{0x00,0x01,0x01,0x7f,0x01,0x01},/*t*/
                   
{0x00,0x3f,0x40,0x40,0x40,0x3f},/*u*/
                   
{0x00,0x1f,0x20,0x40,0x20,0x1f},/*v*/
                   
{0x00,0x3f,0x40,0x38,0x40,0x3f},/*w*/
                   
{0x00,0x63,0x14,0x08,0x14,0x63},/*x*/
                   
{0x00,0x07,0x08,0x70,0x08,0x07},/*y*/
                   
{0x00,0x61,0x51,0x49,0x45,0x43},/*z*/
                   
{0x00,0x20,0x54,0x54,0x54,0x7c},/*a*/
                   
{0x00,0x7f,0x48,0x44,0x44,0x38},/*b*/
                   
{0x00,0x38,0x44,0x44,0x44,0x20},/*c*/
                   
{0x00,0x38,0x44,0x44,0x48,0x7f},/*d*/
                   
{0x00,0x38,0x54,0x54,0x54,0x18},/*e*/
                   
{0x00,0x08,0x7e,0x09,0x01,0x02},/*f*/
                   
{0x00,0x0c,0x52,0x52,0x52,0x3e},/*g*/
                   
{0x00,0x7f,0x08,0x04,0x04,0x78},/*h*/
                   
{0x00,0x00,0x44,0x7d,0x40,0x00},/*i*/
                   
{0x00,0x40,0x40,0x44,0x3d,0x00},/*j*/
                   
{0x00,0x7f,0x10,0x28,0x44,0x00},/*k*/
                     
{0x00,0x00,0x41,0x7e,0x40,0x00},/*l*/
                   
{0x00,0x7c,0x04,0x18,0x04,0x78},/*m*/
                   
{0x00,0x7c,0x08,0x04,0x04,0x78},/*n*/
                   
{0x00,0x38,0x44,0x44,0x44,0x38},/*o*/
                   
{0x00,0x7c,0x14,0x14,0x14,0x08},/*p*/
                   
{0x00,0x08,0x14,0x14,0x14,0x7c},/*q*/
                   
{0x00,0x7c,0x08,0x04,0x04,0x08},/*r*/
                   
{0x00,0x48,0x54,0x54,0x54,0x20},/*s*/
                   
{0x00,0x04,0x3f,0x44,0x44,0x24},/*t*/
                   
{0x00,0x3c,0x40,0x40,0x20,0x7e},/*u*/
                   
{0x00,0x1d,0x20,0x40,0x20,0x1c},/*v*/
                   
{0x00,0x3c,0x40,0x30,0x40,0x3c},/*w*/
                   
{0x00,0x44,0x28,0x10,0x28,0x44},/*x*/
                   
{0x00,0x06,0x48,0x48,0x48,0x3e},/*y*/
                   
{0x00,0x44,0x64,0x54,0x4c,0x44},/*z*/
                   
{0x00,0x00,0x01,0x02,0x04,0x00},/*`*/
                   
{0x00,0x00,0x42,0x7f,0x40,0x40},/*1*/
                   
{0x00,0x62,0x51,0x51,0x49,0x46},/*2*/
                   
{0x00,0x21,0x41,0x45,0x4b,0x31},/*3*/
                   
{0x00,0x18,0x14,0x12,0x7f,0x10},/*4*/
                   
{0x00,0x27,0x45,0x45,0x45,0x39},/*5*/
                   
{0x00,0x3c,0x4a,0x49,0x49,0x30},/*6*/
                   
{0x00,0x01,0x71,0x09,0x05,0x03},/*7*/
                   
{0x00,0x36,0x49,0x49,0x49,0x36},/*8*/
                   
{0x00,0x06,0x49,0x49,0x29,0x1e},/*9*/
                   
{0x00,0x3e,0x51,0x49,0x45,0x3e},/*0*/
                   
{0x00,0x08,0x08,0x08,0x08,0x08},/*-*/
                   
{0x00,0x14,0x14,0x14,0x14,0x14},/*=*/
                   
{0x00,0x01,0x02,0x08,0x10,0x20},/*\*/
                   
{0x00,0x04,0x08,0x04,0x08,0x04},/*~*/
                   
{0x00,0x00,0x00,0x4f,0x00,0x00},/*!*/
                   
{0x00,0x3e,0x59,0x55,0x79,0x3e},/*@*/
                   
{0x00,0x14,0x7f,0x14,0x7f,0x14},/*#*/
                   
{0x00,0x24,0x2a,0x7f,0x2a,0x12},/*$*/
                   
{0x00,0x23,0x13,0x08,0x62,0x61},/*%*/
                   
{0x00,0x04,0x02,0x01,0x02,0x04},/*^*/
                   
{0x00,0x36,0x49,0x55,0x22,0x50},/*&*/
                   
{0x00,0x14,0x08,0x3e,0x08,0x14},/***/
                   
{0x00,0x00,0x1c,0x22,0x41,0x00},/*(*/
                   
{0x00,0x00,0x41,0x22,0x1c,0x00},/*)*/
                   
{0x00,0x40,0x40,0x40,0x40,0x40},/*_*/
                   
{0x00,0x08,0x08,0x3e,0x08,0x08},/*+*/
                   
{0x00,0x00,0x00,0x7e,0x00,0x00},/*|*/
                   
{0x00,0x00,0x7f,0x41,0x41,0x00},/*[*/
                   
{0x00,0x00,0x41,0x41,0x7f,0x00},/*]*/
                   
{0x00,0x00,0x56,0x36,0x00,0x00},/*;*/
                   
{0x00,0x00,0x00,0x05,0x03,0x00},/*'*/
                   
{0x00,0x00,0x00,0x28,0x18,0x00},/*,*/
                   
{0x00,0x00,0x00,0x60,0x60,0x00},/*.*/
                   
{0x00,0x20,0x10,0x08,0x04,0x02},/*//*/
                   
{0x00,0x00,0x08,0x36,0x41,0x00},/*{*/
                   
{0x00,0x00,0x41,0x36,0x08,0x00},/*}*/
                   
{0x00,0x00,0x36,0x36,0x00,0x00},/*:*/
                   
{0x00,0x00,0x00,0x07,0x00,0x07},/*"*/
                   
{0x00,0x08,0x14,0x22,0x41,0x00},/*<*/
                   
{0x00,0x00,0x41,0x22,0x14,0x08},/*>*/
                   
{0x00,0x02,0x01,0x51,0x09,0x06}/*?*/
                    };


void lcd_command(unsigned char ncommand)
{
  unsigned char i;
  a0=0;
  rw=0;
  e1=1;
  data=ncommand;
  i=time;
  while(--i);
  e1=0;
  i=time;
  while(--i);

  a0=0;
  rw=0;
  e2=1;
  data=ncommand;
  i=time;
  while(--i);
  e2=0;
  i=time;
  while(--i);
}

void lcd_setram(bit bchip2,unsigned char ndata)
{
  unsigned char i;
  a0=1;
  rw=0;
  if(!bchip2)
  {
  e1=1;
  data=ndata;
  i=time;
  while(--i);
  e1=0;
  i=time;
  while(--i);
  }
  else
  {
  e2=1;
  data=ndata;
  i=time;
  while(--i);
  e2=0;
  i=time;
  while(--i);
  }
}

void lcd_write(unsigned char npage,unsigned char ncolumn,unsigned char ndata)
{
  lcd_setpage(npage%4);
  lcd_setcolumn(ncolumn);
  lcd_setram(npage>3,ndata);
 
}

void lcd_pagewrite(unsigned char npage,unsigned char idata *ndata)
{
  unsigned char i;
  bit bchip2=npage>3;
  lcd_setpage(npage%4);
  lcd_setcolumn(0);
  for(i=0;i<61;i++)
    lcd_setram(bchip2,ndata);
}

void lcd_init()
{
  lcd_command(lcd_reset);
  lcd_command(0xa0);
  lcd_command(lcd_duty32);
  lcd_command(0xa4);
}


unsigned char *gettextfont(unsigned char index)
{
  static unsigned char font[6];
  unsigned char i;
  for(i=0;i<6;i++)
    font=ascii[index];
  return font;
}

/*
x:0~19
y:0~3
*/
void lcd_textout(unsigned char x,unsigned char y,unsigned char *sztext)
{
  unsigned char i;
  bit bchip2;
  x%=20;
  y%=4;
  if(x>=10)
  {
  x-=10;
  y+=4;
  }
  bchip2=y>3;
  lcd_setpage(y%4);
  lcd_setcolumn(x*6);
  for(i=0;i<6;i++) lcd_setram(bchip2,sztext);
}


unsigned char getindex(unsigned char sztext)
{
  unsigned char code tab[]={' ',
               
    'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q'
,'r','s','t','u','v','w','x','y','z',
               
    'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q'
,'r','s','t','u','v','w','x','y','z',
               
    '`',Ƈ',ƈ',Ɖ',Ɗ',Ƌ',ƌ',ƍ',Ǝ',Ə',Ɔ','-','=','\\',
               
    '~','!','@','#','$','%','^','&','*','(',')','_','+','|',
               
    '[',']','','\'',',','.','/',
               
    '{','}',':','"','<','>','?'
                 
  };
  unsigned char i;
  for(i=0;i       if(sztext==tab) return i;
  return 0x00;
}

void printf(unsigned char x,unsigned char y,unsigned char *sztext)
{
  unsigned char *text;
  while(*sztext)
  {
    text=gettextfont(getindex(*sztext));
    lcd_textout(x++,y,text);
    if(x==20) break;
    sztext++;
  }
}







(文章推荐人:晓奇)
离线bg2qcg
发帖
870
只看该作者 7楼 发表于: 2005-01-24
看不懂啊!我还是换一个现成的方便些。
离线xiongjunfeng
发帖
1220
只看该作者 8楼 发表于: 2005-01-25
'
看不懂啊!我还是换一个现成的方便些。
'
换给我做一个电台显示吧!!
离线bg2qcg
发帖
870
只看该作者 9楼 发表于: 2005-01-25
'
换给我做一个电台显示吧!!
'
好的。123456789够十个字了。