历史上的今天
返回首页

历史上的今天

今天是:2025年03月19日(星期三)

正在发生

2018年03月19日 | 基于MSP430单片机的彩色TFT液晶显示模块的应用

2018-03-19 来源:eefocus

  现代显示技术的基本特点是将各种非电置的信息,如声、光、热、力、数、气氛等的信息源通过一定的传感器、处理器进行感知和处理,传输给显示装置,再由显示装置进行处理、转换,最后经由显示器件转换为人类视觉可识别的信息。在显示的过程中,TFT彩色液晶显示模块可以提供更大的信息量。而触摸屏是一种使电子设备改头换面的设备,它赋予电子设备以崭新的面貌,是极富吸引力的全新多媒体交互设备。

  总体设计

 

  任何一种基于微控制器的系统设计都包含了硬件设计和软件设计两个大的方面。硬件设计主要根据系统的功能要求选择不同的器件和芯片完成电路的搭建:软件设计是根据硬件的设计编写驱动代码和控制代码来完成特定的功能。硬件设计与软件设计结合起来才是一个完整的系统设计。

  系统硬件框图根据系统的设计要求(1)能显示温度、湿度和时间信息:(2)时间信息在外部断电后可以保持;(3)能将温度、湿度和时间等信息进行语音提示;(4)可以对时间进行设置。提出系统的硬件框图如下图所示。

系统的硬件框图

  系统软件设计思想要完成这样一个系统,一般都会使用到微控制器的中断系统。基于此,系统软件的设计思想如下:(1)开机检测系统状态,完成相应的初始化(在初始化中打开中断);(2)进入正常工作状态;(3)等待中断触发,在不同的中断中完成不同的功能。

  硬件设计

  微控制器的选择与最小系统设计在整个系统中,微控制器是一个很重要的核心器件,它主要完成传感器信号的加工与处理、时间信号的加工与处理、显示信号的加工与处理以及人机交互信息的加工与处理。这些信息量是非常大的。

  目前市面上单片机的种类与型号是最丰富的,从系统需求和笔者的经验出发,选择高速、高性能的MSP430系列单片机中的2系列单片机作为主控制器。

  在2系列单片机中,性价比相对比较高的是MSP430F24X(1)、MSP430F241(×)中的64脚封装的几种型号。它们的管脚是完全兼容的,区别是片内资源的不同。

  根据利尔达公司的LSD-FET430UIF这种型号的仿真头的使用说明和MSP430单片机的特性和管脚定义绘制最小系统板原理图如下图所示。

最小系统板原理图

  该最小系统板主要是完成MSP430单片机管脚的引出,采用DC3简易牛角插座;同时,对于UART串口使用了一片MAX3232芯片进行电平转换,配合DB9插座,从而可以和PC机进行通信。之所以采用这种插座引出的方式,是为了实现模块化,方便调试、检测和进行替换。

  温度与湿度信息获取模块的设计温度与湿度信息都是模拟量,因此必须使用相应的传感器及相关器件组成一定的模块将其转变成单片机可以识别的数字量。目前市面上温度和湿度传感器的品种有很多,已经出现了温湿度一体化的传感器,通过调研,笔者选定了瑞士盛世瑞恩公司的SHT数字温湿度传感器。SHT数字温湿度传感器最大的特点是:①全标定输出,无需标定即可互换使用;②两线制数字接口,无需额外电路。

  实时时钟模块的设计实时时钟信号的获取有多种途径,可以利用单片机自身的内部定时器或者中断产生,也可以使用专用的时钟芯片获得。而无论使用哪一种方式,都必须考虑到断电后时钟继续工作的问题。

  这个时候,采用专用的时钟芯片来解决这个问题是最简便的方法,本设计中直接使用PCF8563来完成实时时钟模块的设计。

  PCF8563是低功耗的CMOS实时时钟/日历芯片,它提供一个可编程时钟输出,一个中断输出和掉电检测器,所有的地址和数据通过12C总线接口串行传递。最大总线速度为400Kbits/s,每次读写数据后,内嵌的字地址寄存器会自动产生增量。

  语音提示模块的设计目前市面上有多种类型的语音芯片。

  对于用量不大的使用者来说,最常见的语音芯片主要分为两大类:一类以Flash为存储器,需要将语音信号进行录入后才可以播放,以后也可以修改语音信号,以ISD系列芯片为代表;一类将语音信号固化在ROM中,通过输入相应的控制和数据代码只能进行放音操作。在本系统中,选择使用第二类芯片。具体的型号是北京宇音天下科技有限公司采用自主核心技术开发的OSYN06188嵌入式中文语音合成芯片。

  OSYN06188的特点是:通过UART接收待合成的文本,可直接通过PWM输出方式驱动扬声器,亦可外接单支三极管驱动扬声器,即可实现文本到声音(TTS)的转换。支持国家标准GB2312所有汉字。

  人机交互模块的设计人机交互模块是系统设计中非常重要的组成部分,主要包括了信息显示终端与输入终端这两个部分。

  在这样一个系统中,信息显示终端必然选择平板显示器件;在平板显示器件中要么选择数码管/LED点阵,要么选择液晶显示模块。输入终端可以选择独立式键盘、矩阵式键盘;当选择使用了液晶显示模块后还可以选择触摸屏作为输入终端。

  本系统选择4.7TFT真彩色液晶显示模块做为显示终端,与之配套的触摸屏做为输入终端来完成人机交互模块的设计。

  1.汉字显示:标准汉字的点阵为15列16行,在没有硬件汉字库的情况下使用软件对汉字进行取模操作,然后将显示模数据送液晶显示器件进行显示。笔者选用的4.7液晶显示模块中自带了集通数码科技的GT21标准汉字字库芯片。GT21芯片采用了SPI总线,使用相对简单方便。

  2.触摸屏:触摸屏是一种极富吸引力的全新交互设备,它极大的简化了系统的使用,使各种类型的系统展现出更大的魅力。触摸屏的三大主要种类是:电阻式触摸屏、声表面波式触摸屏、电容式触摸屏。其中电阻式触摸屏自进入市场以来,就以稳定的质量,可靠的品质及环境的高度适应性占据了广大的市场,占有90%的市场量,已成为市场上的主流产品。本系统即选用电阻式触摸屏。从工作原理来看,要完成电阻式触摸屏的驱动与控制,必须具备以下两个条件。(1)完成电极电压的切换;(2)采集接触点处的电压值(即A/D)。

  此时可以通过使用模拟开关与MSP430内部自带的AD转换器来实现电阻式触摸屏的驱动与控制,但是这样会增加系统硬件设计的难度以及软件编写的难度。因此选择使用触摸屏专用控制芯片AD7843是一种简单、有效的解决方式。

  3.基于触摸屏的人机交互模块的硬件设计:根据所选择的器件,最终完成的硬件设计如下图所示。

基于触摸屏的人机交互模块的硬件设计

  在图中左侧的接口也使用了DC3-10脚插座,与MSP430F2XX最小系统板是一一对应的。连接采用FC3-10芯的排线进行连接。

  软件设计

  系统工作流程与大多数的微控制器一样,MSP430系列单片机支持汇编与C语言的编程,另外MSP430系列单片机还支持C++语言的编程。由于C语言的优异特性,笔者选用C语言进行编程。目前针对MSP430系列单片机的开发环境中,相对使用比较多的是IAREmbeddedWorkbench。

  1MSP430系列单片机低功耗程序结构:由于MSP430系列单片机的在超低功耗的特殊性能,使得基于MSP430系列单片机的编程有自己独到且方便的方面。本系统程序设计选择如下图所示结构。

76

  低功耗的实现是由程序状态寄存器(SR)中的控制位进行控制的。它实现了5种低功耗模式:LPMO、LPM1、LPM2、LPM3、LPM40任何一种低功耗模式都只能与活动模式进行切换,如下图所示。54

  程序代码编写程序代码要根据不同模块、不同硬件连接方式进行编写。

  1Flash驱动:MSP430系列单片机的Flash分为程序Flash和信息Flash。程序Flash按512字节分段,信息Flash按64字节分段。MSP430系列单片机可以对自身的Flash进行读写操作,因此可以将系统设置、状态信息保存在自身的Flash中,从而省去相应的外设。

  值得注意的是,Flash的擦除是按段进行的。因此,要改变某一字节的Flash中的内容必须按照以下几个步骤进行。(1)将相应段中的内容读入到内存中保存起来;(2)修改相应字节的内容;(3)段擦除;(4)写入修改后的信息。

  2硬件乘法器驱动:硬件乘法器是一个外围器件,它的运算过程与CPU无关,软件通过访问相关的寄存器就可以得到最终的运算结果。(1)操作数1寄存器(OPI)不能直接访问,只能通过4个寄存器MPY、MPYS、MAC或MACS来间接访问,这4个寄存器又代表了不同的乘法操作,分别为无符号乘法运算、有符号乘法运算、无符号乘加运算以及无符号乘加运算:(2)操作数2寄存器(OP2)可以直接访问:(3)当数据写入OP2寄存器时,立即开始相应的运算,运算结果放入RESHI、RESLO以及SUMEXT这3个寄存器中。

  3USCI驱动:所谓的USCI指的就是UniversalSerialCommunICationInter-face,通用串行通信接口。MSP430系列单片机提供的USCI包括了硬件的UART、SPI和IIC。

  这几种接口有些口线是复用的,有些寄存器也是复用的,在驱动编写中要根据当前不同的器件及其接口在这几个寄存器UCAxCTLO(USCI_AxControlRegistero)、UCAxCTLl(USCI_AxControlRegis-terl)、UCBxCTLO(USCI_BxControlRegisterO)、UCBxCTLl(USCI_BxCon-trolRegisterl)(x=l或2)中进行USCI工作模式的选择。

  使用USCI驱动时,可以使用中断方式也可以使用查询方式进行操作。

  以查询方式为例,如果通过USCIBO发送一个字节,那么使用如下语句:

56

  第二行代码的作用就是等待发送操作完成。如果通过USCIBO接收一个字节,那么使用如下语句:

34

  第一行代码的作用就是等待接收操作完成。

  在这个系统中使用到硬件USCI驱动的芯片有PCF8563(12C)、GT21(SPI)和OSYN06188(UART)。

  4数字温湿度传感器驱动:数字温湿度传感器虽然使用了两线串口,但与I2C不兼容。

  其时序特点是(1)SCK用于微控制器与SHT之间的通讯同步:(2)DATA三态门用于数据的读取。DATA在SCK时钟下降沿之后改变状态,并仅在SCK时钟上升沿有效。数据传输期间,在SCK时钟高电平时,DATA必须保持稳定。

  在测试的起始要产生启动时序,如下图所示。

45

  由于MSP430系列单片机不支持位操作,因此要将口线某一位置为高电平或者低电平需要使用如下语句:56

  为了方便代码编写,使用如下预编译语句:5触摸屏控制芯片驱动:78

98

触摸屏控制芯片选用的是AD7843,AD7843是使用了SPI总线的器件。但是经过实验发现AD7843的SPI总线使用MSP430的口线通过编程来模拟SPI总线比较好。

  数据是在时钟的上升沿移入AD7843的,所以发送-bit数据的流程就是(1)时钟线置0:(2)设置MOSI线数据;(3)时钟线置1。

  如此反复将一个字节数据送入AD7843。数据是在时钟的下降沿移出AD7843的,所以接收-bit数据的流程就是(1)时钟线置1;(2)读取MISO线上的数据;(3)时钟线置0。

  6液晶显示模块驱动:选用的液晶显示模块为16位真彩色TFT液晶显示模块,即红色数据5位,绿色数据6位,蓝色数据5位。这款模块的接口是8位的接口,因此对于任何一个像素点都需要送两次字节数据;而模块的命令字依旧是8位的,因此命令只需要送一次字节数据。

  7中断服务:在IAREmbeddedWorkbench环境中,中断服务函数有特殊的形式,如下代码所示(P2口的中断服务函数):

45

  在设计中主要使用了P2与P1口的中断服务。

     结束语

      以硬件设计原理图将MSP430F2XX最小系统板和功能模块通过10芯FC-3排线进行连接,在系统硬件搭建完成后,首先用万用表进行测试,看是否有短路和断路的情况出现。经检测无误,给整个系统供电,对电源模块输出电压进行测试,在正常范围内。打开最小系统板的电源开关,如电源指示灯亮度正常,单片机不发热,即可以进行软硬件统调。


推荐阅读

史海拾趣

Aborn Electronics Inc公司的发展小趣事

随着电子行业的快速发展,Aborn Electronics意识到只有不断创新才能在竞争中保持领先。公司加大了对研发的投入,引进了一批高素质的研发人才,并在多个技术领域取得了重要突破。其中,一项关于高效能电源管理技术的创新成果,不仅提高了产品的能效比,还为公司带来了可观的经济效益。这一技术的成功应用,进一步提升了Aborn Electronics在行业内的影响力。

Greenray Industries Inc公司的发展小趣事

为了加速绿色技术的推广和应用,GreenTech积极寻求与全球知名企业的战略合作。例如,公司与一家国际领先的电动汽车制造商达成合作协议,共同研发用于电动汽车的高效电池管理系统。通过这一合作,GreenTech不仅提升了自身在电池技术领域的竞争力,还成功将绿色技术应用于实际产品中,推动了电动汽车行业的绿色发展。

千志电子(CCO)公司的发展小趣事

随着技术的不断进步和市场的日益成熟,千志电子开始注重电阻产业的深耕。公司不仅专注于电阻的生产,还逐渐向电阻专用设备、原材料等领域延伸。2006年,千志电子成立了深圳市鑫兴志实业有限公司,主要生产电阻相关的生产机器如切割机、焊接机、成型机、涂装机等。同时,千志电子还成立了千志电子科技(湖北)有限公司,生产各类型电阻器、设备及电阻所需原材料如碳棒、线材等。这一战略调整使千志电子形成了从原材料到设备的完整产业链,提高了生产效率和产品质量,进一步巩固了其在电阻行业的领先地位。

Amaze Electronics Pte Ltd公司的发展小趣事

在电子行业的快速发展中,Amaze Electronics Pte Ltd以其前瞻性的技术创新赢得了市场的认可。公司投入大量研发资源,成功开发出了一款高效能、低能耗的智能手机芯片。这款芯片不仅大幅提升了手机的运行速度,还显著降低了能耗,为用户带来了更流畅的使用体验。凭借这一技术创新,Amaze Electronics迅速在市场上脱颖而出,赢得了众多手机制造商的合作意向。

GHI Electronics公司的发展小趣事

为了满足不同客户的多样化需求,GHI Electronics不断拓展其产品线。除了传统的电子元件和模块外,公司还开始涉足智能家居、物联网等新兴领域。通过不断引入新技术、新产品,GHI Electronics成功实现了从单一产品向多元化产品线的转变。这种转变不仅丰富了公司的产品线结构,也提高了公司的综合竞争力。

Beck IPC GmbH公司的发展小趣事

Beck IPC GmbH,一家在嵌入式通讯市场享有盛誉的公司,以其创新的IPC@CHIP技术为核心,为工业OEM提供了强大的支持。在某一时期,公司研发团队经过长时间的努力,成功开发出一款具有划时代意义的嵌入式控制模块。这款模块不仅性能卓越,而且稳定性极高,迅速获得了市场的广泛认可。多家知名工业设备制造商纷纷与Beck IPC建立合作关系,将其产品应用于各种高端设备中,从而推动了公司的快速发展。

问答坊 | AI 解惑

【推荐】基于LabVIEW的数据采集高级编程

[时间] 2010/01/26   |   13:30 -  16:30 [地点] 苏州丽都大酒店5楼4号会议厅(苏州市干将西路168号) [主办公司] 美国国家仪器有限公司 [简介] NI LabVIEW + 数据采集的完美体验!      &n ...…

查看全部问答>

初学者学嵌入式的学习计划

只会一些编程语言的初级知识,如何学嵌入式阿…

查看全部问答>

nandflash使用中出现坏区导致wince系统崩溃

在使用arm9开发板时,对nandflash读写上千次之后,系统出现问题, 打开调试终端后发现: FMD_GetBlockStatus::Logical block 0x53B is marked as bad FMD_GetBlockStatus::Logical block 0x53B is marked as bad FMD_GetBlockStatus::Logical b ...…

查看全部问答>

无聊,大家一起休闲下~~

http://www.hougong.info/?fromuid=92961…

查看全部问答>

Linux内核的 Fec.c 接收函数中 收不到 bpdu包,怎么回事

我发送bpdu包(组播包),为什么在Fec的接受函数里收不到呢。 而广播包,还有目标Mac为板子的Mac的包可以接受到。 怎么回事,不懂? 请教达人帮忙!!!!!…

查看全部问答>

S3C2440板子SDRAM不转,为什么?

     最近做了一块S3C2440的板子,程序从FLASH搬4K到2440内部的SRAM中初始化CPU,SDRAM后,(前4K代码运行正常,有指示灯显示),搬代码到SDRAM中,在SDRAM运行,就运行不了,程序跑飞,不知道为什么?     &n ...…

查看全部问答>

做一个打蟑螂(灶麻子)的电击盘

关于这个电路我想做个说明: 主要电路是变压器T极其分布电容,其工作原理图见http://photo.163.com/photos/qingjidanpianji/131797516/3575663836/,V1,V2组成反馈式振荡升压电路.其中T是稳压(随身听用)电源其规格是220V/3V/2W的变压器,兼作反馈元件, ...…

查看全部问答>

有兴趣的兄弟来加入硬件/嵌入开发 无线QQ群

有兴趣的兄弟来加入硬件/嵌入开发 无线QQ群 让我们来进同进步吧!!!!!一起交流开发经验!!! 群号36507037 …

查看全部问答>

关于并口和USB仿真器的问题

最近正在用FE425做一个程序,用并口调试时读不到SD16的转换结果,但是同样的设置(只是把下载器设置改了一下)USB仿真器却可以读出来。为什么呢???…

查看全部问答>