东南大学DSP第二次实验报告.docx
- 文档编号:10096975
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:14
- 大小:650.08KB
东南大学DSP第二次实验报告.docx
《东南大学DSP第二次实验报告.docx》由会员分享,可在线阅读,更多相关《东南大学DSP第二次实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
东南大学DSP第二次实验报告
东南大学自动化学院
实验报告
第三次实验
实验名称:
基于DSP系统的实验——液晶屏、键盘外设控制实验
院(系八
自动化
专业:
自动化
学号:
姓名:
同组人员:
实验时间:
2017年3月30日
一-实验目的
二-实验S备
三-实验原理
四.基本实验内容
五.提高要求
六.实验小结
12
一.实验目的
通过实验学习使用F28335ADSP的扩展端II控制外W设备的方法•了解
(1)发光一•极
tf的控制编程方法
(2)液晶显示器编程方法(3)键盘外设控制编程方法。
二.实验设备
计算机,ICETEK・F28335・EDU实验箱(或ICETEK仿真器+ICETEK-F28335-A系统
板+相关连线及电源)。
三.实验原理
1.发光二极管显示阵列(交通灯)控制
TMS32OF28335DSP的扩展存储器接Il(5MnO用来与大多数外W设备进行连接.典型应
用如连接片外扩展存储器等。
这一接II提供地址连线、数据连线和一组控制线。
ICETEK-F28335-A将这些扩展线引到了板上的扩展插座上供扩展使用。
实验箱中ICETEK.CTR板上的发光二极管显示阵列(交通灯)的显示是由扩展端I1控制,
扩展在EMIF接口的两个寄存器提供具体控制。
CTRGR为全W控制寄存器,地址为0x208000,作用为对液晶控制板上的设备进行初始化。
CTRLR为辅助控制寄存器,地址为0x208007,作用为対交通灯进行控制。
交通灯一共12个,使其顺序亮灭的例程(labHC2)如下所示:
#defuieLEDS*(iiit*)0xc0000
#defiiieCTRGR♦(int*)0x208000//page29expeTiinentinstructor#defiiieCTRLCDCMDR*(iiit*)0x208001#defiiieCTRKEY»(iiit*)0x208001ftdefiiieCTRLCDCR*(int*)0x208002#defiiieCTRCLKEY*(int*)0x208002ftdefiiieCTRLCDLCR♦(int*)0x208003#d€fineCTRLCDRCR*(iiit*)0x208004#defiiieCTRLA•(iiit*)0x208005ftdefiiieCTRLR♦(int*)0x208007luisignednituLed[12][2]={{0x01,0x40},{0x02,0x40},{0x04,0x40},
{0x00,0x48},{0x00,0x50},{0x00,0x60},{0x08,0x40},{0x10,0x40)40x20,0x40}.
{0x00,0x41},{0x00,0x42},{0x00,0x44},
voidinaui(void)
intnCoiint
InitSysCtrlQ;
InitXintfl6GpioO:
CTRGR=0x80;//初始化ICETEK一CTR
CTRGR=0x0;
CTRGR=0x80;
CTRLR=0;//关闭东酋方向的交通灯
CTRLR=0x40;//关闭南北方向的交通灯
11Count=0;
*(iiit*)0x208007=uLed[nCoimt][0];〃设置指示灯状态»(iiit*)0x208007=uLed[nCoimt][l];
nCount++;nCoiinl%=12;
Dehy(512);
全局控W寄存SCTRGR
Bit?
bit6
bits
bit4
bits
bit:
bitl
bitO
GS
保留
保留
保留
BUZZE
PWME
lOPE
DCME
OS:
全局控制标志位:
BUZZE:
蜂鸣器使能:
PWME:
PWM控制使能:
lOPE:
通用I/O端「lCPA・LED)n接控制交通灯北方向红灯使能:
DCME:
直流电机使能;
例如需要使能II流电机•町以用以卞C语言语句:
CTRGR=1:
CTRLR寄存器对应端【I地址为:
0x208007>需要连续两次写入8位数据。
•写入数据的高两位为00时,该数据的低6位写入EWR寄存器:
•写入数据的高两位为01时,该数据的低6位写入SNR寄存器;
EWR寄存畚:
Bit6
Bits
Bit4
Bits
Bit2
Bill
东红
东黄
东绿
西红
西黄
西绿
SNE寄存
Bit6
Bits
Bit4
Bits
Bit2
Bill
南红
南黄
南绿
北红
北黄
北绿
因此可见本程序是交通灯逆时针流水灯:
2.液晶显示器控制显示
液晶显示模块的访问、控制是由F28335ADSP对扩展接I】的操作完成。
控制【1的寻址:
液晶命令寄存器接IICTRLCDCMDR的地址为0x208001>液晶左半屏控制寄存器CTRLCDLCR的地
址为0x22003・液品右半屏控制寄存器CTRLCDRCR的地址为0x^0^004,辅助控制接|1
CTRLCDCR的地址为0x208002O
U1
U2
13
CTOJ
液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素.向其中写入数tfi将
改变显示,写入“广则显示一点,写入“0"则不显示。
液品屏是64*64点阵的,一个基本
字符占用8*8点阵。
其地址9彖素的对应方式如卜•:
列
左侧显示内存
右侧显不内存
0
1
---
63
0
1
-.-
63
0
DB0
DB0
DB0
DB0
DB0
DB0
1
DB1
DB1
DB1
DB1
DB1
DB1
---
---
---
■-
7
DB7
DB7
DB7
DB7
DB7
DB7
8
DB0
DB0
DB0
DB0
DB0
DB0
9
DB1
DB1
DB1
DB1
DB1
DB1
15
DB7
DB7
DB7
DB7
DB7
DB7
---
63
行
发送控制命令:
向液晶显示模块发送控制命令的方法是通过向命令控制接I】写入命令控
制宇,然后再向辅助控制接H写入0•下面给出的足基本命令字、解耗和C话言控制话句举
例:
•显示开关J0x3f打开显示!
0x3e关闭显示:
CTRLCDCKlDR=Ox3f.CTRLCDCR=O,〃将液晶显示打开
CTRLCDCMDR=Ox3e,CTRLCDCR=O,//将液晶ffi示关闭
设置显示起始行:
OxOcCR起始行取值,其中起始行取值为0至63;
CTRLCDCKlDR=OxOcO.CTRLCDCR=0,//设置从存储器第0行开始显示
CTRLCDCKlDR=OxOc&CTRLCDCR=0,//S置从存储器第8行开始显示
设置操作页:
OxObS+页号,•其中页号取值为0・7:
CTRLCDCKlDR=OxObO.CTRLCDCR=O,//设置即将操作的存储器第0页
CTRLCDCKlDR=OxOb2.CTRLCDCR=0,〃设置即将操作的存储器第2页
设置操作列:
0x40列号,K中列号为取值为0・63;
CTRLCDCMDR=0x40,CTRLCDCR=O,〃设置即将操作的存储器第0列
CTRLCDCK1DR=0x44.CTRLCDCR=O,〃设置即将操作的存储器第4列
-写显示数据:
在使用命令控制字选择操作位置(页数、列数)之后,可以将待显示的数据
写入液品显示模块的缓存。
将数据发送到相应数据控制I/O接【」即町.由于液晶模块相
对于DSP來讲是慢速设备,在命令之间町能需要增加延时语句。
C语育语句举例说明:
CTRLCDLCR=0x80,CTRLCDCR=0,〃向左恻屏幕缓存存入数0x80,
〃如果显示行、页号和列号均为0//时,屏幕上第8行第1列将®〃水照色彖素
CTRLCDRCR=0x01,CTRLCDCR=O.〃向右厠屏幕缓存存入数据b如
〃果显示行-页号和列号均为0〃时,屏幕上/第1行第65列将显〃示;R色彖素
3,键盘输入
犍盘的打描码ttiDSP的扩展地址接I】进行操作,键盘数据回读寄存器CTRKEY的地址为
0x208001,当有键盘输入时,读此端II得到扫描码,当无键被按卜•时读此端II的结果为0。
各按键的担描码排列如下所示(scancode.h)。
ftdefiiieSCANCODE00x70#defiiieSCANCODE10x69#defiiieSCANCODE20x72
#defineSCANCODE30x7A#defi«eSCANCODE40x6B#defuieSCANCODE50x73#defiiieSCANCODE60x74ftdefiiieSCANCOD&70x6C^defineSCANCODE80x75ffdefineSCANCODE90x7D#defiiieSCANCODEDel0x49#defiiieSCANCODEEnter0x5AftdefiiieSCANCOD&Plus0x79^defineSCANCODEMinus0x7B^defineSCANCODEMult0x7CftdefiiieSCANCODEDivid0x4A^defineSCANCODENum0x77
四.基本实验内容
1•打开例程"Lab402-Ledarray"工程.编译运行,观察交通灯流水亮火。
实验现象:
叮以观察到流水灯逆时针循环点亮。
图』1交通灯流水灯
2.打开例程%ab405-lcd"Z程,编译运行,町以观察到液品屏左侧顶部第一个8*8单元显
示从0到9的计数单字符.
3.打开例程“Lab巾04・key”工程.编译运行•町以观察到发光二极管阵列显示键盘输入字
符。
实验现象:
键盘输入1时・a绿亮,输入2-9时,依次逆时针点亮八个灯。
T4n2T8
!
?
?
WS/1-<•
图4.3键盘输入2
五-提高要求
1.修改例程“Lab405-lc 实验程序: 北话遷Sa东 for0;) for(j=0;j<10;j++) { CTRLCDCMDR=LCDCMDPAGE//设置操作页=0Delay(LCDDELAY); CTRLCDCR=O; Delay(LCDDELAY); CTRLCDCMDR=LCDCMDVERADDRESSt//起始列=0Delay(LCDDELAY); CTRLCDCR=O; Delay(LCDDELAY); for(i=0;iV8;I++) { CTRLCDRCR=ledkey[j][i]; Delay(LCDDELAY); CTRLCDCR=0; Deby(LCDDELAY); Delay(4096);//延时子程序nCount++; if(nComit==10) nCoimt=0;nBW=1-nBW; 2.结介例e“Lab405・lcd”与“Lab⑹"ey",更改程序中对液晶屛页、列的设S, 实现不同位置的显示•显示键盘按键结果1-9数字。 更改对液晶屛页、列的设置实验程序: ^defineLCDCMDTURNONOx3f 〃打开LCD显示 ^defineLCDCMDTURNOFFOxSe 〃关闭LCD显示 #defuieLCDCMDSTARTLINEOxd) 〃起始行Au1.0-63 #defiiieLCDCMDPAGEOxbS 〃起始页加上0-7 ftdefuieLCDCMDVERADDRESS0x40〃起始列 显示键盘按犍结果实验程序: for(;: ) CTRLCDCMDR=0xb9;〃设置操作页=1Delay(LCDDELAY): CTRLCDCR=0; Delay(LCDDELAY); CTRLCDCMDR=0x50;//起始列=16Delay(LCDDELAY); CTRLCDCR=0;Delay(LCDDELAY);nScanCode=CTRLCDCMDR;nScaiiCode&=OxOff;uPoriSOOO=CTRLCDCR;if(nScaiiCode*=0) cOldKey=cKey;cKey=nScanCode;if(cOldKeyt=cKey) LCDCLSQ;for(i=0;iV8;i++) CTRLCDRCR=ledkey[nScanCode][i];Delay(LCDDELAY); CTRLCDCR=O; Dehy(LCDDELAY); Delay(4096);//延时子程序 Delay(25): nCouiit++;if(nCoiuit==10) nCount=0;nBW=1-nBW; 实验现象: LCD 图52液晶屛显示5 六.实验小结 改变行位置时.可以通过改变起始行或起始页来实现,改变列位置时,需要在0x40的基础上增加,才能实现初始列的位置改变•左右两块液晶屏共用命令寄存器,使用不同的数据寄存器: 给CTRLCDRCR赋值右侧屏幕显示,给CTRLCDLCR赋值左侧屏幕显示。 液晶屏每次显示之前要清屛,否则之前显示的数字不会被清除,下个数字会显示在相邻的位置同样在査询小键盘用按键点亮对应的交通灯时每次也必须先关闭所有灯再点亮. 否则上次状态不会被及时清除。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 东南大学 DSP 第二次 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)