MSP430与图形液晶显示模块接口应用(转载)

发布者:春林初盛最新更新时间:2015-03-09 来源: laogu关键字:MSP430  图形液晶显示  模块接口 手机看文章 扫描二维码
随时随地手机看文章
概述

  MSP430F149是德州仪器公司最近推出的MSP430系列超低功耗控制器中的一种,电源电压范围为1.8V至3.6V,可以用电池工作,而且使用时间长,适用于电池供电的手持设备使用。另外,液晶显示器具有功耗低、体积小、重量轻等特点,图形LCD除了显示字符、数字外,还可以显示汉字、图形、曲线等LED无法显示的功能,用途广泛。因此以MSP430为核心的LCD在智能仪器仪表和低功耗电子产品行业有广泛的发展前途。

  本文在简单介绍液晶显示器LM12864FBC的驱动器KS0108B和KS0107B的结构和功能基础上,介绍了MSP430F149的LCD硬件接口和软件编程特点。

图1 MSP430F149与LM12864FBC接口原理图(略)

硬件设计

KS0108B的接口信号

  KS0108B和KS0107B是LM12864FBC的共同驱动芯片,其中KS0107B是公共行驱动芯片,KS0108B是通过它产生的时序控制的。二片KS0108B是列驱动及控制芯片,KS0108B与微处理器的接口信号如下:
DB0-DB7:数据总线;
CSA、CSB:芯片选择信号A、B,CSA(B)=1,选通列驱动左、右半部分,CSA(B)=0,不选通列驱动左、右半部分;
D/I:D/I=1操作数据,D/I=0操作指令代码;
R/W:R/W=1读操作,R/W=0写操作;
E:输入使能。

LM12864FBC模块的引脚说明

MSP430F149与LM12864FBC接口电路

  本液晶显示模块是128 64的LCD,利用P3.0-P3.4作为LCD的CSA、CSB、D/I、R/W和E的控制线,P4为LCD的数据线。由于MSP430的I/O口都是复用端口,因此必须将用到的引脚设为输入/出口。此外,MSP430是3.3V供电,而LCD是5V驱动的。

图2 KS0108B操作流程图(略)

软件设计 

KS0108B指令集

  KS0108B一共有七条指令,从作用上可分为两类。第一条和第二条指令为显示状态设置类;其余指令为数据读/写操作指令。
LM12864FBC的软件编程
(1)读液晶显示器状态子程序
void lcdstate(int cs) //cs代表液晶的边csa,csb
{
int csflag;
P4DIR=0x00;//P4口为输入口
while(1) 
{ if(cs==1)
{P3OUT =BIT0;
P3OUT&=~BIT1;
P3OUT&=~BIT2; 
P3OUT =BIT3; //CSA=1,CSB=0,D/I=0,R/W=1,以便读液晶状态
}
else 
{ P3OUT&=~BIT0;
P3OUT =BIT1;
P3OUT&=~BIT2; 
P3OUT =BIT3; //CSA=1,CSB=0,D/I=0,R/W=1,以便读液晶状态
}
P30UT&=~BIT4;
delay(3);
P30UT =BIT4;
delay(3);
P30UT&=~BIT4; //E信号低-高-低满足时序要求 
csflage=P4DIR&0x80;
if(csflag=0) break;//若液晶空闲,停止等待
}
}

(2)对液晶显示器发指令子程序
void transport(trans,cs) //该函数采用形参和实参传送数据,trans为一个形参
int trans,cs; 
{
lcdstate(cs);//判断液晶是否忙?
P4DIR= 0xFF;//P4口为输出口
delay(3);
if(cs==1)
{P3OUT =BIT0;
P3OUT&=~BIT1;
P3OUT&=~BIT2; 
P3OUT&=~BIT3; //CSA=1,CSB=0,D/I=0,R/W=0,以便写入指令
}
else 
{ P3OUT&=~BIT0;
P3OUT =BIT1;
P3OUT&=~BIT2;
P3OUT&=~BIT3;//CSA=0,CSB=1,D/I=0,R/W=0,以便写入指令
}
P4DIR=0xFF trans; //需要写入的命令字送数据线
P30UT&=~BIT4;
delay(3);
P30UT =BIT4;
delay(3);
P30UT&=~BIT4; //E信号低-高-低满足时序要求 
}[page]

(3) 写数据子程序
void wdata(write,clmadd,cs) //write为需写入的数据,clmadd为列地址
int write,clmadd,cs; 
{ transport(clmadd,cs);//设置列地址
lcdstate(cs) ;//判断液晶是否忙?
P4DIR= 0xFF;//P4口为输出口
delay(3);
if(cs==1)
{P3OUT =BIT0;
P3OUT&=~BIT1;
P3OUT =BIT2; 
P3OUT&=~BIT3; //CSA=1,CSB=0,D/I=1,R/W=0,以便写入要显示的数据
}
else 
{ P3OUT&=~BIT0;
P3OUT =BIT1;
P3OUT =BIT2; 
P3OUT&=~BIT3; //CSA=1,CSB=0,D/I=1,R/W=0,以便写入要显示的数据
}
P4DIR=0xFF write; //需要写入的命令字送数据线
P30UT&=~BIT4;
delay(3);
P30UT =BIT4;
delay(3);
P30UT&=~BIT4; //E信号低-高-低满足时序要求 
}

(4)开,关,清屏子程序
void dison(cs) //显示开(关)
int cs;
{ int csflage;
while(1)
{transport(0x03e,cs);//发送控制命令,若关显示则为transport(0x03f,cs)
lcdstate(cs);
P4DIR=0x00;//P4口为输入口
while(1) 
if(cs==1)
{P3OUT =BIT0;
P3OUT&=~BIT1;
P3OUT&=~BIT2; 
P3OUT =BIT3; //CSA=1,CSB=0,D/I=0,R/W=1,以便读液晶状态
}
else 
{ P3OUT&=~BIT0;
P3OUT =BIT1;
P3OUT&=~BIT2; 
P3OUT =BIT3; //CSA=1,CSB=0,D/I=0,R/W=1,以便读液晶状态
}
P30UT&=~BIT4;
delay(3);
P30UT =BIT4;
delay(3);
P30UT&=~BIT4; //E信号低-高-低满足时序要求
csflage=P4DIR&0x80;
if(csflag=0) break;//若液晶空闲,停止等待
}
}
void clear(int cs) //清屏子程序
{ int pagenum,pageadd,clmadd,clmsum;//定义局部变量
for(pagenum=0x08,pageadd=0x0b8;pagenum>0;pagenum--,pageadd++)
{ transport(pageadd,cs);
for(clmsum=0x40;clmsum<0x7f;clmsum++)
{lcdstate(cs) ;//判断液晶是否忙?
wdata(0x00,clmsum,cs); 
}
}
}

  有了上述各子程序后,就可以在显示屏上任意位置显示汉字、字符、数字和其他图形。

结束语
  上述部分只是我们在开发输电线测量变频电源系统时使用的显示模块部分,已经在MSP430仿真器fet_r304上调试通过,在整个系统中效果不错。本系统体积小、功耗少、接口简单,值得在智能仪器仪表和低功耗电子产品行业推广。
关键字:MSP430  图形液晶显示  模块接口 引用地址:MSP430与图形液晶显示模块接口应用(转载)

上一篇:MSP430与12864连接驱动程序(KS0108)
下一篇:MSP430单片机硬件知识(2)-中断

推荐阅读最新更新时间:2024-03-16 13:54

msp430头文件中 DEFC DEFW 及周边的解释
现象: 从这看见DEFC DEFW #define __MSP430_HAS_SD16_A1__ #define SD16INCTL0_ (0x00B0u) DEFC( SD16INCTL0 , SD16INCTL0_) #define SD16AE_ (0x00B7u) DEFC( SD16AE , SD16AE_) #define SD16CONF0_ (0x00F7u) DEFC( SD16CONF0
[单片机]
由SA51和MSP430F1121组成的驱动控制系统
摘要:介绍了脉宽调制功率放大器SA51和16位单片机MSP430F1121的基本特性,给出了由它们组成的两片式的电机转速控制系统的简单应用方法和电路。 关键词:SA51 MSP430F1121 脉宽调制 DCO 捕获 现在的电子设备往往要求体积小、重量轻、效率高,通常在苛刻的环境条件下,尤其在军工产品中,设计者非常希望使用单片或双片系统以尽可能地减少器件数量。SA51和MSP430F1121以其自身的高集成度和强大功能成为组成双片驱动控制系统的理想选择方案。该方案可广泛应用在对电机、电磁阀的控制系统中。 1 SA51简介 1.1 SA51的特点参数 SA51是由美国APEX公司生产的脉宽调制功率放大器,它能为负载提供5
[单片机]
MSP430单片机输入与输出
MSP430单片机的输入输出线绝大多数是服用的,除了个别的端口外,基本上是8为为一组,不同的型号的MSP430的端口有所不同,就msp430F5438而言,一共有11个I/O端口,其中除了第十一P11的宽度是3位以外,其他的端口全是8为宽度,为了方便使用,分别命名为PA,PB,PC, ,分别对应P1,P2P3 值得注意的是MSP430F5438单片机的P1和P2端口还具有申请中断的功能,而其他的端口则无此功能 每个端口都有控制开关,分别可以控制端口的方向,引脚的功能,每个端口都有自己的输入输出寄存器,MSP430F5438海域中断管理寄存器,他们分别决定端口的中断使能,中断有效边沿,和中断标志位 示例代码: 驱动实
[单片机]
<font color='red'>MSP430</font>单片机输入与输出
MSP430 CCS C程序里面嵌入asm
asm( mov #01100h,PC ); 编译失败 warning: ../cmd.c , line 56: Assembly statement mov #01100h,PC creates a label, which may not be what was intended. Use a colon after a label or a space before a non-label to silence the warning. warning: ../cmd.c , line 61: Assembly statement nop creates a label, which may not b
[单片机]
PIC单片机人机接口模块4×4行列式键盘的电路设计
本实例的4×4行列式键盘的原理图如图1所示,在输出时,采用端口C的低4位来显示按键的输入值。 图1 外部上电复位电路 单片机的时钟电路和复位电路可以采用如图2所示的电路,也可以采用一种更加简单的时钟电路,即如图2所示的时钟电路和复位电路。在实现时也可以用PIC16C5X端口作为输入端,其电路如图3所示。 图2 时钟电路和复位电路 图3 4×4行列式键盘的电路图 其中,RD0~RD3用来进行列扫描,RD4~RD7用来进行行扫描。RD4~RD7各自通过一个电阻接到电源上,并和RD0~RD3通过一个按键连接起来。 当一个按键按下时,对应的行输入口的电平为通过按键连接的列输入端口的电平。普通状态下,各个列端口的输出
[单片机]
PIC单片机人机<font color='red'>接口</font><font color='red'>模块</font>4×4行列式键盘的电路设计
MSP430F449晶振不起振 调试
MSP430F449提供内部晶振和两个外部晶振的接口。 外部晶振分为高速晶振和低速晶振。低速晶振32768Hz直接接到晶振接口上,不需要匹配电容。其他频率的晶振接不接电容,接多大的电容参考datasheet的说明。 如此接了还不起振,找不到问题的解决方法。瞎搞了两天。 是一个方法的问题,遇到问题就查找datasheet,肯定是自己某些地方疏忽了。 我在datasheet里以关键字oscillator进行查找。发现忽略了AVss脚。 把AVss接地,晶振就起振了,RS232与主机通信问题解决。 值的一提的是,由于我还没入门,我觉得入门阶段 多看datasheet里面提供的标准应用,和TI提供的例程对我们学习M
[单片机]
<font color='red'>MSP430</font>F449晶振不起振 调试
MSP430G2553 WDT的定时器模式例子
#include MSP430G2553.h int main( void ) { WDTCTL = WDT_ADLY_1000; //定时周期为1000ms IE1 |= WDTIE; //使能WDT中断 P1DIR |= 0x01; // P1.0输出 _EINT(); //等同_EINT(), 系统总中断允许 while(1) //循环等待定时器溢出中断 { LPM3; //进入 LPM3 _NOP(); } } //===========看门狗中断服务子程
[单片机]
MSP430与DS18B20数码管显示(中断法)
#include msp430x14x.h typedef unsigned char uchar; typedef unsigned int uint; /*****18B20部分的接口定义********/ #define DQ1 P1OUT |= BIT6 #define DQ0 P1OUT &= ~BIT6 #define DQ_in P1DIR &= ~BIT6 #define DQ_out P1DIR |= BIT6 #define DQ_val (P1IN & BIT6) /*****数码管部分的接口定义********/ #define wei_h P5OUT|= BIT5 #define wei_l P5OUT
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved