DSPLCD设计报告_流媒体课程设计报告

其他范文 时间:2020-02-27 13:49:00 收藏本文下载本文
【www.daodoc.com - 其他范文】

DSPLCD设计报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“流媒体课程设计报告”。

DSP设计报告

----液晶显示

学院:物信学院

专业:电子信息科学与技术 班级:11电信一班 姓名:何得中 学号:20111060108

一、引言

简单地说,数字信号处理就是用数值计算的方式对信号进行加工的理论和技术,它的英文原名叫digital signal proceing,简称DSP。另外DSP也是digital signal proceor的简称,即数字信号处理器,它是集成专用计算机的一种芯片,只有一枚硬币那么大。有时人们也将DSP看作是一门应用技术,称为DSP技术与应用。《DSP》这门课介绍的是:将事物的运动变化转变为一串数字,并用计算的方法从中提取有用的信息,以满足我们实际应用的需求。本次课程设计主要采用TI公司的DSP芯片TMS320F2812A驱动液晶显示模块RT12864J,在CCS2软件平台上,实现静态图片的显示。

关键词:DSP;LCD12864;C语言

二、设计目的1.加深对DSP技术的理解,掌握液晶显示的工作原理; 2.了解如何驱动液晶模块,从而实现字符、图片的显示; 3.培养自主学习、正确分析和解决问题的能力。

三、设计内容

1.简单设计一个驱动程序,使得LCD12864模块在DSP芯片的驱动下,可以任意显示一张128*64的图片。

2.利用C编程语言编写合适的能实现1中要求的基本具体功能的语言程序。

四、功能介绍

静态显示一张128*64的图片。

五、基本原理

1.液晶控制引脚

命令控制接口的地址为0x108001,数据控制接口的地址为0x108003和0x108004,辅助控制接口的地址为0x108002。

2.液晶控制命令

开显示:0x3f

设置操作页:0xb8+页号

设置显示起始行:0xc0+行号 设置操作列:0x40+列号

3.液晶显示原理

液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的像素,向其中写入数值将改变显示,写入“1”则显示一点,写入“0”则不显示。其地址与像素的对应方式如下:

4.数据传送

由于液晶显示模块相对运行在高主频下的DSP属于较为慢速设备,连接时需要考虑数据线上信号的等待问题;电平转换:由于DSP为3.3V设备,而液晶显示模块属于5V设备,所以在连接控制线、数据线时需要加电平隔离和转换设备,如:ICETEK-CTR板上使用了74LS245。

5.程序流程图

六、设计实现

1.查阅资料熟悉C语言并了解实验目的编写如下程序:

#include “DSP281x_Device.h” // DSP281x Headerfile Include File #include “DSP281x_Examples.h” // DSP281x Examples Include File #include “f2812a.h”

#define uint unsigned int #define uchar unsigned char

#define CTRGR *(int *)0x108000

//全局控制寄存器 #define CTRLCDCMDR *(int *)0x108001 //液晶命令控制寄存器 #define CTRLCDCR *(int *)0x108002 //液晶控制寄存器

#define CTRLCDLCR *(int *)0x108003 //液晶左半屏控制寄存器 #define CTRLCDRCR *(int *)0x108004 //液晶右半屏控制寄存器 #define CTRLA *(int *)0x108005

//发光二极管控制寄存器 #define CTRLR *(int *)0x108007

//辅助控制寄存器

uchar map[]={ 0xFF,0x7F,0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0xFC,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0x8F,0x8F,0xC7,0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0x01,0x9C,0xFF,0xFF,0xFF,0xFF,0xFF,0x71,0x00,0x30,0xFF,0xFF,0xFF,0xEF,0xFF,0x38,0x00,0x20,0xFF,0xFF,0xFF,0xCF,0x7F,0x3E,0x00,0x40,0xFE,0xFF,0xFF,0xCF,0x3F,0x1F,0x00,0x40,0xFE,0xFF,0xFF,0x8F,0x9F,0x1F,0x00,0x80,0xFE,0xFF,0xFF,0x8F,0xCF,0x1F,0x00,0x80,0xFC,0xFF,0xFF,0x8F,0xE7,0x1F,0x00,0x80,0xFC,0xFF,0xFF,0x27,0xE7,0x1F,0x00,0x80,0xFC,0xFF,0xFF,0x27,0xF3,0x7F,0x00,0xC0,0xFE,0xFF,0xFF,0x37,0xFB,0xFF,0x00,0xC0,0xFE,0xFF,0xFF,0x33,0xF9,0xFF,0x03,0x60,0xFE,0xFF,0xFF,0x33,0xF9,0xFF,0x0F,0x20,0xFF,0xFF,0xFF,0x33,0xFC,0xFF,0x79,0x18,0xFF,0xFF,0xFF,0x33,0xFC,0xFF,0x81,0x83,0xFF,0xFF,0xFF,0x03,0xFC,0xFF,0x07,0x80,0xFF,0xFF,0xE7,0x03,0xFC,0xFF,0xFF,0x9E,0xFF,0xFF,0x03,0x00,0xFC,0xFF,0xFF,0x3F,0xFF,0x3F,0x10,0x00,0xFC,0xFF,0xFF,0x3F,0xFF,0x0F,0x38,0x07,0xFC,0xFF,0xFF,0x7F,0xFE,0xC1,0x39,0x0E,0xFC,0xFF,0xFF,0x7F,0x04,0xF0,0x3F,0x3C,0xFC,0xFF,0xFF,0xFF,0x00,0xFE,0xFF,0x3C,0xF9,0xFF,0xFF,0xFF,0xE3,0xFF,0x3F,0x3E,0xF9,0xFF,0xFF,0xFC,0xE3,0xFF,0x3F,0x7E,0xF9,0xFF,0x7F,0xF8,0xE3,0xFF,0x7F,0x7E,0xFB,0xFF,0xFF,0xF3,0xE3,0x0F,0x7F,0x7E,0xF3,0xFF,0xFF,0xE7,0xE3,0x1F,0x00,0x7E,0xF3,0xFF,0xFF,0xCF,0xE3,0xFF,0x00,0x7E,0xE7,0xFF,0xFF,0xCF,0xE3,0xFF,0x7F,0x7E,0xCF,0xFF,0xFF,0xDF,0xE1,0xFF,0x7F,0x7E,0x8F,0x1F,0xFC,0x9F,0xC0,0x1F,0x00,0x7E,0x0F,0x1F,0xFC,0x9F,0x84,0x07,0x00,0x7E,0x2F,0x1F,0xFF,0x1F,0x1E,0xE3,0x7F,0x7E,0x6F,0xFE,0xFF,0x1F,0x7E,0xF0,0xFF,0x7F,0x7F,0xFE,0xFF,0x3F,0xFE,0xF8,0xFF,0x7F,0xFF,0xFE,0xFF,0x3F,0xFF,0xFB,0xFF,0x7F,0xFF,0xFC,0xFF,0x3F,0xFF,0xB3,0xFF,0x7F,0xFF,0xFC,0xFF,0x3F,0xFF,0x93,0xFF,0x7F,0xFF,0xFC,0xFF,0x1F,0xFF,0x87,0xFD,0x7F,0xFF,0xFC,0xFF,0x9F,0xFF,0x8F,0xFD,0x7F,0xFF,0xFC,0xFF,0x9F,0xFF,0x07,0xFD,0x7F,0xFF,0xFC,0xFF,0x9F,0xFF,0x23,0xFC,0x7F,0xFF,0xFC,0xFF,0x9F,0xFF,0x73,0xF0,0x7F,0xFF,0xFD,0xFF,0xDF,0xFF,0xF9,0x03,0x3F,0xFF,0xF9,0xFF,0xCF,0xFF,0xF9,0x0F,0x00,0xFF,0xF9,0xFF,0xCF,0xFF,0xB9,0xFF,0x81,0xFF,0xF9,0xFF,0xCF,0xFF,0xB3,0xFF,0xBF,0xFF,0xF3,0xFF,0xCF,0xFF,0x87,0xFD,0x3F,0xFF,0xF3,0xFF,0xE7,0xFF,0x8F,0xFD,0xBF,0xFF,0xE7,0xFF,0xE7,0xFF,0x3F,0xFC,0x9F,0xFF,0xCF,0xFF,0xF3,0xFF,0x7F,0x00,0x80,0xFF,0x8F,0xFF,0xF3,0xFF,0xFF,0x01,0xE0,0xFF,0x1F,0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x78,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x0F,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x4F,0xF2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xFB,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE9,0xF3,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCD,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x38,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xF1,0x9B,0xF1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xDF,0xF3,0xFF,0xFF,0xC1,0xFF,0x7F,0xFE,0xCF,0xF7,0xFF,0xFF,0x00,0xFE,0x7F,0xFF,0xC1,0xE7,0xFF,0x7F,0xFE,0xFC,0x7F,0xFF,0xCC,0xE7,0xFF,0x3F,0xFF,0xF9,0x7F,0xFE,0xDD,0xE7,0xFF,0x3F,0xF7,0xF3,0x1F,0xFE,0xF9,0xE7,0xFF,0x3F,0xF7,0xF7,0x87,0xFC,0xF9,0xE7,0xFF,0x1F,0xF0,0xE7,0xE1,0xF9,0xF3,0xE7,0xFF,0xC7,0xC3,0x67,0xFC,0x73,0xF0,0xE7,0xFF,0xF3,0x1F,0x27,0xFF,0x07,0xFF,0xE7,0xFF,0xFC,0x7F,0x84,0x7F,0xC0,0xFF,0xE7,0x7F,0xFE,0xFF,0x01,0x00,0xF0,0xFF,0xE7,0x3F,0x7F,0x80,0xC1,0xF8,0xF9,0xFF,0xE7,0x9F,0x3F,0x1E,0xB8,0xF3,0xFD,0xFF,0xE7,0xDF,0x9F,0x07,0x3E,0xE7,0xFC,0xFF,0xE7,0xCF,0x9F,0x03,0x3E,0xEF,0xFC,0x0F,0xF0,0xCF,0x9F,0x03,0x7F,0xCE,0xFD,0x01,0xF2,0xEF,0x3F,0x07,0x78,0xCE,0xF9,0xF9,0xF7,0xEF,0x7F,0x9E,0x78,0xDE,0xF9,0xFF,0xE7,0xEF,0x7F,0xBC,0x7F,0xDE,0xF3,0xFF,0xE7,0xEF,0x3F,0x8F,0x7C,0xDE,0xE7,0xFF,0xE7,0xEF,0x9F,0x83,0x78,0xDF,0x8F,0xFF,0xE7,0xCF,0xDF,0x83,0x3F,0xCF,0x1F,0xFE,0xE7,0xCF,0x9F,0x03,0x3F,0xCF,0x7F,0xF0,0xE7,0x9F,0x1F,0x3F,0x9F,0xE7,0xFF,0xF7,0xF7,0x9F,0x3F,0x00,0xCE,0xE7,0xFF,0xFF,0xF3,0x3F,0xFF,0x00,0xEE,0xF3,0xFF,0xFF,0xF8,0x7F,0xFC,0x7F,0x78,0xF8,0xFF,0x03,0xFC,0xFF,0xF8,0x1F,0x00,0x7E,0x00,0x80,0xF0,0xFF,0xC3,0x81,0xF1,0x0F,0xE0,0x67,0xF2,0xFF,0x0F,0xF0,0xE1,0xFF,0x8F,0x67,0xF7,0xFF,0xEF,0xFE,0x89,0xFF,0x3F,0x32,0xF7,0xFF,0xEF,0xF8,0x09,0xFE,0xFF,0x90,0xF7,0xFF,0xCF,0xF9,0x84,0xE0,0xFF,0xC3,0xF7,0xFF,0x8F,0x7F,0x36,0x07,0xFF,0xFF,0xF3,0xFF,0x1F,0x0C,0x77,0x7F,0xF8,0xFF,0xF9,0xFF,0x7F,0xE0,0x67,0xFE,0xC3,0xFF,0xF3,0xFF,0xFF,0xFF,0xE7,0xF8,0x0F,0xFE,0xE7,0xFF,0xFF,0xFF,0xCF,0xE3,0x61,0xF0,0xE7,0xFF,0xFF,0xFF,0xDF,0x07,0xF8,0xC1,0xE7,0xFF,0xFF,0xFF,0x1F,0xFF,0xFF,0xC8,0xE7,0xFF,0xFF,0xFF,0x7F,0xFE,0x3F,0xDE,0xE7,0xFF,0xFF,0xFF,0xFF,0xF0,0x87,0xDF,0xE7,0xFF,0xFF,0xFF,0xFF,0x03,0xE0,0xDF,0xE7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xDF,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0xE6,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, };void Delay(uint xx)// 延时子程序 { while(xx--);}

void TurnOnLCD()

// 打开显示 { CTRLCDCMDR=0x3f;

//打开显示

Delay(10);

CTRLCDCR=0;Delay(2048);}

void LCDCLS()

{ int i,j;CTRLCDCMDR=0xc0;

Delay(10);

CTRLCDCR=0;Delay(10);

for(i=0;i

CTRLCDCMDR=0xb8+i;

Delay(10);

CTRLCDCR=0;

Delay(10);

CTRLCDCMDR=0x40;

Delay(10);

CTRLCDCR=0;

Delay(10);

for(j=0;j

{

CTRLCDLCR=0;

Delay(10);

CTRLCDCR=0;

Delay(10);

}

CTRLCDCMDR=0xb8+i;

Delay(10);

CTRLCDCR=0;

Delay(10);

CTRLCDCMDR=0x40;

Delay(10);

CTRLCDCR=0;

Delay(10);

for(j=0;j

{

CTRLCDRCR=0;

Delay(10);

// 清除屏幕显示内容//设置显示起始行 //设置操作页 //设置操作列 //设置操作页 //设置操作列

CTRLCDCR=0;

Delay(10);

} } }

void lcdinit(){ CTRGR=0x80;// 初始化ICETEK-CTR Delay(10);

CTRGR=0x0;Delay(10);

CTRGR=0x80;Delay(10);

CTRLA=0;

// 关闭东西方向的交通灯

Delay(10);

CTRLR=0x40;// 关闭南北方向的交通灯

Delay(10);

TurnOnLCD();// 打开显示

LCDCLS();

// 清除显示内存 }

void disp_picture(uchar *img){ int j,k,n;CTRLCDCMDR=0xc0;

// 设置显示起始行

Delay(10);

CTRLCDCR=0;Delay(10);

for(j=0;j

for(k=0;k

{

CTRLCDCMDR=0xb8+k;// 设置操作页

Delay(10);

CTRLCDCR=0;

Delay(10);

CTRLCDCMDR=0x40+j;// 设置显示起始列

Delay(10);

CTRLCDCR=0;

Delay(10);

CTRLCDLCR=img[n];

n++;

Delay(10);

CTRLCDCR=0;

Delay(10);

}

}

for(j=0;j

for(k=0;k

{

CTRLCDCMDR=0xb8+k;

Delay(10);

CTRLCDCR=0;

Delay(10);

CTRLCDCMDR=0x40+j;

Delay(10);

CTRLCDCR=0;

Delay(10);

CTRLCDRCR=img[n];

n++;

Delay(10);

CTRLCDCR=0;

Delay(10);

}

}

}

void main(void){ InitSysCtrl();lcdinit();disp_picture(map);}

// 设置操作页

// 设置显示起始列

2将程序下载到既定的实验板上运行;

3进行实验的调试让实验板上的液晶模块与所要实现的功能匹配; 4撰写设计报告。

七、心得体会

本次设计总共经历了一个星期,时间不长,但对我而言收获颇多。每天都在自己的设计进度上向前思考,思考下一步该怎么实现,遇到的问题该怎么解决,感觉这一周很压抑却也很充实。回想现在,每次自己克服一个技术性难关时,是多么的开心,尤其第一次看到实验板上的液晶模块显示字符时的感受,现在仍然记忆犹新。虽然最后设计只完成了最最基本的绘图功能,还有其他的一些功能未能来得及实现,但心里依旧充满了成就感。通过这次设计,一方面让我更进一步认识了DSP特点,另一方面也巩固了我的编程方面的能力,同时大大增强了我的自信心。我也总结了许多我还应该改进的地方,多查资料,多思考,对解决问题起到帮助性作用。面对困难,要知难而进;另外要学会淡定从容面对挑战,在动手实践的过程中一定要专心致志心无旁骛,这样才会有所收获。这次设计让我学到了了许多书本上学不到的知识,使我受益匪浅。

八、参考文献

《手把手教你学DSP》 北京航空航天大学出版社 《C程序设计》

清华大学出版社

《ICETEK-F2812-A-S60-V2.2》

《RT12864系列点阵型LCM使用说明书》

九、附录

硬件原理图

硬件仿真截图:

下载DSPLCD设计报告word格式文档
下载DSPLCD设计报告.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

    热门文章
      整站推荐
        点击下载本文