单片机8051d实验指导书_第1页
单片机8051d实验指导书_第2页
单片机8051d实验指导书_第3页
单片机8051d实验指导书_第4页
单片机8051d实验指导书_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP 实验指导书基于 TMS320C54x2006.7DSP 是一门理论与实践并重的技术,在学习了 DSP 的结构体系与基本原理以后,必须配合通过一些典型的 DSP 实验,以加深对 DSP 软、硬件的理解与掌握, 同时学会 DSP 的开发工具的使用,了解 DSP 应用系统的开发环境与开发过程,从而为今后从事 DSP 的开发打下扎实的基础。本实验指导书包含了 10 个实验,分为三种类型,供师生查阅。1) 基础性实验,熟悉和了解 DSP 的开发环境,初步学会程序的编写与 DSP 开发工具 CCS 的使用,基础实验为必做实验。2) DSP 在片的外设与硬件接口实验,通过 DSP 的开发平台和实验系

2、统,进一步加深对 DSP 硬件系统的理解,初步学会包括在片的外设,I/O 接口,A/D、D/A 接口、串口等的使用,教师可根据学时选做 1-2 种;3) 应用程序设计与调试,这一部分实验是综合性的,除了学会 DSP 的程序编写与调试外,要求学生综合运用数字信号处理的基本理论、软件,在DSP 上实现信号处理有关算法进而了解和学会基于 DSP 的信号处理系统的开发, 教师可根据学时选做 1-2 种。其它实验可放在课外供学生选做。I目录实验1基础实验:CCS 的使用与简单应用程序的建立21.1 实验目的21.2 实验内容21.3 实验知识背景21.3.1 CCS 简介21.3.2 CCS 常用文件介

3、绍41.3.3 CCS 常用指令简介41.4 实验步骤71创建源文件8创建工程文件9设置编译与连接选项12工程编译与调试..42基础实验二的使用与简单应用程序的调试172.1 实验目的172.2 实验内容172.3 实验程序结构说明172.4 实验步骤173在片外设实验:定时器实验.223.1 实验目的223.2 实验内容223.3 实验背景知识223.3.1 通用 TIMER 简介223.3.2 CMD 文件简介233.3.3 vecs.asm 文件简介243.4 实验要求243.5 实验程序功能与结构说明243.5.1 Timer 实验调试程序243.

4、5.2 脱机实验介绍:263.6 思考题29接口实验:数字 I/O 实验304.1 实验目的304.2 实验内容304.3 实验背景知识304.3.1 DSP 系统中数字 I/O 的实现:3044.3.2 DTK5416 系统中数字 IO 所占的: .304.4 实验要求314.5 实验程序功能与结构说明314.5.1 数字 IO 调试程序31II4.5.2 脱机实验介绍:334.6 思考题37接口实验:同步串口实验38实验目的38实验内容38实验背景知识38实验要求39实验程序功能与结构说明39思考题426接口实验:A/D 采样与 D/A 输出实验436

5、.1 实验目的436.2 实验内容436.3 实验背景知识436.3.1 TLV320AIC23B 的介绍:436.3.2 DAC811 的介绍:446.4 实验要求456.5 实验程序功能与结构说明456.5.1 A/D 调试程序456.5.2 脱机实验介绍:476.6 思考题51.527信号处理实验:快速变换(FFT7.77.8实验目的52实验内容52实验原理52FFT 的高级编程53FFT 的DSP 编程55CCS 使用步骤66实验结果66思考题688信号处理实验:数字滤波器(IIR)69实验目的69实验内容69实验原理69实验程序设计70实验步骤71

6、程序运行结果72思考题78.7信号处理实验:数字滤波器(FIR)759.1 实验目的759.2 实验内容759III9.3 实验原理759.4 实验程序769.5 实验步骤779.6 实验结果789.7 思考题8010 信号处理实验:数字信号发生器810.410.510.6实验目的81实验内容81实验原理81实验程序设计81实验步骤86实验结果86附录 A88实验箱操作指南88A.1A.2A.3输入设备88输出设备88图形用户界面(GUI)89A.3.1A.3.2A.3.3A.3.4一级菜单界面89菜单界面90三级菜单界面92.1

7、00四级菜单界A.4各实验具体操作步骤108A.4.1A.4.3A.4.2A.4.4A.4.5A.4.6实验 3实验 4实验 5定时器实验108同步串口实验108数字 I O 实验109实验 6 AD 实验109实验 7 FFT 实验110实验 8 数字滤波试验110附录 B112PC 演示系统串口版使用说明(LAB5416)112B.1B.2B.3B.4文件说明112运行前准备112运行过程说明112各项实验操作方法115B.4.1B.4.2B.4.3B.4.4定时器实验116数字 IO 实验116AD 转换实验116FFT 实验118B.5注意事项118IV实验:一部分是带有与 MMI54

8、02 通讯功能本实验箱的示例由两部分的脱机实验;另一部分是在 CCS 环境下可以进行调试的各实验程序。脱机实验的功能如下:1. 实现与 SEED-MMI5402 的异步串口通讯:包括握手信号,实验程序的传输、实验数据以及实验命令的传送。2. 实现实验程序本身的功能因各个实验程序的传输、实验数据以及实验命令的传送令字不同,这些将会在各个实验的介绍中详细说明。在这仅介绍一下握手信号令字:#define #define #define #define #define #define #define #define #defineUARTCONT UARTMUTL RECIEVEGOOD RECIEV

9、EERROR RECIEVEEND VAILDFRAME SYSRESET COMMANDNODO INITOVER0x0 0x1/命令帧不连续/帧连续0xAA01/接收正确0xAA02/接收错误0xAA03/接收结束0xAA04/无效帧0xAA05/系统复位0xAA06/程序不处理命令0xAA0F/初始化完成以上命令字在 COMM.h 中定义。注意:以下各个实验程序的编译环境如下:CCS 版本为 2.20.28 或者是更高版本。11基础实验:CCS 的使用与简单应用程序的建立1.1实验目的1.2.3.熟悉 CCS 集成开发环境,掌握工程的生成方法; 熟悉 SEED-DEC5416 实验环境;

10、掌握 CCS 集成开发环境的调试方法;1.2实验内容1.2.3.DSP 源文件的建立;DSP 程序工程文件的建立;学习使用CCS 集成开发工具的调试工具;1.3实验知识背景CCS 简介1.3.1CCS 提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够开发进程,提高工作效率。CCS提供了基本的代码生成工具,它们具有一系列的调试、分析能力。CCS 下所示的开发周期的所有阶段支持如2分析实时调试统计跟踪调试语法检测逻辑检测编程与编译创建工程文件编写源程序 编写配置文件设计概念性CCS及接口见下图CCS窗口介绍:31.3.2 CCS 常用文件介绍使用CC

11、S时,经常遇见下述扩展名文件:.project.mak: program.c: program.asm: filename.h: 件filename.lib: project.cmd: program.obj: program.out: project.wks:CCS使用的工程文件C程序源文件汇编程序源文件C程序的件,包含DSP/BIOS API模块的.9.库文件连接命令文件由源文件编译或汇编而得的目标文件(经完整的编译、汇编以及连接的)可执行文件环境设置信息的工作区文件保存配置文件时将产生下列文件:1.2.3.programcfg.cmd: programcfg.

12、h54: programcfg.s54:连接器命令文件汇编件汇编源文件CCS 常用指令简介1.3.31. 设置断点。将光标放置在需要设置断点的程序行前,选择 DebugBreakpoints, 即完成可一个断点的设置。2. CCS 提供 3 种方法复位目标板1)Reset DSP:Debug Reset D,初始化所有的寄存器内容并暂停运行中的程序。使用此命令后,要重新装载.out 文件后,在执行程序。2)Restart:Debug 的Debug Restart ,将 PC 值恢复到当前载入程序地址。3)Go main:Go main ,将程序运行到主程序的处暂停。3 CCS 提供 4 种执行

13、操作1) 执行执行:2) 暂停执行:3) 动画执行: 到断点为止。4) 自由执行:Debug Debug DebugRun ,程序运行直到遇到断点为止。Halt ,程序停止运行。Animate,用户反复运行程序,直到遇DebugRun Free ,所有断点运行程序。4 CCS 提供 4 种单步执行操作1)单步进入:Debug step into ,快捷键 F8,当调试语句不是基本的汇编指令时,此操作进入语句内部。Debug step Over ,此命令将函数或子函数当作一条语句执行,不进入内部调试。2)单步执行:3)单步跳出:Debug step Out ,此命令作用为从子跳出44) 执行到光

14、标处: Debug Run to Cursor,快捷键 crtl+F10,此命令作用为将程序运行到光标处。5 内存、寄存器与变量的操作1) 查看变量2) 查看寄存器3) 查看内存使用 view 使用 view 使用 viewWatch Window 命令Registers CPUmemory 命令Registers命令6 Graph 的设置即图形显示选择ViewGraphTime/Frequency。1)2)在弹出的Graph Property Dialog窗中,将Graph Title,StartAddress,Acquisition Buffer Size,Display Data Siz

15、e,DSP Data Type等的属性可改变为如下图所示(也可根据具体需要设置属性)。向下滚动右侧的滚动条或调整 dialog 框的大小可看到所有的属性。5示例(A) 起始地址为 0x2c28 的为原始数据示例(B)将起始地址为 0x3e31 的数组进行图形显示62)点击OK,将出现所设的图形窗口。如:在滤波实验中,用以上方法设定的图形窗口,在运行滤波程序后,最终的显示结果如下图所示(可以观察到滤波前后的波形:上边为原始图形,下边为滤波后的波形):3)可以在图形上单击右键,选择“Float In Main Table”,这时图形将浮现在主窗口中,以便观察。1.4 实验步骤1. 将 DSP2.

16、将 DSP器与计算机连接好;器的 JTAG 插头与 SEED-DEC5416 单元的 J1 相连接;3. 启动计算机, 当计算机启动后, 打开 SEED-DTK_DBD 的电源。观察SEED-DTK-IO1 单元的 5V, 3.3V, 15V, 15V 的电源指示灯, SEED_DEC5416 的 D2 以及 SEED-DSK2812 的 D2 是否均亮;若有不亮的,请断开电源,检查电源。4. 双击图标进入 CCS 环境。下面按照原文件、工程文件以及编译条件的设置来分别介绍一下 CCS 的使用。71.4.1创建源文件1.打开 CCS 选择 FileNewSourceFile命令2.编写源代码并

17、保存83.保存源程序名为 math.c,选择 File Save4.创建其他源程序(如.cmd)可重复上述步骤。1.4.2创建工程文件1.打开 CCS,点击任意指定Project->New,创建一个新工程,其中工程名及路径可92.弹出如下框:3.在 Project 中填入工程名,Location 中输入工程路径;其余按照默认选项,点击完成即可完成工程创建。点击 Project 选择 add files to project,添程所需文件。4.5.在弹出的框中的下拉菜单中分别选择.c 点击打开,即可添加源程序.c 添加到工程中。106.同样的方法可以添加文件.cmd、.lib 到工程中;在

18、下面窗口中可以看到.c、.cmd、.lib 文件已经加到工程文件中。7.以下操作可使您对工程中的打开、删除、查看属性等操作111.4.3设置编译与连接选项12点击 Project 选择 Build Opitions在弹出的框中设置相应的编译参数,一般情况下,按默认值就可以;3在弹出的框中选择连接的参数设置,设置输出文件名,堆栈的大小以及初始化的方式。121.4.4工程编译与调试1点击 Project Build al进行编译,如正确则生成 out 文件;若是修改程序,可以使用 Project Build 命令,进行编译连接,它只对修改部分做编译连接工作。可节省编译与连接的时间。编译通过,生成.

19、out 文件。132点击 File load progr的框中载入 debug文件夹下的.out 可执行文件。3装载完毕14154 点击 debug Go Main 回到C 程序的5打开 File WorkspacWorkspace 保存调试环境,以便下次调试时不需要重新进行设置。只要Workspace 即可恢复当前设置File Workspace Load162 基础实验二的使用与简单应用程序的调试2.1实验目的1.2.3.熟悉 CCS 集成开发环境,掌握工程的生成方法; 熟悉 SEED-DEC5416 实验环境;掌握 CCS 集成开发环境的调试方法;2.2实验内容.的设置,生

20、成可执行的 DSP 文件;编译与进行 DSP 程序的调试与改错;学习使用 CCS 集成开发工具的调试工具; 观察实验结果;2.3实验程序结构说明本实验包含的文件如下:1.MATH.c 这个文件中包含了实验中关于DSP 运算的主要函数。主要包含有:fixed_add(int fixed_sub(int fixed_mul(int fixed_div(intx,int x,int x,int x,inty):y):y):y):定点加法运算; 定点减法运算; 定点乘法运算; 定点除法运算;float_add(double float_sub(double float_mul(double float

21、_div(doublex,double x,double x,double x,doubley):y):y):y):浮点加法运算; 浮点减法运算; 浮点乘法运算; 浮点除法运算;float_fixed(double x): fixed_float(int x):浮点转定点运算; 定点转浮点运算;2.math.cmd 这是 DSP 的文件。它的主要功能是将 DSP 的每段的接到相应的 DSP 的存贮区中。rts.lib 是一个库文件,主要包含了有关 C 的运行环境与相应的函数的代码。3.2.4实验步骤首先将光盘下 03. Examples of Program 04. SEED_DTK-DBD

22、调试实验程序目录下的 CCS-MATH 文件夹拷贝到 D:盘根目录下。171.2.3.将 DSP 将 DSP器与计算机连接好;器的 JTAG 插头与 SEED-DEC5416 单元的 J1 相连接;启动计算机, 当计算机启动后, 打开 SEED-DTK_DBD 的电源。观察SEED-DTK-IO1 单元的5V,3.3V,15V,15V 的电源指示灯, SEED_DEC5416 的 D2 以及 SEED-DSK2812 的 D2 是否均亮;若有不亮的, 请断开电源,检查电源。4.5.双击图标进入 CCS 环境。点击 Project open 命令,在弹出的框中添加 DTK-MATH.pjt 文件

23、;186.点击在工程视窗中右键 GEL file,在弹出的菜单中选择 Load GEL,在弹出的框中添加 dtk-boot.gel 文件。7.使用 projiectBulid 命令编译当前程序。使用 projiectBulid all 命令编译整个工程程序。注意:在这个实验中,为了加深对 CCS 的了解,分别在编译与设置了的错误行。这些错误行都是在程序调试中经常遇到的。过程中l源程序错误:n 在函数 fixed_add()中的 z 的定义未加“;”号n 函数 float_add()的号缺右边而未完整错误;n DSP 的空间分配重叠lVECS: VECS:origin = 4B00h, leng

24、th = 0120h 改为origin = 4B00h, length = 0100h在进行此实验时,只有将上述的程序错误改正后才能正确的编译与。产生 DTK_DBD_MATH.out。198.按照下图所示添加.out 文件,即使用 FileLoad Program 令。.out 文件一般存放在 math 文件下的 debug 文件夹中。菜单命9.点击 debugGoMain 回到 C 程序的main()函数处。2010. 使用 F5 快捷键,运行程序,在 Stdout 观察窗中查看程序运行结果。运行程序到第一个断点在 STDout 观察窗内看定点运算是否正确。然后再运行程序到第二个断点,观察

25、浮点运算是否正确;再运行程序,观察浮点与定点之间的转换是否正确。213 在片外设实验:定时器实验3.1实验目的.5.6.了解 DSP 汇编程序的;了解 DSP 程序各段的含义;熟悉在汇编条件下如何编写中断服务程序; 了解串行通讯的过程掌握长时间间隔的定时器的处理。掌握片内外设的设置方法。3.2实验内容.DSP 的初始设置;DSP 中断向量表的建立; 定时中断的编写;方式异步串口程序的编写。3.3 实验背景知识3.3.1通用 TIMER 简介TMS320VC5416 的定时器的说明:VC5416 中有一个可编程的片上定时器,总共包含有三个可由用户设置的寄存器,并可以申

26、请主机的中断。这三个寄存器分别为 TIM、PRD、TCR。这些寄存器与对应的存贮空间地址如下表所示:时间寄存器(TIM)是一个 16 位的存贮器来进行装载,并且做减一操作。周期寄存器(PRD)是一个 16 位的存贮器存器(TIM)寄存器的值的。寄存器,它的值由周期寄存器寄存器,它是用来重装时间寄定时器寄存器(TCR)是一个 16 位的存贮器寄存器,包含了定时22器的与状态信息。3.3.2CMD 文件简介cmd 文件用于 DSP 代码的。由 3 部分组成:1.输入输出定义:.obj 文件:.lib 文件:.map 文件:.out 文件:器要器要的目标文件。的库文件。器生成的交叉索引文件。器生成的

27、可执行代码;器选项 。2.3.MEMORY 命令:描述系统实际的硬件。SECTIONS 命令:描述"段"如何。下面例子则可说明其基本格式:-o sample.out-m sample.map-stack 100sample.obj-l rts.lib MEMORYPAGE PAGE PAGE SECTIONSmeminit.obj0:0:1:VECT: PROG: DATA:origin or origin=0xff80, 2000,0x800,length length length0x800x4000x400=.vectors.text :.data :>PROG

28、>PROG>PROG>PROG>DATAPAGE PAGE PAGE PAGE PAGE00001.cinit.bss :下面介绍一下 CMD 文件中常用的程序段名与含义.5.6.cinit 存放 C.const 存放 C的变量初值和常量;的字符常量、浮点常量和用 const的常量;.text 存放 C 程序的代码;.bss 为 C.far 为 C的全局和静态变量保留空间;用 far的全局和静态变量保留空间;.stack 为 C 程序系统堆栈保留空间,用于保存返回地址、函数间的参数传递、.sysmem 用于 C 间局部变量和保存中间结果;malloc、ca

29、lloc 和 realloc 函数动态分配7.空233.3.3vecs.asm 文件简介vecs.asm 是 DSP 的中断向量表文件。中断服务程序的地址(中断向量)要装载到器的合适区域。一般中断向量表文件是采用汇编语言编写;在文件中一般汇编指令.sect 来生成一个表。这个表包含中断向量的地址和跳转指令。因为中断读物的标志符在汇编语言模块外部使用,所以标志符用.ref 或.global3.3.4GEL 文件简介GEL 文件的功能同 cmd 文件的功能基本相同,用于初始化 DSP。但它的功能比 cmd 文件的功能有所增强,GEL 在 CCS 下有一个菜单,可以根据 DSP 的对象不同,设置不同

30、的初始化程序例:。以下面的例子介绍一下 GEL 文件的。#define #define #define StartUp(DEC5416_CTL DEC5416_INT DEC5416_STA) ; 开始函数0x600000x600010x60002/定义 DEC5416_CTL 寄存器/定义 DEC5416_ INT 寄存器/定义 DEC5416_ STA 寄存器GEL_MapReset(); ;空间复位GEL_MapAdd(0x0000,0,0x7fff,1,1);写GEL_MapAdd(0x8000,0,0x7000,1,1); GEL_MapAdd(0x0000,1,0x1000,1,1

31、);GEL_MapAdd(0xffff,2,1,1定义程序空间 00007fff 可读定义程序空间 8000f000 可读写定义数据空间 0000f000 可读写i/o 空间 0xffff 可读写GEL_MapOn();空间打开GEL_MemoryFill(0xffff,2,1,0x40); 在 i/o 空间添入数值 40h3.4实验要求能够掌据汇编语言的程序结构。正确进行异步串口的通讯与定时器的设置。能够正确通讯。通过 LCD 与键盘可以定时器的运行。3.5实验程序功能与结构说明3.5.1Timer 实验调试程序 在 Timer 实验调试,主要包含以下文件:1.timer.c:

32、这是实验的主要包含 CSL 初始化,DSP 初始化,Timer 及Timer 中断初始化,Timer 中断程序。vector.asm:包含 5416 的中断向量表。2.3.dec5416.cmd:了系统的存贮器配置与程序各段的关系。程序流主程序流CSL 初始化中断程序流开总中断返回25i+;for(;)循环等待进入中断程序启动定时器开中断定时器各寄存器配置定时器中断初始化关中断系统时钟设置实验步骤首先将光盘下 03. Examples of Program 04. SEED_DTK-DBD 调试实验程序目录下的 CCS-Timer 的文件夹拷贝到 D:盘根目录下

33、。1.2.3.将 DSP 将 DSP器与计算机连接好;器的 JTAG 插头与 SEED-DEC5416 单元的 J1 相连接;启动计算机,当计算机启动后,打开 SEED-DTK_DBD 的电源。观察SEED-DTK-IO1 单元的5V,3.3V,15V,15V 的电源指示灯, SEED_DEC5416 的 D2 以及 SEED-DSK2812 的 D2 是否均亮;若有不亮的, 请断开电源,检查电源。打开 CCS,进入 CCS 的操作环境。装入 timer.pjt 工程文件,添加 dtk-boot.gel 文件。装载程序 timer.out,进行调试。在程序的第 101 行“i=i+1;”处设置

34、断点。.8.运行程序,停在断点处,表明已进入定时器中断。继续运行程序,程序每次都会停在断点处。实验者可根据的需要改变周期寄存器的值,从而每次进中断的时间。3.5.2脱机实验介绍:本实验的主要功能是将串口通EC5416 与 MMI5402 异步串口通讯)与调试好的 time 实验结合在一起,形成一个完整的脱机实验程序。定时器实验实现的功能如下:程序运行后,经过 DSP 与异步串口初始化后,系统等待主机令。设置好当前的时间并发出启动定时器时,开始启动定时器。定时器的时间间隔为千分之一秒。每当定时器运行 1000 次,也就是一秒之后,DSP 信息,传回当前的时间信息。系统在 LCD 上

35、显示当前的时间。本实验内容分为以下几部介绍:报时工程包含文件介绍在定时器实验中,主要包含了以下文件:1.timer.asm:包含了以下功能:DSP 的初始化:设定 VC5416 的初始软件等待周期,设定存贮区的步串口的初始化。,建立中断向量表,系统时钟的设定,异.6.异步串口的与接收子程序。定时器的操作及中断服务程序。vector.asm:包含了 VC5416 的中断向量表。dec5416.cmd:了系统的存贮器配置与程序各段的关系。vc54x.inc:定义。了 VC54x 系列 DSP 的片内寄存器的地址与设置的常量7.dec5416.inc:定义了 SEED-D

36、EC5416 模板上义。的地址与设置的常量定268. Dtk-boot.gel: 系统的初始化文件。9. *.h:各子函数的件。其中在 comm.h 函数中定义了 Time 实验中所用令宏:/*定时器实验*/#defineTIMESET #defineTIMEBACK0xAA120xAA13/设置时间/返回时间/*定时器实验数据帧格式*/ typedef struct Time_Frameunsigned unsigned unsigned unsignedTime_Frame;int int int intType; Hour; Minute; Second;/帧类型/小时/分钟/秒3.5.

37、2.2程序流Time 实验流。包括三个部分:主程序、实验处理以及定时器中断服务的流注意:实验处理是主的一部分,即是主程序流中的实验处理部分。此部分在是第一部分 Time 调试程序的基础上进行修改而来的,为了使读者能够更好的理解整合实验的程序与 Time 容单独介绍。的结构不同之处,特地将此部分内主程序流DSP 初始化Y27通讯错误N实验处理NY通讯错误处理数据处理串口状态接收串口数据握手信号串口、定时器初始化实验处理流开始Y定时器设置命令NY实验终止命令回到循环定时器中断服务程序实验调试首先将光盘下 03.Examples of Program 05.SEED_DTK-DBD 脱

38、机实验程序目录下的 DTK-TIMER 的文件夹拷贝到 D:盘根目录下。1.2.3.将 DSP 将 DSP器与计算机连接好;器的 JTAG 插头与 SEED-DEC5416 单元的 J1 相连接;启动计算机,当计算机启动后,打开 SEED-DTK_DBD 的电源。观察SEED-DTK-IO1 单元的5V,3.3V,15V,15V 的电源指示灯, SEED_DEC5416 的 D2 以及 SEED-DSK2812 的 D2 是否均亮;若有不亮的, 请断开电源,检查电源。等待 LCD 显示器上出现“引导程序启动完成!”,进入 SEED-DTK_DBD4.28中断处理结束时间信息回送计数累计处理定定

39、时器中断程序定时器实验程终止处理的“实验选项”的菜单下,选择“定时器实验”一项,等待 LCD 显示器上出现“定时器程序引导完成。”打开 CCS,进入 CCS 的操作环境。装入 DTK-TIMER.pjt 工程文件后,添加 Dtk-boot.gel 文件,然后装载DTK-TIMER.out 文件。进行调试。5.6.7.注意:只有系统设置好当前的时间并发出时,即通过键盘操作选好初始时间(具体操作请参考附录三),定时器才开始启动,运行至断点。实验演示在脱机(不接 CCS)的情况下,可以首先进行实验的演示。1.启动计算机,当计算机启动后,打开 SEED-DTK_DBD 的电源。观察SEE

40、D-DTK-IO1 单元的5V,3.3V,15V,15V 的电源指示灯, SEED_DEC5416 的 D2 以及 SEED-DSK2812 的 D2 是否均亮;若有不亮的, 请断开电源,检查电源等待 LCD 显示器上出现“引导程序启动完成!”。进入 SEED-DTK_DBD 的“实验选项”的菜单下,选择“定时器实验”一项。2.3.4.等待 LCD 显示器上出现“定时器实验装载”之后(定时器实验程序从 MMI5402 的 Flash 装载到 SEED-DEC5416 的 Flash 处,且程序跳转成功)。即可按菜单指示操作,完成 Time 实验的演示。3.6思考题理解 DSP 程序的编写过程,

41、如何编写中断程序?294 接口实验:数字 I/O 实验4.1实验目的1.2.3.熟悉 CCS 的开发环境;掌握 DSP 扩展数字 I/O 口的方法; 了解 SEED-DEC5416 的硬件系统;4.2实验内容1.2.3.DSP 的初始化UART 的初始化TMS320C5416 数字I/O 口使用4.3实验背景知识4.3.1DSP 系统中数字 I/O 的实现:DSP 系统中一般只有少量的数字 I/O字量的输入与输出。因而,在外部扩展 I/O,而一些中经常需要大量的数是非常有必要的。在扩展 I/O时一般占用 DSP 的 I/O 空间。其实现方法一般有两种:其一为采用锁存器像74LS273、74lS

42、373 之类的集成电路;另一种是采用 CPLD 在其内部做锁存逻辑, 我们采用的是后者。4.3.2DTK5416 系统中数字 IO 所占的:1 交通灯口地址为:0x080000(I/O 空间);其说明如下:WG: WY: WR: SG: SY: SR: EG:的绿灯的黄灯的红灯的绿灯的黄灯的红灯的绿灯位; 位; 位; 位; 位; 位; 位;30D11D10D09D08D07D06D05D04D03D02D01D00NRNYNGEREYEGSRSYSGWRWYWGEY: ER: NG: NY: NR:的黄灯的红灯的绿灯的黄灯的红灯位; 位; 位; 位; 位;当以上各位置“1”时,点亮各位所代表的

43、交通灯状态的 LED 灯。2 LED口地址为:0x080002(IO 空间):其说明如下:向位 OUT7:0写入“1”时,点亮相应位置的 LED 灯。注:8 个 LED 灯是位于 SEED-CPLD 板上的,其线是通过 DTK_IO 单元模块转接的,然后经 SEED-CPLD 单元模块驱动后再点亮 LED 灯的。4.4实验要求通过本实验,了解 DSP 对 I/O 口的操作,完成交通灯与 LED 的使用 CCS 对程序进行调试。熟练4.5 实验程序功能与结构说明4.5.1数字 IO 调试程序 在数字 IO 调试,主要包含以下文件:1.2.boot.asm:C 环境的引导程序; de

44、c5416.c:对 SEED-DEC5416 各项的操作的函数集,主要包含了对UART 的操作的各个函数,对 CODEC 的各个的初始化函数。函数。以及对系统各项3.io.c:这是实验的主程序,包含了系统的初始化,及量输出。交通灯与数字4.5.memory.asm:包含了对 FLASH 的各项操作、程序空间 MEMORY 的读写。sysreg.asm:包含了对 DSP 的各项,像中断的设置、系统时钟设置、及各项寄存器的操作。.5.1.2uart.asm:对异步串口的寄存器的读与写。vector.asm:包含了 VC5416 的中断向量表。dec5416.cmd:程序流了系统的存贮

45、器配置与程序各段的连接关系。31D7D6D5D4D3D2D1D0OUT7OUT6OUT5OUT4OUT3OUT2OUT1OUT0设置系统时钟mandBreak IO 调试程序的实验步骤首先将光盘下 03. Examples of Program 04. SEED_DTK-DBD 调试实验程序目录下的 CCS-IO 的文件夹拷贝到 D:盘根目录下。1.2.3.将 DSP 将 DSP器与计算机连接好;器的 JTAG 插头与 SEED-DEC5416 单元的 J1 相连接;启动计算机,当计算机启动后,打开 SEED-DTK_DBD 的电源。观察SEED-DTK-IO1 单元的5V,3.

46、3V,15V,15V 的电源指示灯, SEED_DEC5416 的 D2 以及 SEED-DSK2812 的 D2 是否均亮;若有不亮的, 请断开电源,检查电源。打开 CCS,进入 CCS 的操作环境装入 CCS-IO.pjt 工程文件,添加 dtk -boot.gel 文件,开始进行调试。4.5.6.打开 io.c 文件,到第 71,72 行,修改定义。MAND 和 TESTDATA 的宏32Default夜间模式禁行交通灯南北通交通灯东西通自动运行模式LED 灯数字输出条件编译实现交通灯运行模式的选择DEC5416 系统初始化MAND 是交通灯操作选项。可以为 1、2、3、4、5 这 5个

47、数。1 为自动运行;2 为夜间模式;3 为交通灯东西通;4 为交通灯南北通;5 为禁行。SEED-DTK_IO1 单元的 Traffic Lamp 处将显示结果。TESTDATA 是 8 位二进制 led 灯显示数字,可以为 0255 之间的整数。在 Traffic Lamp 的右侧,led 灯将按照二进制显示所定义的数字。装载程序 CCS-IO.out运行,观察。在程序运行过程中,可直接在 Watch Window 里修改mand 的值,即将每一种运行方式所对应宏定义的值直接赋值给mand,即可改变运行方式。例如在程序运行过程中,若想将运7.8.行方式改为夜间模式,就请将mand 赋值为 0

48、xAA16(关于各种方式的宏定义在 comm.h 中给出)即可。如下图所示:9.重新到第 6)步开始尝试其他情况或者实验4.5.2脱机实验介绍:本实验的主要功能是将串口通讯(SEED-DEC5416 与 MMI5402 异步串口通讯) 与调试好的数字 I/O 实验结合在一起,形成一个完整的脱机实验程序。数字 I/O 实验主要完成的功能:在此实验中,SEED-DEC5416 首选进行初始化,包括对外设 UART、本身频率的设定及一些状态区的初始化。然后等待 SEED-MMI5402命令;SEEDDEC5416 响应交通灯自动模式、交通灯手动模式、交通灯东西通、交通灯南北通、及交通灯的禁行与夜间模

49、式的操作命令。同时还响应,对 SEED-DEC5416 的复位。本实验内容分为以下几部介绍: 工程包含文件介绍1.io.c:这是实验的主程序,包含了系统的初始化,主要是异步串口的初始化、以及系统时钟的设置;完成与 SEED-MMI5402 系统的异步通讯,控制交通灯与数字量输出。2.dec5416.c:对 SEED-DEC5416 各项的操作的函数集,主要包含了对UART 的操作的各个函数,对 CODEC 的各个初始化函数。boot.asm:C 环境的引导程序;函数。以及对系统各项的3.4.5.memory.asm:包含了对 FLASH 的各项操作、程序空间 MEMORY 的读写。sysreg.asm:包含了对 DSP 的各项及各项寄存器的操作。,像中断的设置、系统时钟设置、6.7.uart.asm:对异步串口的寄存器的读与写。vector.asm:包含了 VC5416 的中断向量表。338. dec5416.cmd:了系统的存贮器配置与程序各段的连接关系。9. vc54x.inc义。了 VC54x 系列 DSP 的片内寄存器的地址与设置的常量定10. dec5416.inc:定义了 SEED-DEC5416 模板上义。11. Dtk-boot.gel: 系统的初始化文件。的地址与设置的常量定12. *.h:各个子函数的件。其中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论