|
|||||||||||
| 技術(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ù) |
#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; } |
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |