DSP实验报告
dsp实验报告总结doc

3.2 DSP总体结构
3.3 电源模块设计
3.4 时钟模块设计
3.5 存储器模块设计
3.6复位模块设计
篇二:DSP实验报告
DSP课程设计 实 验 报 告
语音压缩、存储和回放
学 院:电子信息工程学院电子科学与技术专业 设计人员: 吴莲梅 08214085电子0803班 杨 莹 08214088电子0803班指导老师: 日 期:
(1)A律限制采样值为12比特,A律的压缩可以按照下列公式进行定义:
A|x|11?lnA|x|1
(0?|x|?)?sgn(x)(?|x|?1)F(x)?sgn(x)
1?lnAA1?lnAA
式中,A是压缩参数(在欧洲,A=87.6)x是需要压缩的归一化整数。从线性到A律的压缩转换如下表所示:(压缩后的码字组成:比特0-3表示量化值,比特4-6表示段值,压缩后
一、 设计目的
设计一个功能完备,能够独立运行的精简DSP硬件系统,并设计简单的DSP控制程序。
二、 系统分析
1.1设计要求 硬件要求:
(1)使用TMS320VC5416作为核心芯片。 (2)具有最简单的led控制功能。 (3)具有存放程序的外部Flash芯片。 (4)外部输入+5V电源。 (5)绘制出系统的功能框图。
(6) 仪器仪表--如频谱分析、函数发生、锁相环、地震处理等。 (7) 自动控制--如引擎控制、深空、自动驾驶、机器人控制、磁盘控制。 (8) 医疗--如助听、超声设备、诊断工具、病人监护等。(9) 家用电器--如高保真音响、音乐合成、音调控制、玩具与游戏、数字 电话/电视等 DSP 的发展前景 DSP 的功能越来越强,应用越来越广,达到甚至超过了微控制器的功能,比 微控制器做得更好而且价格更便宜, 许多家电用第二代 DSP 来控制大功率电机就 是一个很好的例子。汽车、个人通信装置、家用电器以及数以百万计的工厂使用 DSP 系统。数码相机、IP 电话和手持电子设备的热销带来了对 DSP 芯片的巨大需 求。而手机、
dsp原理与应用实验报告总结

dsp原理与应用实验报告总结DSP(Digital Signal Processing)数字信号处理是利用数字技术对信号进行处理和分析的一种方法。
在本次实验中,我们探索了DSP的原理和应用,并进行了一系列实验以验证其在实际应用中的效果。
以下是对实验结果的总结与分析。
实验一:数字滤波器设计与性能测试在本实验中,我们设计了数字滤波器,并通过性能测试来评估其滤波效果。
通过对不同类型的滤波器进行设计和实现,我们了解到数字滤波器在信号处理中的重要性和应用。
实验二:数字信号调制与解调本实验旨在通过数字信号调制与解调的过程,了解数字信号的传输原理与方法。
通过模拟调制与解调过程,我们成功实现了数字信号的传输与还原,验证了调制与解调的可行性。
实验三:数字信号的傅里叶变换与频谱分析傅里叶变换是一种重要的信号分析方法,可以将信号从时域转换到频域,揭示信号的频谱特性。
本实验中,我们学习了傅里叶变换的原理,并通过实验掌握了频谱分析的方法与技巧。
实验四:数字信号的陷波滤波与去噪处理陷波滤波是一种常用的去除特定频率噪声的方法,本实验中我们学习了数字信号的陷波滤波原理,并通过实验验证了其在去噪处理中的有效性。
实验五:DSP在音频处理中的应用音频处理是DSP的一个重要应用领域,本实验中我们探索了DSP在音频处理中的应用。
通过实验,我们成功实现了音频信号的降噪、均衡和混响处理,并对其效果进行了评估。
实验六:DSP在图像处理中的应用图像处理是另一个重要的DSP应用领域,本实验中我们了解了DSP在图像处理中的一些基本原理和方法。
通过实验,我们实现了图像的滤波、边缘检测和图像增强等处理,并观察到了不同算法对图像质量的影响。
通过以上一系列实验,我们深入了解了DSP的原理与应用,并对不同领域下的信号处理方法有了更深刻的认识。
本次实验不仅加深了我们对数字信号处理的理解,也为日后在相关领域的研究与实践提供了基础。
通过实验的结果和总结,我们可以得出结论:DSP作为一种数字信号处理的方法,具有广泛的应用前景和重要的实际意义。
DSP实验报告6

DSP第六、七次实验报告1. 实验目的:(1)进一步熟悉Matlab实验环境和语言。
(2)熟悉各种滤波器的结构及Matlab实现语言。
(3)掌握用冲击响应不变法和双线性变换法设计IIR滤波器的方法。
(4)掌握用窗函数法和频率抽样法设计FIR滤波器的方法。
2. 实验内容及总结:1.滤波器结构:(1)IIR滤波器各种结构1、直接型结构例如直接型滤波器系统函数, 则有系数向量a=[1,a1,a2,a3],b=[b0,b1,b2], 利用:Y=filter[b,a,x]求信号x(n)通过此滤波器的输出。
2、由系统函数或差分方程求系统的二阶分式(含一阶分式)的级联结构将例如的系统函数重写为二阶分式节的级联型, 利用:[sos,G]=tf2sos(b,a)3、由二阶分式的级联结构转换成系统函数的直接结构是第二步的逆运算, 调用函数:[b,a] = sos2tf(sos)可以求得系数向量a,b, 从而得到H(z)4、由系统函数求部分分式展开(留数及其极点计算)即求z反变换的部分分式展开法, 利用:[r,p,c]=residuez(b,a)其中极点为p, 留数为r, 直接项系数为c。
5、由r,p,c求系统函数即第4步的逆运算, 利用:[b,a]=residuez(r,p,c)6、由直接型结构转换为并联型结构需开发函数:[C,B,A]=tf2par(b,a)其中, b,a为直接型的系数向量, C,B,A为并联型实系数向量, 基本思想是: 1.反复调用[r,p,c]=residuez(b,a)求出极点及留数;2.利用cplxpair函数把极点、留数对按复共轭极点-留数对, 实极点-留数对的顺序排列;3.开发cplxcomp函数, 保证极点和留数相互对应;4.调用[b,a]=residuez(r,p,c)计算并联二阶节的分子分母。
7、由并联型结构转换成直接型结构开发函数:[b,a]=par2tf(C,B,A)为[C,B,A]=tf2par(b,a)的逆函数。
dsp数据存取实验报告

竭诚为您提供优质文档/双击可除dsp数据存取实验报告篇一:Dsp实验一数据存取实验《Dsp技术》课程实验报告学生姓名:所在班级:指导教师:记分及评价:一、实验名称Dsp数据存取实验二、实验目的(1)掌握Tms320F2812程序空间的分配(2)掌握Tms320F2812数据控件的分配三、实验内容(3)往0x003F9020地址开始的八个存储单元依次写入0-8的八个数(4)读取0x003F9020地址开始的八个存储单元内容并写入0x003F9028地址开始的八个存储单元内。
(5)从0x003F9020开始的八个存储单元的内容依次与0x003F9020地址开始的八个存储单元相乘,运算结果存入0x003F9000开始的八个存储单元内。
(6)从0x003F9020开始的八个存储单元的内容依次与0x003F9020地址开始的八个存储内容相加,运算结果依次存入0x003F9038地址开始的八个存储单元内。
四、实验程序与结果分析程序和结果如图1:图1结果voidmain(void){inti;volatileunsignedint*room=(volatileunsignedint*)0x3f 9020;volatileunsignedint*room2=(volatileunsignedint*)0x3 f902F;volatileunsignedint*room3=(volatileunsignedint*)0x3 f9030;volatileunsignedint*room4=(volatileunsignedint*)0x3 f903F;//Initializesystemcontrol://pLL,watchDog,enableperipheralclocksInitsysctrl();//DisablecpuinterruptsDInT;//Disablecpuinterruptsandclearallcpuinterruptflags: IeR=0x0000;IFR=0x0000;/*将0xAAAA写入从数据空间的地址0x3f9020开始的8个单元中*/for(i=0;i {*room=0x0000+i;room++;}/*从0x3f9020开始的8个空间读出数据依次写入从0x3f9028开始的8个单元中*/for(i=0;i {*room2=*(room-1);room--;room2--;}room2++;for(i=0;i {*room3=((*room)*(*room2));//0x003F9028开始的八个存储单元的内容依次与0x003F9030地址开始的八个存储单元相乘room++;room2++;room3++;}room--;room2--;for(i=0;i {*room4=((*room)+(*room2));//0x003F9028开始的八个存储单元的内容依次与0x003F9038地址开始的八个存储内容相加room--;room2--;room4--;}}五、小结通过本次实验,我学会了Tms320F2812的寻址方式,明白了试验箱扩展存储器空间的寻址方法以及ccs修改、填充Dsp内存单元的方法,加深了对于ccs2000软件的应用,为接下来的实验提供良好的帮助。
DSP实验报告_6

实验一: 闪灯实验熟悉DSP 软硬件测试系统实验目的1.了解SHARC 系列高性能数字信号处理器的程序开发过程和编程语言;2.熟悉集成开发工具VisualDSP++, 学会使用VisualDSP++进行SHARC 系列ADSP 的程序开发、编译与调试;3.掌握SHARC 系列ADSP 的程序加载设计和加载过程。
实验内容利用波形产生信号板, 结合FPGA 编程技术和程序编程器, 编写测试ADSP21065L 和FPGA 之间硬件连接的应用程序, 同时完成应用程序的加载和脱机操作, 在信号指示灯“HL2”上产生可调周期的脉冲信号, “点亮”与“熄灭”指示灯HL2。
实验要求通过DSP 编程, 在其FLAG11引脚上模拟如下波形的周期信号:要求:(1) 500H T ms >,500L T ms >. (2) 并用示波器查看波形, 测量信号周期。
实验步骤1. 熟悉电路图, 清楚波形产生电路板ADSP21065L 与可编程FPGA 器件之间的连接关系;2. 编写FPGA 程序。
在FPGA 内部将ADSP21065L 的标志引脚FLAG11(引脚号26)设置为输出, 作为FPGA 的输入信号, 在FPGA 内部编程将该信号直接输出在发FPGA 的37引脚号上, 设置37引脚为输出信号, 驱动板上的HL2 LED 指示灯;3. 启动VisualDsp++4.5,选择project 工程选项菜单, 创建一个名称为Test.dpj 的工程文件, 选择处理器的型号为ADSP-21065L ;4.弹出一个对话框, 选择是否需要加入VDSP kernel ,选择“NO ”;5. 在工程中加入以下参考源文件:\exp1\test(boot)\ boot1.asm 和boot1.ldf 6.编译, 链接调试, 生成可执行文件。
7.运行程序, 可以看到波形发生电路板上的指示灯“HL2”不断闪动。
8. 利用示波器观测系统时钟,并测量产生信号的波形和周期。
DSP实验报告5_2

DSP 第五次实验1.实验目的:(1)进一步熟悉matlab 实验环境和语言。
(2)掌握求序列圆周翻褶的MATLAB 方法。
(3)掌握求序列DFT 及IDFT 矩阵的MATLAB 方法。
(4)掌握用MATLAB 求解用圆周卷积计算线性卷积的时域的方法。
(5)掌握用FFT 计算有限长序列的线性卷积和线性相关的方法。
2.实验内容及总结:1.圆周翻褶【例3.27】 已知()[2,3,4,5,6],8X n N ==,求x(n)的8点圆周翻褶序列88(())()x n R n -。
代码:clc;clear allx=[2,3,4,5,6];N=8;x=[x,zeros(1,N-length(x))];nx=0:N-1y=x(mod(-nx,N)+1);subplot(121),stem([0:N-1],x);title('原序列');xlabel('n');ylabel('x(n)');grid;subplot(122),stem([0:N-1],y);title('圆周翻褶序列');xlabel('n');ylabel('x((n))8 R8(n)');grid;结果:总结:对于圆周翻褶(0),0()(())()(),11N Nx ny n x n R nx N n n N==-=⎨-≤≤-MA TLAB可用y=x(mode(-nx,N)+1)求得。
因此,要求X(n)=[2,3,4,5,6],N=8的8点圆周翻褶序列,要先将x(n)补零到8点长度再求圆周翻褶。
x=[x,zeros(1,N-length(x))];nx=0:N-1 %x补零到8点长y=x(mod(-nx,N)+1); %圆周翻褶从一开始,因此得到8点长%序列,应该再加一2.DFT矩阵,IDFT矩阵【例3.29】已知N=4的DFT矩阵w4,求IDFT矩阵w4I。
DSP实验报告(二)
DSP实验报告(二)实验二应用FFT对信号进行频谱分析一、实验目的1、在理论学习的基础上,通过本次实验,加深对快速傅里叶变换的理解,熟悉FFT算法及其程序的编写。
2、熟悉应用FFT对典型信号进行频谱分析的方法。
3、了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT。
二、实验原理与方法①一个连续信号的频谱可以用它的傅立叶变换表示为+ Xa(jW)=-jWtx(t)edtòa-如果对该信号进行理想采样,可以得到采样序列x(n)=xa(nT)同样可以对该序列进行z变换,其中T为采样周期X(z)=+ x(n)z-n+ -令z为ejw,则序列的傅立叶变换X(ejw)=x(n)ejwn-其中ω为数字频率,它和模拟域频率的关系为w=WT=W/fs式中的是采样频率。
上式说明数字频率是模拟频率对采样率的归一化。
同模拟域的情况相似。
数字频率代表了序列值变化的速率,而序列的傅立叶变换称为序列的频谱。
序列的傅立叶变换和对应的采样信号频谱具有下式的对应关系。
1X(e)=Tjw+ - w-2pXa(j)T即序列的频谱是采样信号频谱的周期延拓。
从式可以看出,只要分析采样序列的谱,就可以得到相应的连续信号的频谱。
注意:这里的信号必须是带限信号,采样也必须满足Nyquist定理。
在各种信号序列中,有限长序列在数字信号处理中占有很重要的地位。
无限长的序列也往往可以用有限长序列来逼近。
有限长的序列可以使用离散傅立叶变换。
当序列的长度是N时,定义离散傅立叶变换为:X(k)=DFT[x(n)]=其中W=e2pj-NN-1n=0WNkn它的反变换定义为:1x(n)=IDFT[X(k)]=N根据式和,则有N-1n=0X(k)WNknX(z)|z=Wnk=NN-1n=0x(n)WNnk=DFT[x(n)]j2pN可以得到X(k)2pk的点,就NN是将单位圆进行N等分以后第k个点。
所以,X(k)是z变换在单位圆上的等距采样,或者说是序列傅立叶变换的等距采样。
dsp实验报告
dsp实验报告实验一:CCS入门实验实验目的:1. 熟悉CCS集成开发环境,掌握工程的生成方法;熟悉SEED-DEC643实验环境; 掌握CCS集成开发环境的调试方法。
2.学习用标准C 语言编写程序;了解TI CCS开发平台下的C 语言程序设计方法和步骤; 熟悉使用软件仿真方式调试程序。
3. 学习用汇编语言编写程序; 了解汇编语言与 C 语言程序的区别和在设置上的不同;了解TMS320C6000 汇编语言程序结果和一些简单的汇编语句用法学习在CCS 环境中调试汇编代码。
4. 在了解纯C 语言程序工程和汇编语言程序工程结构的基础上,学习在C 工程中加入汇编编程的混合编程方法; 了解混合编程的注意事项;理解混合编程的必要性和在什么情况下要采用混合编程5. 熟悉CCS集成开发环境,掌握工程的生成方法; 熟悉SEED-DEC643实验环境;掌握CCS集成开发环境的调试方法。
实验原理:CCS 提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,它能够加速开发进程,提高工作效率。
CCS 提供了基本的代码生成工具,它们具有一系列的调试、分析能力序。
使用此命令后,要重新装载.out 文件后,再执行程序。
使用 CCS常遇见文件简介1. program.c: C 程序源文件;2. program.asm: 汇编程序源文件;3. filename.h: C 程序的头文件,包含DSP/BIOS API模块的头文件;4. filename.lib: 库文件;5. project.cmd: 连接命令文件;6. program.obj: 由源文件编译或汇编而得的目标文件;7. program.out: 经完整的编译、汇编以及连接后生成可执行文件; 8. program.map: 经完整的编译、汇编以及连接后生成空间分配文件; 9.project.wks: 存储环境设置信息的工作区文件。
P.S(CMD文件中常用的程序段名与含义1. .cinit 存放C程序中的变量初值和常量;2. .const 存放C程序中的字符常量、浮点常量和用const声明的常量;3. .text 存放C程序的代码;4. .bss 为C 程序中的全局和静态变量保留存储空间;5. .far 为C 程序中用far声明的全局和静态变量保留空间;6. .stack 为 C 程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;7. .sysmem 用于 C 程序中malloc、calloc 和 realloc 函数动态分配存储空间。
DSP实验报告最终版
小组成员
一、实验说明:
为了保证生产质量、生产效率和生产的安全性,在钢铁企业的定期常规设备检修必不可少,在设备检修的过程中,为了保证检修人员的人身安全和设备的安全,通常需设置检修报警提示,如:检修警报、检修指示灯等。
本次实验设计钢铁企业的滚带传送装置的检修控制系统,需要检修时,首先停止传动皮带的工作,切换到检修警报,检修警报开始工作以保证检修人员和设备的安全。当检修工作完成后,停止警报装置,返回传动电机的正常工作状态。
南-绿
北-红
北-黄
北-绿
两个寄存器的地址均映射到2812DSP的扩展空间,CTRLR,DSP通过对该地址的写操作来修改二个寄存器各位的状态,当寄存器某位取‘1’时,相应提示灯被点亮,取‘0’则熄灭。当写入CTRLR的数据(8位有效值)的高两位为‘00’时,数据的低6位将写入EWR寄存器;高两位为‘01’时,数据的低6位将写入SNR寄存器。
图3 利用开关管对直流电动机进行PWM调速控制的原理图和输入输出电压波形 上图是利用开关管对直流电动机进行PWM调速控制的原理图和输入输出电压波形。图中,当开关管MOSFET的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端有电压Us,t1秒后,栅极输入变为低电平,开关管截止,电动机电枢两端电压为0。T2秒后,栅极输入重新变为高电平,开关管的动作重复前面的过程。这样,对应着输入的高低电平,直流电动机电枢绕组两端的电压波形如图中所示。电动机的电枢绕组两端的电压平均值Uo为:
图中PWM输入对应ICETEK-CTR-A板上P4外扩插座第26引脚的S22信号,DSP将在此引脚上给出PWM信号开控制直流电机转速;图中的DIR输入引脚ICETEK-CTR-A板上P4外扩插座第29引脚的S14信号,DSP将在此引脚上给出高电平或低电平来控制直流电机的方向。从DSP输出的PWM信号和转向信号先经过2个与门和1个非门再与各个开关管的栅极相连。
DSP实验报告一
DSP实验报告一引言本实验旨在通过实际操作,探索数字信号处理(DSP)的基本概念和技术。
DSP是一种通过数字计算来处理连续时间信号的技术,被广泛应用于音频处理、图像处理、通信系统等领域。
本实验将重点介绍数字信号的采样、量化和离散化过程,并通过实际编程实现。
实验过程1. 信号的采样1.1 信号的定义在DSP领域,信号是指随着时间变化的某种物理量,可以是声音、图像等。
我们首先需要定义一个连续的信号,用于采样和处理。
在本次实验中,我们选择了一个简单的正弦信号作为示例:x(t) = A \\sin(2\\pi f t)其中,A表示幅值,f表示频率,t表示时间。
1.2 采样过程为了将连续信号转换为离散信号,我们需要对信号进行采样。
采样是指在一定时间间隔内对连续信号进行测量。
我们可以通过模拟采样器来模拟采样过程。
在本实验中,我们选择了采样频率为100Hz,即每秒采样100次。
使用Python编程实现采样过程:import numpy as np# 信号参数设置A =1f =10# 采样频率设置fs =100# 采样点数设置N =100# 生成时间序列t = np.arange(N) / fs# 生成采样信号x = A * np.sin(2* np.pi * f * t)上述代码中,我们通过调整A和f的值来模拟不同的信号。
生成的信号将存储在x变量中,可以用于后续处理。
2. 信号的量化2.1 量化过程量化是指将连续信号的幅值转换为离散的数值。
在实际应用中,我们通常使用有限位数来表示信号的幅值。
常用的量化方式有线性量化和非线性量化。
在本实验中,我们选择了线性量化方式。
具体的量化过程可以通过下列Python代码实现:import math# 量化位数设置bits =8# 量化步长计算step_size =2* A / (2** bits -1)# 信号的量化x_quantized = np.round(x / step_size) * step_size上述代码中,我们通过调整bits的值来控制量化位数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电气信息工程学院D S P技术与综合训练实验报告班级 08通信1W姓名丁安华学号 08313115指导老师倪福银刘舒淇2011年09 月目录实验一 LED演示1.1.实验目的 -------------------------------------------------P2 1.2.实验设备-------------------------------------------------P2 1.3.实验原理-------------------------------------------------P2 1.4.实验程序设计流程------------------------------------------P3 1.5.实验程序编写----------------------------------------------P4 1.6.实验步骤-------------------------------------------------P7 1.7.实验结果与分析--------------------------------------------P7实验二键盘输入2.1.实验目的 -------------------------------------------------P8 2.2.实验设备-------------------------------------------------P8 2.3.实验原理-------------------------------------------------P8 2.4.实验程序设计流程------------------------------------------P9 2.5.实验程序编写----------------------------------------------P10 2.6.实验步骤-------------------------------------------------P14 2.7.实验结果与分析--------------------------------------------P14实验三液晶显示器控制显示3.1.实验目的 -------------------------------------------------P15 3.2.实验设备-------------------------------------------------P15 3.3.实验原理-------------------------------------------------P15 3.4.实验程序设计流程------------------------------------------P17 3.5.实验程序编写----------------------------------------------P18 3.6.实验步骤-------------------------------------------------P22 3.7.实验结果与分析--------------------------------------------P23实验四有限冲激响应滤波器(FIR)算法4.1.实验目的 -------------------------------------------------P23 4.2.实验设备-------------------------------------------------P23 4.3.实验原理-------------------------------------------------P24 4.4.实验程序设计流程------------------------------------------P25 4.5.实验程序编写----------------------------------------------P25 4.6.实验步骤-------------------------------------------------P27 4.7.实验结果与分析--------------------------------------------P28实验一 LED演示1. 1实验目的1.了解ICETEK–VC5509-A板在TMS320VC5509DSP外部扩展存储空间上的扩展。
2.了解ICETEK–VC5509-A板上指示灯扩展原理。
3.学习在C语言中使用扩展的控制寄存器的方法。
1. 2实验设备计算机,ICETEK-VC5509-A实验箱(或ICETEK仿真器+ICETEK–VC5509-A系统板+相关连线及电源)。
1. 3实验原理(1)TMS320VC5509的EMIF接口:存储器扩展接口(EMIF)是DSP扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和寄存器映射的外设。
ICETEK–VC5509-A评估板在EMIF接口上除了扩展了片外SDRAM外,还扩展了指示灯、DIP开关和D/A设备。
具体扩展地址如下:400800-400802h:D/A转换控制寄存器400000-400000h:板上DIP开关控制寄存器400001-400001h:板上指示灯控制寄存器与ICETEK–VC5509-A评估板连接的ICETEK-CTR显示控制模块也使用扩展空间控制主要设备:602800-602800h:读-键盘扫描值,写-液晶控制寄存器600801-600801h:液晶辅助控制寄存器602801h 、600802h:液晶显示数据寄存器602802-602802h:发光二极管显示阵列控制寄存器(2)指示灯扩展原理图如图1所示,图1 指示灯扩展原理图1.4 实验程序流程图程序设计流程图如图2所示,开始初始化DSP时钟初始化EMIF接口正向送控制一个灯亮并延时反向送控制一个灯亮并延时正向送控制一个灯不亮并延时反向送控制一个灯不亮并延时正向控制一个灯闪烁并延时4个灯同时闪烁并延时反向控制依次熄灭并延时正向控制依次熄灭并延时图2 程序设计流程图1.5 实验程序编写#include "myapp.h"// 定义指示灯寄存器地址和寄存器类型#define LBDS (*((unsigned int *)0x400001))// 子程序接口void Delay(unsigned int nDelay); // 延时子程序/*功能描述:LED依次正向从D1到D4点亮;LED依次反向从D4到D1点亮;LED依次正向从D1到D4有一个不亮,其余点亮,四路LED依次反向从D4到D1有个不亮,其余点亮;四路LED从D1到D4依次闪烁3次;四路LED同时闪烁6次;四路LED全亮从D4依次全部熄灭;四路LED全灭从D1依次全部点亮*/main(){ unsigned int uLED[11]={1,2,4,8,7,11,13,14,15,0,3}; // 控制字,逐位置1: 0001B 0010B 0100B 1000B 0111B 1011B 1101B 1110B 1111B 0000B int i,j;PLL_Init(72); // 初始化DSP运行时钟SDRAM_init(); // 初始化EMIF接口while ( 1 ){ for ( i=0;i<4;i++ ){ LBDS=uLED[i]; // 正向顺序送控制字使得D1-D4依次点亮Delay(1024); // 延时}for ( i=3;i>=0;i-- ){ LBDS=uLED[i]; // 反向顺序送控制字使得D4-D1依次点亮Delay(1024); // 延时}for ( i=7;i>=4;i-- ){ LBDS=uLED[i]; // 反向顺序送控制字使得D1-D4依次熄灭Delay(2048); // 延时}for ( i=4;i<=7;i++ ){ LBDS=uLED[i]; // 正向顺序送控制字使得D4-D1依次熄灭Delay(2048); // 延时}/* 实现LED D1闪烁3次*/for(j=0;j<3;j++) // 变量J控制闪烁次数{LBDS=uLED[0]; // D2点亮Delay(1024);LBDS=uLED[9]; // 全部熄灭Delay(1024); }/* 实现LED D2闪烁3次*/for(j=0;j<3;j++){LBDS=uLED[1]; // D2点亮Delay(1024);LBDS=uLED[9]; // 全部熄灭Delay(1024); }/* 实现LED D3闪烁3次*/for(j=0;j<3;j++){LBDS=uLED[2]; // D3点亮Delay(1024);LBDS=uLED[9]; //全部熄灭Delay(1024); }/* 实现LED D4闪烁3次*/for(j=0;j<3;j++){LBDS=uLED[3]; // D4点亮Delay(1024);LBDS=uLED[9]; //全部熄灭Delay(1024); }/* 实现四路LED同时闪烁6次*/for(j=0;j<6;j++) // 定义变量来J控制四路同时亮灭的次数为6次{ for (i=8;i<=9;i++) //四路LED同时点亮同时熄灭依次{ LBDS=uLED[i];Delay(1024); } }for(j=0;j<1;j++) // D4到D0从全亮依次全部熄灭,过程执行一次 { LBDS=uLED[8]; // 4路全亮Delay(2048);LBDS=uLED[4]; // D4 不工作,其余点亮Delay(2048);LBDS=uLED[10]; // D4,D3 不工作,其余点亮Delay(2048);LBDS=uLED[0]; // D4,D3,D2 不工作,其余点亮Delay(2048);LBDS=uLED[9]; // 4路全熄灭Delay(2048); }for(j=0;j<1;j++) // D0到D4从全灭依次全部点亮,过程执行一次 { LBDS=uLED[9]; // 4路全熄灭Delay(2048);LBDS=uLED[0]; // D4,D3,D2 不工作,其余点亮Delay(2048);LBDS=uLED[10]; // D4,D3 不工作,其余点亮Delay(2048);LBDS=uLED[4]; // D4 不工作,其余点亮Delay(2048);LBDS=uLED[8]; // 4路全亮Delay(2048);} }}void Delay(unsigned int nDelay) //延时子程序{ int ii,jj,kk=0;for ( ii=0;ii<nDelay;ii++ ){ for ( jj=0;jj<1024;jj++ ){ kk++; } } }1.6 实验步骤1.实验准备:关闭实验箱上扩展模块和信号源电源开关,连接实验设备。