音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

用2131控制金鵬液晶(OCMJ4*8C)程序如下,請教各位

作者:flattbird 欄目:ARM技術(shù)
2131控制金鵬液晶(OCMJ4*8C)程序如下,請教各位
#include "config.h"


const uint32 rst=1;          //resrt
const uint32 rs=1<<1 ;         //H=data; L=command;
const uint32 rw=1<<4 ;         //H=read; L=write;
const uint32  e=1<<5 ;        //input enable;
const uint32 busy=1<<25  ;     // TEST busy
const uint32 DB8=(0xFF<<18);    // P1[25:18]控制D0-D7,

#define uint  unsigned int
#define uCHAR unsigned CHAR

#define comm  0
#define dat   1


void wr_lcd(uCHAR dat_comm,uCHAR content);
void chk_busy (void);


uCHAR tab1[]={
"本系列中文模塊內(nèi)"
"任意位置反白顯示"
"置二級字庫,可在"
"使用更方便更靈活"
};


/*------------------初始化-----------------*/
void init_lcd(void)
{
  IO0SET=rst;
  wr_lcd(comm,0x30);  /*30---基本指令動(dòng)作*/   
  wr_lcd(comm,0x01);  /*清屏,地址指針指向00H*/
  wr_lcd(comm,0x06);  /*光標(biāo)的移動(dòng)方向*/
  wr_lcd(comm,0x0c);  /*開顯示,關(guān)游標(biāo)*/
}


/*---------------顯示漢字或字符----------------*/
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]);
  }
}


/*--------------寫數(shù)據(jù)和指令-----------------*/
void wr_lcd(uCHAR dat_comm,uCHAR content)
{
  uint i;
  chk_busy ();
  if(dat_comm)
   {
    IO0SET=rs;    //data
    IO0CLR=rw;    //write
   }
  else
   {
    IO0CLR=rs;   //command
    IO0CLR=rw;   //write
   }
  IO1PIN=content<<18;              //write data or comm
  IO0SET=e;              //模擬使能E下降沿
for (i=0; i<0xFFFF; i++);
  IO0CLR=e;

}



/*--------------檢驗(yàn)忙信號-----------------*/
void chk_busy(void)
{
  uint i;
  IO0CLR=rs;          //讀取忙信號
  IO0SET=rw;
  IO0SET=e;   
  for (i=0; i<0xFFFF; i++);
  while((IO1PIN&busy)==1);
  IO0CLR=e;
  for (i=0; i<0xFFFF; i++);
}



/*------------------主程序--------------------*/
int  main(void)
{
  uint i;

  PINSEL0 = 0x00000000;                
  PINSEL2 = PINSEL2 & (~0x08);      // P1[25:18]連接GPIO
  IO0DIR  = 0xff;                    // 設(shè)置0口為輸出
  IO1DIR  = DB8;                    // 設(shè)置DB控制口為輸出


  init_lcd();
  chn_disp(tab1);
  
  for (i=0; i<0xFFFFFF; i++);
  
  return 0;

}


參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
誰有做好的LPC2103的頭文件,KEIL自帶的21XX,210X均不太適合
請問周公一個(gè)關(guān)于AXD調(diào)試的問題?
flash大小
LPC2000開發(fā)板I2C的問題!
有沒有人用過minitype字庫??????
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號