网站首页 | 论文指导 | 经济论文 | 理工论文 | 管理论文 | 法律论文 | 行政论文 | 英语论文
艺术论文 | 农学论文 | 医学论文 | 文史论文 | 教育教学论文 | 论文定制 | 论文发表
论文库分类>>> 点这里访问轻松论文网主站>>>
您当前的位置:轻松论文网 -> 论文中心 -> 理工论文 -> 电子通信网络论文 -> 文章内容 退出登录 用户管理
 子栏目导航
· 计算机与信息技术论文
· 电子通信网络论文
· 自动化论文
· 土建水利论文
· 交通运输论文
· 化学与化工论文
· 石油与能源动力论文
· 机械制造论文
· 矿业与冶金论文
· 工程论文
· 生命环境论文
· 材料科学与工程
· 综合论文
 最新推荐
· 世界地缘政治体系与印度...
· 维新与革命:政治选择的...
· 世界地缘政治体系与印度...
· 中国国家安全哲学-政治哲...
· 政治学视野中的公共政策...
· 方法引导下的政治理论[上...
· 格拉修斯原则:基督教二...
· 方法引导下的政治理论[下...
· 国体、国情与现代国家-政...
· 试论我国今后政治发展的...
· 东亚的政治权威与现代化...
· 跨国收养法的概念与渊源...
 热门文章
· 开题报告的格式(通用...
· 怎样写开题报告
· [图文] 开题报告范文1(银行...
· 开题报告范文2(网上...
· 毕业论文开题报告-A...
· 开题报告的撰写方法...
· 开题报告范文3(网络...
· 文献综述的写法
· 毕业论文例文评析
· 开题报告撰写的方法...
 相关文章
 
[论文定制][论文发表][价格总览][支付方式][购买流程]点击这里给我发消息 点击这里给我发消息
ARM微控制器LPC210X的LCD接口技术
作者:佚名  来源:不详  发布时间:2007-3-2 15:18:05  发布人:admin

减小字体 增大字体

摘要:本文分别以GPI0口直接连接、串行转换连接、CPLD分部连接三种方法阐述了无外部总线的Philips ARM微控制器LPC210X与点阵图形液晶显示器的接口设计,并给出硬件电路框图和主要程序。

    关键词:ARM LPC210X LCD接口 串并转换 CPLD

引言

Philips最近推出了其第一款基于ARM内核的控制器LPC210X,但由于LPC210X外部总线不开放,无法扩展内存、驱动液晶显示器等,给它的推广带来了一定的影响。笔者最近在一工控板项目中采用了该系列芯片,项目后斯应客户要求需对几个参量进行显示并扩展键盘,不得已之下,采用了CPLD,并利用了GPIO口模拟总线和液晶时序与点阵图形液日模块HS12864-16建立了连接。下面详细探讨包括该种连接的三种接口方式。

1 LPC210X的GPI0口和HS12864-16A介绍

LPC210X控制器包含LPC2104、LPC2105、LPC2106,除了片内静态RAM不同外,其他完全相同。该系列器件具有32个GPIO口(P0.0~P0.31),没有外部总线,大多GPIO口是复用口,所以它一般不适合连接大屏幕液晶显示器,但驱动小规模液晶模块进行工业控制上的参量显示还是非常合适的。

GPIO包含四个寄存器,如表1所列。

表1 配置GPI0口的四个寄存器

名  称地  址

描     述

IOPIN0xE0028000引脚值寄存器,引脚当前状态都从该寄存器读出
IOSET0xE0028004输出置位寄存器,只能写1,对应引脚输出高电平
IOCLR0xE0028008输出清零寄存器,只能写1,对应引脚输出低电平
IODIR0xE002800C方向控制寄存器。控制每个I/O方向

另外GPIO口还包含两个引脚连接模块寄存器PINSEL0、PINSEL1,用来为32个引脚配置I/O功能或其他特殊功能。

HS12864-16A是内部不带字符发生器的3V液晶模块(LPC210X可直接驱动5V液晶模块俣考虑到功耜耗,不赞成连接),其主要引脚如表2所列)。

表2 HS12864-16A引脚525252

引 脚 号引 脚 名 称

描     述

1、23、VSS、VDD、V0电源(3.3V)、电源地、驱动负太
4D/I数据指令选择
5R/W读写选择
6E使能,R/W=0,下降沿锁存DB7DB0
7~14DB0~DB7数据线
15、16CS1、CS2左、右半屏选择
17RET复位,低电平复位
18VoutLCD驱动负压,-10V,分压接3脚
19、20EN、NO背光电源

显示屏由128×64点阵组成,共有64行,分为8页,每页8行,每行128列。写指令规则如下:当D/I=0、R/W=0,所有指令由传输到数据线的8位二进制数据决定,开显示为0x3f,并显示为0x3e,传输行、列地址由2低6位决定,传输页地址为低3位决定。

2 三种接口设计

2.1 直接连接法

连接框图如图1所示。

该种方式占用GPIO口较多,对于要大量应用GPIO口复用功能的系统并不合适。为便于说明,图1将LPC210X的P0.0~P0.12选为连接的13个口,具体到设计系统中,可根据系统用到功能对应GPIO口复用功能进行选取和配置。HS12864-16A的数据线为8条,所以存在于Flash中的字模也是按8位存的,可由字模软件得出,传输数据进行显示的时候要满足以下时序:首先使D/I为高电平,R/W为低电平,接着将Flash里的某个8位二进制字模传送到8个I/O口上,然后使能E模拟下降沿时序,把数据锁存到液晶显示器内部的显示存储器中即可显示。

程序由ADS1.2编译器编译。

GPIO口配置:

#define LCD_DI 0x00000100 ;指令选择线P0.8

#define LCD_RW 0x00000200 //读写选择线P0.9

#define LCD_E 0x00000400 //使能线P0.10

#define LCD_CS1 0x00000800 //左屏选择线P0.11

#define LCD_CS1 0x00000800 //左屏选择线P0.11

#define IO_USE 0x00001FFF //13个GPIO口传输方向

传输字模数值到液晶显示器数据上的子程序如下:

void SendData(unsigned char date){

IOSET=data;

IOCLR=~data&0x000000FF;

}

备注:以上子程序为并行传输,也可以用串行移位进行传输,具体代码如下:

unsigned char i;

for(i=0;i<8;i++){ //依次发送8位数据

if((data&0x80)!=0) //最高位为1,对应口线置1

IOSET=IO_TURN;

Else

IOCLR=IO_TURN; //否则置0

data<<=1; //移到下一数据线

}

IO_TURN=0x00000080; //8位数据传输完毕后,仍然将P0.7设为起始线

}

下面以左半屏来说明如何在屏幕上任意显示16×16点阵汉字。

传送指令子程序如下:

void wcodel(unsigned char code){ //送指令

IOSET=LCD_CS1; //开左屏

IOCLR=LCD_CS2; //关右屏

IOCLR=LCD_RW; //写选择

IOCLR=LCD_DI; //指令选择

SendData(code); //依次将指令代码传到数据线上

IOSET=LCD_E; //模拟使能E下降沿

IOCLR=LCD_E;

}

同理,只要把IOCLR=LCD_DI改为IOSET=LCD_DI便成传送数据了。为便于区分,可将函数名改为wdata1(data)。

显示左屏汉字子程序如下:

void hzleft(unsigned char page,unsigned charrow,unsigned char number){ //形参分别为页、列、汉字序号

unsigned char i,j;

wcode1(0xc0); //设置12864从第1行显示

wcode1(0x3f); //开显示器

for(j=page;j<page+2;j++){

wcode1(row); //设置显示列

wcode1(0xb8+j); //设置显示页

for(i=16*(j-page);i<16*(j+1-page);i++)//依次取字模传输

wdata1(hangzi[32*a+i]);

}

}

每个汉字字模由32个字节组成,前16个字节显示汉字上半部分,后16个字节显示汉字下半部分,构成完整的16×16点阵。其中number代表存在Flash中的汉字排名序列号,只要把页、列、汉字序号实参值传到汉字显示子程序中进行调用即可显示汉字了。参考上面程序便能很方便地写出字母、数字的显示子程序。

程序中使用寄存器名称时要先在头文件中将其映射到对应地址,如对IOSET做如下定义:

#define IOSET(*((volatile unsigned long *)0xE0028004))

其它类似。

另外,要定义设置引脚连接GPIO,以及GPIO方向设置。

PINSEL0=0xX0000000;//设置用到的13个引脚连接到GPIO,为X的根据应用系统配置

PINSEL1=0xXXXXXXXX;

IODIR=IO_USE; //设置用到的13线方向为输出

当然,完整的应用还必须包括ARM时钟代码、启动代码等。

2.2 串行转换法

从上面可以看出,尽管用8个GPIO口模块总线非常容易与液晶显示器建立连接,但是占用口线太多。为节省口线,可以考虑加入串入并出的移位寄存器74HC595,用LPC210X的GPIO口复用SPI功能或直接用GPIO口模拟SPI功能进行驱动,后者更加方便。下面用这种方式进行说明,同样为方便,选用了连续的GPIO口P0.0~P0.7,具体设计系统要按实现情况进行配置,框图如图2所示。

该种方法通过3个GPIO口模拟SPI对74HC595进行控制,驱动液晶数据显示。

模拟SPI的GPIO口配置如下:

#define SPI_CLK 0x00000001 //时钟线为P0.0

#define SPI_DATA 0x00000002 //传输数据线为P0.1

#define SPI_CS 0x00000004 //74HC595选通线为P0.2

传输字模数值到数据线上的子程序:

void SendData(unsigned char date){

unsigned char i;

IOCLR=SPI_CS; //SPI_CS=0

for(i=0;i<8;i++){ //依次发送8位数据

IOCLR=SPI_CLK; //SPI_CLK=0

if((date&0x80)!=0) //传输最高位

IOSET=SPI_DATA;

Else

IOCLR=SPI_DATA;

date<<=1;

IOSET=SPI_CLK; //SPI_CLK=1

}

IOSET=SPI_CS; //SPI_CS=1

}

其它程序与方法1类似。有了以上子程序,就可以很方便地加以调用,进行液晶驱动显示。

2.3 CPLD分部连接法

CPLD是大规模逻辑器件,对于LPC210X的复杂应用显得非常重要,笔者的项目是用它来扩展外部接口的,LCD应用只是其中一部分,连接图如图3所示。

共占用9线,为说明方便,也选用了连续的GPIO口。该方法把一个字节字模分成高4位和低4位,分别通过P0.0~P0.3传送。在CPLD里设计一个4位锁存器,当高4位传送完毕后,锁存器进行锁存,然后发送低4位,接着由P0.4选通锁存器,将8位数据同时送出,这样节省了4个GPIO口;另外由P0.5通过CPLD直接控制CS1和CS2,也节省了1个GPIO口。LPC210X程序参照方法1很容易写出,只是注意这里是分两次、每次4位传送,以及每次传送要改变P0.4的状态。CPLD采用了Xilinx XC9500系列的XC9572,程序用Verilog-HDL语言编写,其中数据分部传送程序设计如下:

module latch(out_high,out_low,data,enable);//定义模块latch

output[3:0]out_high; //定义输出口高4位

output[3:0]out_low; //定义输出口低4位

input enable; 定义锁存选通信号

reg[3:0] out_high;

reg[3:0]out_low;

reg[3:0]lock; //定义锁存寄存器

always@(enable or data)

begin

if(!enable) //低电平锁存

lock<=data;

else //高电平开通锁存 ,输出8位

begin

out_high=lock;

out_low=data;

end

end

endmodule

至于P0.5选通CS1、CS2,在另一always块中用ifelse语句进行判断就可以了。

程序设计完成后,在WEBPACK中对用到的引脚进行分配与锁定,然后编译。如果需要仿真的 埃鸵杓贫ゲ阄件,可使用Xilinx公司推出的免费仿真软件MODELSIM。

对于上面的第二种方法,也可以考虑用CPLD设计称位存储器及时序控制。在复杂应用中,加上CPLD不但可以令设计简化,还可以使系统性能大大增加。

结语

对于无外部总线的Philips LPC210X,只能通过GPIO口模拟部连接液晶显示器。但在设计过程中,可以考虑通过串行转换或CPLD分部连接的方法减少GPIO口的使用,以便充分利用LPC210X的资源。不过没有总线毕竟有所束缚,好在Philips即将推出的LPC22X4系列控制器开放了外部总线,相信当这款芯片推出后,必将得到更多的关注。

论文指导 开题报告   论文格式   论文撰写   论文答辩   论文答谢   
经济论文 税收论文   证券投资论文   房地产论文   金融论文   投资论文   财政论文   西经论文   国际贸易论文   计量经济论文   国民经济论文   保险信托论文   地方经济   国际经济   新经济学   经济学理论   经济学其他   
理工论文 计算机与信息技术论文   电子通信网络论文   自动化论文   土建水利论文   交通运输论文   化学与化工论文   石油与能源动力论文   机械制造论文   矿业与冶金论文   工程论文   生命环境论文   材料科学与工程   综合论文   
管理论文 电子商务论文   会计论文   财务论文   人力资源论文   市场营销论文   企业管理论文   信息管理论文   旅游管理论文   工商管理论文   公共管理论文   物流管理论文   
法律论文 民法论文   刑法论文   诉讼法论文   行政法论文   国家法   宪法论文   土地资源环境法论文   国际法论文   劳动保障论文   商法论文   经济法论文   法史学论文   法理学论文   司法制度论文   
行政论文 中国政治论文   国际政治论文   管理科学论文   思想政治教育论文   国家行政管理论文   政治理论论文   哲学理论论文   三个代表论文   社工论文   
英语论文 学术英语论文   商务英语论文   科技英语论文   英语教学论文   
艺术论文 艺术理论论文   电视艺术论文   电影艺术论文   音乐论文   舞蹈论文   戏剧论文   美术论文   
农学论文 农艺学(园林,林学)论文   渔业论文   水产论文   植物保护论文   农业基础科学论文   综合论文   
医学论文 医学论文写作方法   基础医学论文   医药卫生论文   临床医学论文   药学论文   特种医学论文   护理学论文   
文史论文 中国史论文   世界史论文   考古论文   文字学论文   语法论文   中国文学论文   世界文学论文   文学理论论文   文艺美学论文   文学评论论文   经典名著赏析论文   新闻传媒学论文   社会学论文   
教育教学论文 语文论文   数学论文   英语论文   物理论文   美术论文   音乐论文   地理论文   化学论文   历史论文   体育论文   思想政治论文   生物自然论文   信息技术论文   德育管理论文   素质教育论文   教学管理论文   综合论文   
[ ] [返回上一页] [打 印] [收 藏]
上一篇文章:PDF417二维条码在嵌入式设备中的应用
下一篇文章:嵌入式linux在工业控制领域中的应用
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
服务电话:020-61131011;020-61131022 转82 投诉电话:020-61131011;020-61131022 转88 传真:020-61131022
电子邮件:paperease@vip.163.com paper@126.com 服务QQ:130008818 130009919
© 2002-2004 轻松论文网 赣ICP备05004673号 网络实名:轻松论文