1、原理及应用课程设计液晶显示控制显示 DSP原理及应用 课程设计液晶显示控制显示学 院电信学院 专 业通信工程班 级通信一班分 组 成 员 *联 系 方 式*指 导 教 师 侯兆然 2013 年 6 月液晶显示器控制显示一实验目的1.1通过实验学习使用VC5416 DSP的扩展I/O端口控制外围设备的方法,了解液晶显示器的显示控制原理及编程方法。1.2了解CCS的开发环境,及硬件设置,并熟悉在硬件环境下的仿真。1.3了解汇编语句的特点,掌握使用汇编语句实现功能设计。1.4了解并解释每句汇编语句的作用及功能并加以注释。1.5.改变页和列让实验结果在另一个位置显示。1.6然后改变控制语句,实现另一种
2、不同的显示结果。二实验设备计算机,ICETEK-VC5416A-S61实验箱(或ICETEK仿真器+ICETEK-VC5416-A系统板+相关连线及电源)。三实验原理3.1扩展IO接口:ICETEK-VC5416-A是一块以TMS320VC5416ADSP为核心的DSP扩展评估板,它通过扩展接口与实验箱的显示/控制模块连接,可以控制其各种外围设备。3.2液晶显示模块的访问、控制是由VC5416 DSP对扩展接口的操作完成。在智能控制系统中越来越多地使用了液晶显示屏LCD,它是一种介于液体和固体之间热力学的中间稳定相,它本身不会发光,是利用外部光的反射原理进行显示,液晶显示功耗小,字形美观,在系
3、统中可用集成电池来供电控制口的寻址:命令控制接口的寄存器为CTRLCDCMDR,数据控制接口的寄存器为CTRLCDLCR和CTRLCDRCR,辅助控制接口的寄存器为CTRLCDCR。这几个寄存器的地址和说明请参考第二部分、第二章、五。3.3显示控制方法:液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数值将改变显示,写入“1”则显示一点,写入“0”则不显示。其地址与象素的对应方式如下:左侧显示内存右侧显示内存Y=016263016263行号DB0DB0DB0DB0DB0DB0DB0DB0DB0DB00X=0DB7DB7DB7DB7DB7DB7DB7DB7DB7DB77DB
4、0DB0DB0DB0DB0DB0DB0DB0DB0DB08DB7DB7DB7DB7DB7DB7DB7DB7DB7DB755X=7DB0DB0DB0DB0DB0DB0DB0DB0DB0DB056DB7DB7DB7DB7DB7DB7DB7DB7DB7DB763- 发送控制命令:向液晶显示模块发送控制命令的方法是通过向命令控制接口写入命令控制字,然后再向辅助控制接口写入0。下面给出的是基本命令字、解释和C语言控制语句举例:.显示开关:0x3f打开显示;0x3e关闭显示;.设置显示起始行:0x0c0+起始行取值,其中起始行取值为0至63;.设置操作页:0x0b8+页号,其中页号取值为0-7;.设置操作
5、列:0x40+列号,其中列号为取值为0-63;- 写显示数据:在使用命令控制字选择操作位置(页数、列数)之后,可以将待显示的数据写入液晶显示模块的缓存。将数据发送到相应数据控制I/O接口即可。3.4液晶显示器与DSP的连接:3.5数据信号的传送:由于液晶显示模块相对运行在高主频下的DSP属于较为慢速设备,连接时需要考虑数据线上信号的等待问题;电平转换:由于DSP为3.3V设备,而液晶显示模块属于5V设备,所以在连接控制线、数据线时需要加电平隔离和转换设备,如:ICETEK-CTR板上使用了74LS245。四实验步骤4.1实验准备: 连接实验设备:请参看本书第三部分、第一章、二。4.2设置Cod
6、e Composer Studio 2.21在硬件仿真(Emulator)方式下运行:4.3启动Code Composer Studio 2.21:选择菜单DebugReset CPU。4.4打开工程文件:浏览LCD.c文件的内容,理解各语句作用工程目录:C:ICETEKVC5416AES61VC5416AES61Lab0403-LCDLCD.pjt。4.5编译、下载程序。4.6运行程序观察结果:4.7将原“CTRLCDLCR=( nBW=0 )?(ledkeynCounti):(ledkeynCounti);”改为 “CTRLCDRCR=( nBW=0 )?(ledkeynCounti):(
7、ledkeynCounti);”,重复步骤5-6,实现在屏幕右侧显示。4.8更改程序中对页、列的设置,实现不同位置的显示。4.9自己设计一些控制语句,实现不同显示效果。结束程序运行,退出CCS。4.10请参看本书第三部分、第一章、六。五C语言程序/ Example For ICETEK-VC5416-EDU / CTR Version : V4 / : Lcd.c / Project : Lcd.pjt / Version : 2.00 / Write by: Daniel Hawk / Company : Realtimedsp Co.Ltd. / / All Rights opened &
8、 no Onus 2005.06 / 常量定义#define LCDDELAY 1#define LCDCMDTURNON 0x3f#define LCDCMDTURNOFF 0x3e#define LCDCMDSTARTLINE 0xc0 /起始行为第0行#define LCDCMDPAGE 0xb8 /起始页为第0页#define LCDCMDVERADDRESS 0x40 /起始列为第0页#define WAITSTATUS (*(unsigned int *)0x28)/ CTR扩展寄存器定义ioport unsigned int port8000;ioport unsigned in
9、t port8001;ioport unsigned int port8002;ioport unsigned int port8003; ioport unsigned int port8004; ioport unsigned int port8005;ioport unsigned int port8007;#define CTRGR port8000#define CTRLCDCMDR port8001#define CTRKEY port8001#define CTRCLKEY port8002#define CTRLCDCR port8002#define CTRLCDLCR po
10、rt8003 /输出显示在左侧屏幕 #define CTRLCDRCR port8004 /输出显示在左侧屏幕 #define CTRLA port8005#define CTRLR port8007void Delay(unsigned int nTime); / 延时函数void TurnOnLCD(); / 打开显示void LCDCLS(); / 清除屏幕显示内容unsigned char ledkey108= 0x00,0x00,0x7C,0x82,0x82,0x82,0x7C,0x00, /0 0x00,0x00,0x00,0x84,0xFE,0x80,0x00,0x00, /1
11、0x00,0x00,0x84,0xC2,0xA2,0x92,0x8C,0x00, /2 0x00,0x00,0x44,0x92,0x92,0x92,0x6C,0x00, /3 0x00,0x00,0x30,0x28,0x24,0xFE,0x20,0x00, /4 0x00,0x00,0x4E,0x92,0x92,0x92,0x62,0x00, /5 0x00,0x00,0x7C,0x92,0x92,0x92,0x64,0x00, /6 0x00,0x00,0x02,0xC2,0x32,0x0A,0x06,0x00, /7 0x00,0x00,0x6C,0x92,0x92,0x92,0x6C,0
12、x00, /8 0x00,0x00,0x4C,0x92,0x92,0x92,0x7C,0x00 /9;/主函数main() int i,nCount=0,nBW=0; /定义变量 CTRGR=0; / 初始化ICETEK-CTR CTRGR=0x80; CTRGR=0; CTRLR=0; / 关闭东西方向的交通灯 CTRLR=0x40; / 关闭南北方向的交通灯 TurnOnLCD(); / 打开显示 LCDCLS(); / 清除显示内存 CTRLCDCMDR=LCDCMDSTARTLINE; / 设置显示起始行 CTRLCDCR=0; for (;) /设置无限循环,行列初始化,并输出要显示
13、的容 CTRLCDCMDR=LCDCMDPAGE; / 设置操作页=0 Delay(LCDDELAY); /延时 CTRLCDCR=0; Delay(LCDDELAY); CTRLCDCMDR=LCDCMDVERADDRESS; / 起始列=0 Delay(LCDDELAY); /延时 CTRLCDCR=0; Delay(LCDDELAY); /延时 for ( i=0;i8;i+ ) /设置八次循环,每次循环显示一个数 CTRLCDLCR=( nBW=0 )?(ledkeynCounti):(ledkeynCounti); / 屏幕左侧第1至8行第i列赋值 port8002=0; / (赋值后当前操作列自动加1,所以不需设置) Delay(LCDDELAY); /延时 CTRLCDCR=0; / 初始化ICETEK-CTR Delay(LCDDELAY); /延时 Delay(512); /延时 nCount+;/
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1