欢迎来到天天文库
浏览记录
ID:6599376
大小:218.00 KB
页数:8页
时间:2018-01-19
《dsp与智能彩色液晶显示器接口设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、DSP与智能彩色液晶显示器接口设计来源:电子产品世界/钟贵生曾国宏2005-12-12点击:492 近年来,随着低价格、高性能DSP芯片的出现,DSP已越来越多地被应用于高速信号采集、语音处理、图像分析处理等领域中,并显示出巨大的优越性。智能彩色液晶显示器具有显示直接美观、便于操作的特点,被用作各种便携式系统的显示前端。它一般采用工业级的高频CPU可以自行对接收的命令和数据进行处理因而能够提高用户端接口的软件开发效率。 一般的液晶显示往往采用单片机控制但在系统需要大量高速实时数据的情况下,单片机由于受处理速度的限制就显得力不从心而且一般的液晶显示仍采用
2、烦琐的点阵操作来显示汉字和图形,而这又增加了软件开发的难度。为了解决这些问题,本文将提出一种基于DSP控制的智能彩色液晶显示器的接口设计方法,从而有效地解决了上述问题。 智能彩色液晶显示器(以下简称LCD)VK63是上海广电集团北京分公司的产品,它具有体积小、功耗低、无辅射、寿命长、超薄、防振及防爆等特点。该显示器的显示颜色为256色,可显示字符为ASCII的二级字库,中文显示为15行×20列,图形点阵320×RGB×240。 该LCD采用大规模门阵列集成电路,从而避免了用烦琐的点阵操作来显示汉字和图形,减轻了软件开发人员的负担,提高开发效率;由于采用全数字化设计,因
3、而显示稳定可靠,抗强电磁干扰;该LCD采用工业级的CPU(89C51),机内配置有二级字库,可通过串口或三态数据总线并口接收控制命令数据,并自行对接收的命令和数据进行处理,以实时显示用户所要显示的各种曲线、图形和中西文字体。其原理框图如图1所示。 LCD的命令码为十六进制码格式,每个命令均以十六进制码的“1B”开头,后面为命令代码和所需要的参数。其中XH表示X坐标的高8位,XL表示X坐标的低8位,YH表示Y坐标的高8位,YL表示Y坐标的低8位。 LCD的图形方式以光点为最小点阵显示单位,每个光点包含RGB三个色点。字符方式以8×16点阵为最小显示块单位。西文字符占一个
4、显示块,16×16点阵的汉字占两个显示块。本机每显示一个字符或汉字后光标自动右移一个字符或汉字位所以在同一行里顺序写入汉字或字符时不用再加光标定位命令,即可连续送入内码。 如图形操作为画一实心矩形,那么,其命令代码为:1B41colorXH1XL1YH1YL1XH2XL2YH2YL2,其中,color为颜色代码,X1Y1为左上角坐标,X2Y2为右下角坐标。其具体操作是以点(X1,Y1)为左上角坐标,以点(X2,Y2)为右下角坐标,使用指定的颜色画实心矩形。 2.1串行通讯的硬件设计 LCD选用标准RS-232通讯接口,按串口方式工作。一帧信息为10位,内含1
5、位起始位(0),8位数据位(先低位后高位),1位停止位(1)。 为了提高通讯速度,显示器内设置了一个128字节的输入缓冲区。发送数据前应先检查DTR信号(RS232电平),若DTR为负电平(对应COMS高电平),则表示缓冲区满,要等到DTR信号变为正电平(对应COMS低电平)后再发送数据。如果每组的数据量少于128字节,同时每组之间又有足够的间隔,则不用判断DTR信号就可连续发送数据。图2所示是其硬件接口原理框图。 2.2串行通讯软件设计 此设计是一个具体工程项目(无功与谐波补偿装置)的液晶显示部分程序,主要完成显示“系统是否投入工作以及工作是否正常”的各种彩色图形
6、曲线和文字,其中显示标志寄存器和COUNT数据寄存器的值都由相关应用程序给定。通过设置等待寄存器WSGR(赋值为0)和检测I/O的DTR信号可以防止数据发送丢失,从而实现高速DSP与外部低速LCD的通信。由于篇幅有限,这里只给出了串行初始化和数据发送部分的程序。其程序流程框图如图3所示。 (1)串行通讯初始化程序 LDP#0E0H;设置串行通讯口各寄存器 SPLK#0017H,SCICCR;SCI使能,空闲线唤醒模式,8位数据,无奇偶校验位 SPLK#0013H,SCICTL1;接收、发送、内部时钟使能,SLEEP=0 SPLK#0000H,SCICTL2;接收
7、和发送中断禁止 SPLK#0000H,SCIHBAUD SPLK#0082H,SCILBAUD;波特率为9600 SPLK#0020H,SCIPC2;设置SCITXD为串行发送功能,SCIRXD为I/O口功能 SPLK#0033H,SCICTL1;串口初始化完成 LARAR0,#SCITXBUF;发送缓冲寄存器地址 (2)数据串行发送程序 SCISS: LDP#0E0H BITSCIPC2,BIT3;检测DTR信号,判断输入缓冲区是否满 BCNDSCISS,TC;若缓冲区满,继续查询等待 LDP#4H;D
此文档下载收益归作者所有