微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于ARM7的LCD设计与实现

基于ARM7的LCD设计与实现

时间:04-29 来源:互联网 点击:

  1 引言

  随着科技的发展,ARM在社会各个方面的应用越来越广。ARM芯片广泛应用于无线产品、PDA、GPS、网络、消费电子产品、STB及智能卡。S3C4510B是SAMSUNG公司生产的基于ARM7TDMI的RISC微处理器,主频可达50MHZ。液晶显示是嵌入式系统中反映系统输入/输出的人机交互界面,液晶显示以其微功耗、体积小、显示内容丰富、模块化,接口电路简单等诸多优点得到广泛应用。由于S3C4510B主要是针对以太网应用系统设计的,所以其内部没有LCD控制模块,这样在一些需要人机可视话交互过程中会产生诸多不便。我们在看重高性价比的情况下,利用S3C4510B的通用I/O口来控制液晶显示屏的软硬件方法,实现了与LCD控制模块一样的功能。

  2 S3C4510B介绍

  S3C4510B是三星公司的一款基于以太网应用系统的高性价比16/32位(精简指令集)RISC微控制器,内含一个由ARM公司设计的ARM7TDMI RISC处理器核,ARM7TDMI为低功耗、高性能的16/32核。支持大、小端模式,内部架构为大端模式,外部存储器可为大、小端模式;基于JTAG的调试方案;边界扫描接口。支持ROM/SRAM、FLASH、DRAM和外部I/O以8/16/32位的方式操作。最适合用于对价格及功耗敏感的应用场合。

  除了ARM7TDMI核以外,S3C4510B比较重要的片内外围功能模块包括:

  u 2个带缓冲描述符(Buffer Descriptior)的HDLC通道;

  u 2个UART通道;

  u 2个GDMA通道;

  u 2个32位定时器;

  u 18个可编程的I/O口。

  S3C4510B提供了18个可编程的通用I/O端口,用户可将每个端口配置为输入模式、输出模式或特殊功能模式,由片内的特殊功能寄存器IOPMOD和IOPCON控制。所传输的数据存放在寄存器IOPDATA中。

  端口0~端口7的工作模式仅由IOPMOD寄存器控制。另外通过设置IOPCON寄存器,端口8~端口11可用作外部中断请求INTREQ0~INTREQ3的输入。端口12、端口13可用作外部DMA请求XDREQ0、XDREQ1的输入。端口14、端口15可作为外部DMA请求的应答信号XDACK0、XDACK1,端口16可作为定时器0的溢出TOUT0,端口17可作为定时器1的溢出TOUT1。

  I/O口模式寄存器IOPMOD中的低18位用于配置I/O口P17~P0的工作方式。0为输入、1为输出。

  3 OCMJ4X8C液晶模块

  该款液晶采用台湾矽创电子公司生产的ST7920中文图形控制芯片。液晶屏幕为128X64点。其可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。内置2M中文字型ROM(CGROM)总共提供8192个中文字型(16X16点阵),16K半宽字型ROM(HCGROM)总共提供126个符号字型(16X8点阵),64X16位字型产生RAM(CGRAM),另外绘图显示画面提供个个64X256点的绘图区域(GDRAM),可以和文字画面混合显示。提供多功能指令:画面清除(Display clear)、光标归位(Return home)、显示打开/关闭(Display on/off)、光标显示/隐藏(Cursor on/off)、显示字符闪烁(Display character blink)、光标移位(Cursor shift)、显示移位(Display shift)、垂直画面旋转(Vertical line scroll)、反白显示(By_line_reverse display)、待命模式(Standby mode)。

  OCMJ4X8C(128X64)引脚说明(表1)

  管脚号管脚符号说明

  1VSS逻辑电源地

  2VDD逻辑电源+5V

  3NC无连接

  4RS(CS)高:数据/低:指令(串行输入的片选)

  5R/W(SID)高:读/低:写(串行数据)

  6E(SCLK)使能端(串行时钟)

  7-14DB0-DB7并行数据端

  15PSB高:并行/低:串行

  16NC无连接

  17/RST系统复位 低电平有效

  18NC无连接

  19LEDA背光电源+5V

  20LEDK背光电源0V

  硬件电路:

  对于该款液晶模块,当PSB端接高电平时,模块将进入并行模式,并行模式又分为8-位和4-位传输模式。当PSB段接低电平时,模块将进入串行模式。该设计采用4线串行输入方式,所以将PSB端接地。并将背光电源端LEDA接电源+5V,LEDK接地。

  然后,将S3C4510B的IO口分别与液晶模块相接如下:IO3—SCLK、IO5—CS、IO7—SID、IO9—/RST。这里要注意的是需要通过软件设置S3C4510B相应的特殊功能寄存器,将IO3,IO5,IO7,IO9设置为输出模式。硬件连接图如图1所示:

  

  图1:硬件连接图

  4 软件实现

  软件开发环境为ARM SDT V2.5。程序分为两部分:首先为ARM初始化,使用汇编语言书写。然后才是用C语言书写的显示主程序。

  下面分别将两部分结合原代码略加说明。

  汇编语言部分:

  IOPMOD EQU 0x3FF5000 ;定义IO口模式寄存器

  IOPDATA EQU 0x3FF5008 ;定义IO口数据寄存器

  IMPORT Main

AREA Ini

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top