当前位置:文档之家› DSP实验报告 之 CODEC(模数数模转换)

DSP实验报告 之 CODEC(模数数模转换)

DSP实验报告 之   CODEC(模数数模转换)
DSP实验报告 之   CODEC(模数数模转换)

DSP技术及应用

学院:

班级:

姓名:

学号:

指导老师:

完成日期:

CODEC(模数/数模转换)

一、实验目的

1. 熟悉DSK板的结构和设置(DSK板注意事项在第2页);

2. 掌握利用CODEC进行AD/DA转换;

3. 熟悉McBSP, DMA的使用;

4. 掌握C和汇编混合编程封装具体实现。

二、实验设备

1.集成开发环境CCS

2.5402DSK实验板

3. 实验代码:

a). 混合编程:codec_c.h(.h、.h54均由程序自动加载,可不加,后同), dsp_cnst.h54, codec.s54, codec_c.c, rts.lib和codec_c.cmd,c5402_dsk.gel (同上用来做gel初始设置, c5402_dsk.gel与 c5402.gel稍有区别,注意比较其中的异同)。

b). 汇编(时间多的同学做):codec_cnst.h54, dsp_cnst.h54, macro.h54, codec_init.s54, dsp_init.s54, main.s54和codec.cmd,c5402_dsk.gel(说明同前)。

三、实验内容及步骤

1. 阅读理解McBSP, CODEC和DMA的相关文档

2. 阅读和理解相关实验代码

3. 本实验由于用到DSK板,环境设置与前不同,要特别注意。打开CCS前,用并口电缆将TMS320VC5402DSK与PC机相连,出现发现硬件提示,安装驱动(驱动程序在D:\DSP\driver5000。一般会要求装3次,2次装USB,driver5000\USBDevice目录,如无则可跳过;1次装driver,即 driver5000中setup.exe,注意driver驱动的安装路径要求与CCS的安装路径一致,故要先找出CCS的安装目录)。

4. 接通DSK板电源,配置工作环境: 双击打开Code Composer (Studio)

配置程序,如图:点击“Clear”按钮,清除原有配置。然后,在列表框“Available Configurations”中加亮“ICETEK-5100 USB Emulator”

选项。如图中圆圈所示:,点击对话框中的“Import”按钮,然后点击“Save and Quit”按钮,退出并确认同时打开CCS 主程序。

5. 建立项目,添加代码,编译并连接,各事项如下:

a) 混合编程中改设置:Build option子菜单linker中Basic项Autoinit Model 改为Load-time Initialization或Run-time Initialization。用No Initialization编译不过,有1 Errors, 1 Warnings。为:

error: symbol referencing errors

undefined first referenced

symbol in file

pinit D:\Program Files\TI\myprojects\..\lab56\51_codec\C\rts.lib

cinit D:\Program Files\TI\myprojects\..\lab56\51_codec\C\rts.lib

warning:

"codec_c.c", line 63: warning: statement is unreachable

修改后只有1 Warnings,同上,但是可以做出实验结果。

b) 汇编编程中: Build option子菜单linker中Basic项Autoinit Model 则可用No Initialization,用load-time Initialization或Run-time Initialization将有 1 Warnings,为:warning: entry point other than _c_int00 specified,都可做出实验结果。

6. Build得到.out程序,然后加载程序并调试。

7. 输入声音信号或自己的语音并听取DA端输出。

四、实验结果和提示

1. DSK实验板上有两块CODEC(编译码器)芯片,一块与DAA口相联,另一块与音频模块相联。5402有两个McBSP口,在DSK板上的缺省设置为McBSP0的信号源为DAA,McBSP1的信号源为音频模块。如果想更改缺省设置必须写相应的CPLD寄存器,具体情况请参考《数字信号处理器开发实践》4.

2.3节。本实验中使用了音频模块作为输入输出端口,因此实验中使用的是相应的CODEC及McBSP1口。

2. 使用CODEC必须设置相应的控制寄存器,实验使用的TLC320AD50C共有7个寄存器,其中4个为控制寄存器,要写这些控制寄存器必须将CODEC切换到第二串行通信方式,切换方式有两种:硬件方式和软件方式。本实验采用了硬件方式,这样必须将FC在FS的上跳沿前拉高,然后CODEC会在128个SCLK后切换到第二串行通信,然后就可以向CODEC发送控制字。具体可参阅《数字信号处理器开发实践》5.1.2及5.1.3节。

3. 要设置CODEC必须通过McBSP1口发送数据,为使McBSP1口正常工作要设置相应的控制寄存器,McBSP1的15个控制寄存器采用同址访问的方式进行访问,将要访问的寄存器的子地址写入子地址寄存器SPSA1后再访问同一个数据寄存器即可。具体控制寄存器的设置请参阅《数字信号处理系统的应用和设计》5.

4.2节。要注意的是由于板上McBSP1口与CODEC相联时FS, CLK信号均由CODEC驱动,所以相应的管脚必须设置为输入脚并置好对应的标志位,可以参考实验代码中的寄存器参数注释。

4. 音频信号经CODEC采集后通过McBSP再由DMA通道送往数据区缓冲区,这样可以在不影响CPU的情况下完成数据的传输。5402的DMA共有6个通道,每个通道有5个独立的控制寄存器,此外还共享10个全局寄存器。由于全局寄存器中有四个重载寄存器,可以对1个通道实现自动初始化,这样可以很方便的对输入(或输出)信号进行连续传输。由于输入输出必须占用两个DMA通道,这样就必须对另一个通道手动重载,这些在中断中完成。由于5402中断资源有限,DMA中断是与其他外设中断复用的,这个通过DMPREC寄存器中的中断复用位进行设置。对以上这40个寄存器的访问也采用与McBSP相同的同址访问方式。具体设置请参阅《数字信号处理系统的应用和设计》

5.5.2节和实验代码中的寄存器参数注释。

5. 要实现数据连续的数据采集和发送必须在数据缓冲区开辟两块区域交替使用,为了辨别使用哪块区域要设置一个相应标志位,这就是常用的乒乓法。在DMA中断处理程序中要根据此标志位更新缓冲区地址。

6. 数据输入的DMA通道中断后必须对输入数据进行处理,然后送入输出缓

冲区,这就要在中断中设置一个中断标志位,然后在主程序中查询此标志位判断是否要进行数据处理。本实验中没有对数据进行任何处理直接送入输出缓冲区,但是可以很方便地加入各种信号处理代码。

7. 将汇编程序分模块封装成C函数后可以使整个流程简洁明了,一目了然。同时留下的接口可以让用户很方便地对CODEC进行设置并加入自己想要采用的信号处理代码。在混合编程中要注意的是函数名和变量在C和汇编中的命名规则;C语言接口的汇编函数可以自由使用的寄存器和使用前必须先保存的寄存器;C 语言中的状态标志位缺省值以及C语言和汇编的相互调用通过堆栈来进行参数和返回值的传递,同时通过堆栈可以方便的实现局部数据的使用。具体情况可以参阅《数字信号处理系统的应用和设计》7.1节。

五、实验思考题:

1、整个语言程序是如何实现的?

答:整个语言程序由主程序和子程序构成,主函数中由亮灯程序、延时程序、初始化程序、CODEC程序等,子函数中是各函数的定义,还有中断函数。音频信号经CODEC采集后通过McBSP再由DMA通道送往数据区缓冲区,CODEC 中的A/D 出来的语音采样数据由串行口ISR (中断服务控制) 通过DSS_ rxP ipe

触发软件中断, 在这里语音采样数据被编码存储, 然后再被解码通过DSS_ txP ipe 发送至串行口ISR , 经由CODEC 中的D/A 可以播放出来。

2、语言程序由哪个模块组成?

答:语言程序由语音模块组成,进行语音信号的处理。

3、如果要对语音进行处理的话,可以在哪个地方添加处理程序?

答:在_enable_codec:函数中可以添加处理程序,如图所示:

4、比较C5402.gel和CS402_dsk.gel的区别?

答:

在C5402.gel文件中;

在CS402_dsk.gel文件中;

由上两图可知:两个gel文件中SWWSR中地址不同,还有在在CS402_dsk.gel 文件中添加了语句SWWSR = SWWSR_VAL。

六:实验心得

这个实验碰到了点麻烦下次还是要耐心一点的好

数模模数转换实验报告

数模模数转换实验报告 一、实验目的 1、了解数模和模数转换电路的接口方法及相应程序设计方法。 2、了解数模和模数转换电路芯片的性能和工作时序。 二、实验条件 1、DOS操作系统平台 2、数模转换芯片DAC0832和模数转换器ADC0809芯片。 三、实验原理 1、数模转换: (1)微机处理的数据都是数字信号,而实际的执行电路很多都是模拟的。因此微机的处理结果又常常需要转换为模拟信号去驱动相应的执行单元,实现对被控对象的控制。这种把数字量转换为模拟量的设备称为数模转换器(DAC),简称D/A。 (2)实验中所用的数模转换芯片是DAC0832,它是由输入寄存器、DAC 寄存器和D/A 转换器组成的CMOS 器件。其特点是片内包含两个独立的8 位寄存器,因而具有二次缓冲功能,可以将被转换的数据预先存在DAC 寄存器中,同时又采集下一组数据,这就可以根据需要快速修改DAC0832 的输出。 2、模数转换: (1)在工程实时控制中,经常要把检测到的连续变化的模拟信号,如温度、压力、速度等转换为离散的数字量,才能输入计算机进行处理。实现模拟量到数字量转换的设备就是模数转换器(ADC),简称A/D。

(2)模数转换芯片的工作过程大体分为三个阶段:首先要启动模数转换过程。其次,由于转换过程需要时间,不能立即得到结果,所以需要等待一段时间。一般模数转换芯片会有一条专门的信号线表示转换是否结束。微机可以将这条信号线作为中断请求信号,用中断的方式得到转换结束的消息,也可以对这条信号线进行查询,还可以采用固定延时进行等待(因为这类芯片转换时间是固定的,事先可以知道)。最后,当判断转换已经结束的时候,微机就可以从模数转换芯片中读出转换结果。 (3)实验采用的是8 路8 位模数转换器ADC0809 芯片。ADC0809 采用逐次比较的方式进行A/D 转换,其主要原理为:将一待转换的模拟信号与一个推测信号进行比较,根据推测信号是大于还是小于输入信号来决定增大还是减少该推测信号,以便向模拟输入逼近。推测信号由D/A 转换器的输出获得,当推测信号与模拟信号相等时,向D/A 转换器输入的数字就是对应模拟信号的数字量。ADC0809 的转换时间为64 个时钟周期(时钟频率500K 时为128S)。分辨率为 8 位,转换精度为±LSB/2,单电源+5V 供电时输入模拟电压范围为04.98V。 四、实验内容 1、把DAC0832 的片选接偏移为10H 的地址,使用debug 命令来测试 DAC0832 的输出,通过设置不同的输出值,使用万用表测量Ua 和Ub 的模拟电压,检验DAC0832 的功能。选取典型(最低、最高和半量程等)的二进制值进行检验,记录测得的结果。实验结果记录如下:

dsp课程设计实验报告

DSP 课程设计实验 一、语音信号的频谱分析: 要求首先画出语音信号的时域波形,然后对语音信号进行频谱分析。在MATLAB 中,可以利用函数fft 对信号进行快速傅立叶变换,得到信号的频谱特性,从而加深对频谱特性的理解。 其程序为: >> [y,fs,bits]=wavread('I:\',[1024 5120]); >> sound(y,fs,bits); >> Y=fft(y,4096); >> subplot(221);plot(y);title('原始信号波形'); | >> subplot(212);plot(abs(Y));title('原始信号频谱'); 程序运行结果为: 二、设计数字滤波器和画出频率响应: 根据语音信号的特点给出有关滤波器的性能指标: 低通滤波器性能指标,p f =1000Hz ,c f =1200Hz ,s A =100dB ,p A =1dB ; 高通滤波器性能指标,c f =4800Hz ,p f =5000Hz ,s A =100dB ,p A =1dB ; 带通滤波器性能指标,1p f =1200Hz ,2p f =3000Hz ,1c f =1000Hz ,2c f =3200Hz ,s A =100dB , p A =1dB ;

】 要求学生首先用窗函数法设计上面要求的三种滤波器,在MATLAB中,可以利用函数firl 设计FIR滤波器;然后再用双线性变换法设计上面要求的三种滤波器,在MATLAB中,可以利用函数butte、cheby1和ellip设计IIR滤波器;最后,利用MATLAB中的函数freqz画出各种滤波器的频率响应,这里以低通滤波器为例来说明设计过程。 低通: 用窗函数法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil(/*(wc-wp)/2))+1; >> beta=*; >> Win=Kaiser(N+1,beta); 、 >>b=firl(N,wc,Win); >>freqz(b,1,512,fs); 程序运行结果: 这里选用凯泽窗设计,滤波器的幅度和相位响应满足设计指标,但滤波器长度(N=708)太长,实现起来很困难,主要原因是滤波器指标太苛刻,因此,一般不用窗函数法设计这种类型的滤波器。 用双线性变换法设计的低通滤波器的程序如下: >> fp=1000;fc=1200;As=100;Ap=1;fs=22050; >> wc=2*fc/fs;wp=2*fp/fs; 》 >> [n,wn]=ellipord(wp,wc,Ap,As); >> [b,a]=ellip(n,Ap,As,wn); >> freqz(b,a,512,fs); ^

数模与模数转换器 习题与参考答案

第11章 数模与模数转换器 习题与参考答案 【题11-1】 反相运算放大器如图题11-1所示,其输入电压为10mV ,试计算其输出电压V O 。 图题11-1 解:输出电压为: mV mV V R R V IN F O 10010101 =?=-= 【题11-2】 同相运算放大器如图题11-2所示,其输入电压为10 mV ,试计算其输出电压V O 。 图题11-2 解:mV mV V R R V IN F O 110101111 =?=+=)( 【题11-3】 图题11-3所示的是权电阻D/A 转换器与其输入数字信号列表,若数字1代表5V ,数字0代表0V ,试计算D/A 转换器输出电压V O 。 11-3 【题11-4】 试计算图题11-4所示电路的输出电压V O 。 图题11-4 解:由图可知,D 3~D 0=0101 因此输出电压为:V V V V O 5625.151650101254 === )( 【题11-5】 8位输出电压型R/2R 电阻网络D/A 转换器的参考电压为5V ,若数字输入为,该转换器输出电压V O 是多少?

解:V V V V O 988.21532565100110012 58≈== )( 【题11-6】 试计算图题11-6所示电路的输出电压V O 。 图题11-6 解:V V V D D V V n n REF O 5625.1516501012 5~240==-=-=)()( 【题11-7】 试分析图题11-7所示电路的工作原理。若是输入电压V IN =,D 3~D 0是多少? 图题11-7 解:D3=1时,V V V O 6221234== ,D3=0时,V O =0。 D2=1时,V V V O 3221224== ,D2=0时,V O =0。 D1=1时,V V V O 5.1221214== ,D1=0时,V O =0。 D0=1时,V V V O 75.0221204 ==,D0=0时,V O =0 由此可知:输入电压为,D3~D0=1101,这时V O =6V++=,大于输入电压V IN =,比较器输出低电平,使与非门74LS00封锁时钟脉冲CLK ,74LS293停止计数。 【题11-8】 满度电压为5V 的8位D/A 转换器,其台阶电压是多少?分辨率是多少? 解:台阶电压为mV mV V STEP 5.192/50008== 分辨率为:%39.00039.05000/5.195000/===mV V STEP

dsp课程设计实验报告总结

DSP课程设计总结(2013-2014学年第2学期) 题目: 专业班级:电子1103 学生姓名:万蒙 学号:11052304 指导教师: 设计成绩: 2014 年6 月

目录 一设计目的----------------------------------------------------------------------3 二系统分析----------------------------------------------------------------------3 三硬件设计 3.1 硬件总体结构-----------------------------------------------------------3 3.2 DSP模块设计-----------------------------------------------------------4 3.3 电源模块设计----------------------------------------------------------4 3.4 时钟模块设计----------------------------------------------------------5 3.5 存储器模块设计--------------------------------------------------------6 3.6 复位模块设计----------------------------------------------------------6 3.7 JTAG模块设计--------------------------------------------------------7 四软件设计 4.1 软件总体流程-----------------------------------------------------7 4.2 核心模块及实现代码---------------------------------------8 五课程设计总结-----------------------------------------------------14

第8章-数模和模数转换习题解答

思考题与习题 8-1 选择题 1)一输入为十位二进制(n=10)的倒T 型电阻网络DAC 电路中,基准电压REF V 提供电流为 b 。 A. R V 10REF 2 B. R V 10REF 22? C. R V REF D. R V i )2(REF ∑ 2)权电阻网络DAC 电路最小输出电压是 b 。 A. LSB 21V B. LSB V C. MSB V D. MSB 2 1V 3)在D/A 转换电路中,输出模拟电压数值与输入的数字量之间 a 关系。 A.成正比 B. 成反比 C. 无 4)ADC 的量化单位为S ,用舍尾取整法对采样值量化,则其量化误差m ax ε= b 。 A.0.5 S B. 1 S C. 1.5 S D. 2 S 5)在D/A 转换电路中,当输入全部为“0”时,输出电压等于 b 。 A.电源电压 B. 0 C. 基准电压 6)在D/A 转换电路中,数字量的位数越多,分辨输出最小电压的能力 c 。 A.越稳定 B. 越弱 C. 越强 7)在A/D 转换电路中,输出数字量与输入的模拟电压之间 a 关系。 A.成正比 B. 成反比 C. 无 8)集成ADC0809可以锁存 8 模拟信号。 A.4路 B. 8路 C. 10路 D. 16路 5)双积分型ADC 的缺点是 a 。 A.转换速度较慢 B. 转换时间不固定 C. 对元件稳定性要求较高 D. 电路较复杂 8-2 填空题 1)理想的DAC 转换特性应是使输出模拟量与输入数字量成__正比__。转换精度是指DAC 输出的实际值和理论值__之差_。 2)将模拟量转换为数字量,采用 __A/D__ 转换器,将数字量转换为模拟量,采用__D/A_____ 转换器。 3)A/D 转换器的转换过程,可分为采样、保持及 量化 和 编码 4个步骤。 4)A/D 转换电路的量化单位位S ,用四舍五入法对采样值量化,则其m ax ε= 0.5s 。 5)在D/A 转换器的分辨率越高,分辨 最小输出模拟量 的能力越强;A/D 转换器的分辨率越高,分辨 最小输入模拟量 的能力越强。 6)A/D 转换过程中,量化误差是指 1个LSB 的输出变所对应的模拟量的范围 ,量化误差是 不可 消除的。

DSP实验报告

电气信息工程学院 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

单片机AD模数转换实验报告

一、实验目的和要求 1、掌握单片机与ADC0809的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D转换程序。 5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。 三、电路原理图。 图1、电路仿真图

四、实验程序流程框图和程序清单。 1、 查询法: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: MOV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码 送位选信号延时1ms 熄灭第四位数码管 延时1ms 返回

单片机AD模数转换实验报告

1、掌握单片机与ADC0809的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D转换程序。 5、启动A/D转换,将输入模拟量的转换结果在显示器上显示。 三、电路原理图。 图1、电路仿真图 四、实验程序流程框图和程序清单。

1、 查询法: ORG 0000H START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB , LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: MOV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回

DSP实验报告

实验一 程序的控制与转移 一、实验目的 1、掌握条件算符的使用。 2、掌握循环操作指令(BNAZ )和比较操作指令(CMPR ) 二、实验设备 计算机、ZY13DSP12BD 实验箱、5402EVM 板。 三、实验原理 程序控制指令主要包括分支转移、子程序调用、子程序返回、条件操作及循环操作等。通过传送控制到程序存储器的其他位置,转移会中断连续的指令流。转移会影响在PC 中产生和保护的程序地址。其中转移可以分为两种形式的,一种是有条件的,另一种是无条件的。 四、实验内容 编写程序,实现计算y= ∑=5 1 i i x 的值。 五、实验步骤 1、用仿真机将计算机与ZY13DSP12BD 实验箱连接好,并依次打开实验箱电源、仿真机电源,然后运行CCS 软件。 2、新建一个项目:点击Project -New ,将项目命名为example2,并将项目保存在自己定义的文件夹下。 3、新建一个源文件example2.asm 。将该文件添加到工程example2.pjt 中。 4、在工程管理器中双击example2.asm ,编写源程序: .tiltle ”example2.asm ” .mmregs STACK .usect ”STACK ”,10H ;堆栈的设置 .bss x,5 ;为变量分配6个字的存储空间 .bss y,1 .def start .data table: .word 10,20,3,4,5 ;x1,x2,x3,x4,x5 .text Start: STM #0,SWWWSR ;插入0个等待状态 STM #STACK+10H,sp ;设置堆栈指针 STM #x,AR1 ;AR1指向x RPT #4 ;下一条被重复执行5遍 MVPD table,*AR1+ ;把程序存储器中的数据传送到数据存储器 LD #0,A ;A 清零 CALL SUM ;调用求和函数 end: B end SUM: STM #x,AR3 ;AR3指向x STM #4,AR2 ;AR2=4 loop: ADD *AR3+,A ;*AR3+A-->A,然后AR3+ BANZ loop,*AR2- ;如果AR2的值不为0,则跳到loop 处;否则执行下一条指令 STL A,*(y) ;把A 的低16位赋给变量y

数模转换器和模数转换器实验报告

实验报告 课程名称微机原理与接口技术 实验项目实验五 数/模转换器和模/数转换器实验实验仪器 TPC-USB通用微机接口实验系统 系别计算机系 专业网络工程 班级/学号 学生 _ 实验日期 成绩_______________________ 指导教师王欣

实验五数/模转换器和模/数转换器实验 一、实验目的 1. 了解数/模转换器的基本原理,掌握DAC0832芯片的使用方法。 2. 了解模/数转换器的基本原理,掌握ADC0809的使用方法。 二.实验设备 1.PC微机系统一套 2.TPC-USB通用微机接口实验系统一套 三.实验要求 1.实验前要作好充分准备,包括程序框图、源程序清单、调试步骤、测试方法、对运行结果的分析等。 2.熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)使用方法。在程序调试过程中,有意识地了解并掌握TPC-USB通用微机接口实验系统的软硬件环境及使用,掌握程序的调试及运行的方法技巧。 3.实验前仔细阅读理解教材相关章节的相关容,实验时必须携带教材及实验讲义。 四.实验容及步骤 (一)数/模转换器实验 1.实验电路原理如图1,DAC0832采用单缓冲方式,具有单双极性输入端(图中的Ua、Ub),编程产生以下锯齿波(从Ua和Ub输出,用示波器观察) 图1 实验连接参考电路图之一 编程提示: 1. 8位D/A转换器DAC0832的口地址为290H,输入数据与输出电压的关系为:

(UREF表示参考电压,N表示数数据),这里的参考电压为PC机的+5V电源。 2. 产生锯齿波只须将输出到DAC0832的数据由0循环递增。 3. 参考流程图(见图2): 图2 实验参考流程图之一 (二)模/数转换器 1. 实验电路原理图如图3。将实验(一)的DAC的输出Ua,送入ADC0809通道1(IN1)。 图3 实验连接参考电路图之二 2. 编程采集IN1输入的电压,在屏幕上显示出转换后的数据(用16进制数)。编程提示: 1. ADC0809的IN0口地址为298H,IN1口地址为299H。 2. IN0单极性输入电压与转换后数字的关系为:

DSP技术与课程设计实验报告二(精)

东南大学自动化学院 实验报告 课程名称: D SP 原理及C 程序开发 第二次实验 实验名称:基于DSP 系统的实验——指示灯、拨码开关和定时器院(系):自动化专业:自动化 姓名:学号: 实验室:实验组别: 同组人员:实验时间:2012 年 4 月 18日 评定成绩:审阅教师: 第一部分实验:基于DSP 系统的实验——指示灯和拨码开关 一.实验目的 1. 了解ICETEK –F28335-A 评估板在TMS320F28335DSP 外部扩展存储空间上的扩展。 2. 了解ICETEK –F28335-A 评估板上指示灯和拨码开关扩展原理。 3. 学习在C 语言中使用扩展的控制寄存器的方法。 二.实验设备 计算机,ICETEK –F28335-A 实验箱(或ICETEK 仿真器+ICETEK–F28335-A 评估板+相关连线及电源)。 三.实验原理

1.TMS320F28335DSP 的存储器扩展接口 存储器扩展接口是DSP 扩展片外资源的主要接口,它提供了一组控制信号和地址、数据线,可以扩展各类存储器和存储器、寄存器映射的外设。 -ICETEK –F28335-A 评估板在扩展接口上除了扩展了片外SRAM 外,还扩展了指示灯、DIP 开关和D/A 设备。具体扩展地址如下: 0x180004- 0x180005:D/A 转换控制寄存器 0x180001:板上DIP 开关控制寄存器 0x180000:板上指示灯控制寄存器 -与ICETEK –F28335-A 评估板连接的ICETEK-CTR 显示控制模块也使用扩展空间控制主要设备: 208000-208004h :读-键盘扫描值,写-液晶控制寄存器 208002-208002h :液晶辅助控制寄存器 208003-208004h :液晶显示数据寄存器 2.指示灯与拨码开关扩展原理

单片机AD模数转换实验报告

单片机AD模数转换实验报告

一、实验目的和要求 1、掌握单片机与ADC0809的接口设计方法。 2、掌握Proteus软件与Keil软件的使用方法。 二、设计要求。 1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与0809接口。 2、在0809的某一模拟量输入通道上接外部模拟量。 3、在单片机的外部扩展数码管显示器。 4、分别采用延时和查询的方法编写A/D 转换程序。 5、启动A/D转换,将输入模拟量的转换

结果在显示器上显示。 三、电路原理图。 图1、电路仿真图 四、实验程序流程框图和程序清单。 1、查询法: ORG 0000H START: LJMP MAIN ORG 0100H

MAIN: MOV SP, #2FH NT: MOV DPTR, #0FF78H MOVX @DPTR, A LOOP: JB P3.3, LOOP MOVX A, @DPTR MOV B, #51 DIV AB MOV R0, A MOV A, B MOV B, #5 DIV AB MOV R1, A MOV R2, B LCALL DIR SJMP NT DIR: MOV R7, #0 SJMP LOOP1 BH: MOV A, R1 MOV R2, A LOOP1: MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R2 MOVC A, @A+DPTR MOV P1, A LCALL DELAY INC R7 CJNE R7, #2, BH MOV DPTR, #WK MOV A, R7 MOVC A, @A+DPTR MOV P2, A MOV DPTR, #DK MOV A, R0 MOVC A, @A+DPTR ANL A, #7FH MOV P1, A LCALL DELAY RET DELAY: M OV R5, #01H DL1: MOV R4, #8EH DL0: MOV R3, #02H DJNZ R3, $ DJNZ R4, DL0 DJNZ R5, DL1 RET WK: DB 10H DB 20H DB 40H DK: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END display 送百分位字符代码送位选信号延时1ms 送十分位字符代码送位选信号延时1ms 送个位及小数点字符代码送位选信号延时1ms 熄灭第四位数码管延时1ms 返回

AD转换实验报告

A/D转换实验报告

摘要 本设计是利用AT89C51、ADC0809、CD4027芯片为核心,加以其他辅助电路实现对信号的A/D转换,其中以单片机AT89C51为核心控制A/D转换器。先是对信号进行采集,然后用ADC0809对信号实现从模拟量到数字量的转换。改变采样数据,调整电路,使其达到精确转换。

目录 1.方案设计与论证 (1) 1.1理论分析 (1) 1.2输出、输入方案选择 (1) 1.3显示方案 (2) 1.4时钟脉冲选择 (2) 2.硬件设计 (2) 2.1A/D转换器模块 (2) 2.2单片机模块 (3) 2.3JK触发器模块 (4) 3软件设计 (4) 4.仿真验证与调试 (5) 4.1测试方法 (5) 4.2性能测试仪器 (7) 4.4误差分析 (7) 5.设计总结及体会 (5) 附录(一)实物图 (6) 附录(二)软件程序 (6)

1.方案设计与论证 1.1理论分析 8位A/D转换由芯片内部的控制逻辑电路、时序产生器、移位寄存器、D/A转换器及电压比较器组成,它具有将模拟量转换成数字量的特性,其原理图如下: AD转换原理图(1) 1.2输出、输入方案选择 A/D转换器有多路选择器,可选择八路模拟信号IN0~IN7中的一路进入A/D转换。现在选择IN0通道作为输入,则对应的地址码位ADD C=0、ADD B=0、ADD A=0。当转换完成后,OE=1,打开三态输出锁存缓冲器,将转换数据从D7~D0口输出到单片机的P0端口。 IN口输入D端口输出 A/D转换器 图(2)

1.3显示方案 单片机控制数码管显示有两种动态和静态两种方法,由于静态控制数码管每次只能显示一位,造成资源浪费,所以选择动态扫描,并增加变换频率。 1.4时钟脉冲选择 方案一:可以直接用矩形波来控制 方案二:ALE通过JK触发器完成二分频,然后 Q端接CLK。因为晶振的频率是12MHz,ALE的频率为12NHz×1/6=2MHz,经过JK 触发器二分频后就是1MHz. 2.硬件设计 2.1 A/D转换器模块 A/D转换电路图(3) 模拟量从IN0端口输入,经电压比较器后输入到控制电路,转换后从D0~D7口输出,地址码位ADD C=0、ADD B=0、ADD A=0。OE 端输出允许控制信号,EOC转换结束控制信号,EOC=0,转换结束后EOC=1。START转换启动信号,上升沿将片内寄存器清零,下降

dsp实验报告 哈工大实验三 液晶显示器控制显示实验

实验三液晶显示器控制显示实验 一. 实验目的 通过实验学习使用2407ADSP 的扩展I/O 端口控制外围设备的方法,了解液晶显示器的显示控制原理及编程方法。 二. 实验设备 计算机,ICETEK-LF2407-EDU 实验箱。 三.实验原理 ICETEK-LF2407-A 是一块以TMS320LF2407ADSP 为核心的DSP 扩展评估板,它通过扩展接口与实验箱的显示/控制模块连接,可以控制其各种外围设备。 液晶显示模块的访问、控制是由2407ADSP 对扩展I/O 接口的操作完成。 控制I/O 口的寻址:命令控制I/O 接口的地址为0x8001,数据控制I/O 接口的地址为0x8003 和0x8004,辅助控制I/O 接口的地址为0x8002。 显示控制方法: ◆液晶显示模块中有两片显示缓冲存储器,分别对应屏幕显示的象素,向其中写入数 值将改变显示,写入“1”则显示一点,写入“0”则不显示。其地址与象素的对应 方式如下: ◆发送控制命令:向液晶显示模块发送控制命令的方法是通过向命令控制I/O 接口 写入命令控制字,然后再向辅助控制接口写入0。下面给出的是基本命令字、解释 和 C 语言控制语句举例。 ?显示开关:0x3f 打开显示;0x3e 关闭显示; ?设置显示起始行:0x0c0+起始行取值,其中起始行取值为0 至63; ?设置操作页:0x0b8+页号,其中页号取值为0-7; ?设置操作列:0x40+列号,其中列号为取值为0-63; ◆写显示数据:在使用命令控制字选择操作位置(页数、列数)之后,可以将待显示的 数据写入液晶显示模块的缓存。将数据发送到相应数据控制I/O 接口即可。

DSP实验报告

学校代码学号分类号密级 DSP实验报告 院系名称 专业名称 年级 学生姓名 指导老师 年月日

实验一数据存储实验 一、实验目的 1. 掌握 TMS320C54X 程序空间的分配; 2. 掌握 TMS320C54X 数据空间的分配; 3. 能够熟练运用TMS320C54X 数据空间的指令。 二、实验设备 计算机,CCS 3.1版软件,DSP仿真器,E300实验箱,DSP-54XP CPU板。 三、实验系统相关资源介绍 1. 本实验指导书是以TMS320VC5416为例,介绍其相关的内部和外部存储器资源。对于其他类型的CPU请参考查阅相关的数据手册。) 下面给出TMS320VC5416的存储器分配表: 对于数据存储空间而言,映射表相对固定。值得注意的是内部寄存器都映射到数据存储器空间内。因此在编程时这些特定的空间不能作其他用途。 对于程序空间而言,其映射表和CPU 的工作模式有关。当MP/MC 引脚为高电平时,CPU 工作在微处理器模式;当MP/MC引脚为低电平时,CPU工作在微计算机模式。具体的MP和MC模式下的程序和数据映射关系如上图所示。 2. 样例程序实验操作简单说明: 本实验程序将对0x1000 开始的8 个地址空间,填写入0xAAAA 的数据,然后读出,并存储到以0x1008开始的8个地址空间,在CCS中可以观察DATA存储器空间地址0x1000~0x100F 值的变化。 四、实验步骤与内容 1. 在进行 DSP实验之前,需先连接好仿真器、实验箱及计算机,连接方法如下所示: 2. E300 底板的开关SW4 的第1位置ON,其余位置OFF,SW5全部置ON,其余开关不做设置要求。 3. 上电复位 在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的“红色指示灯”应点亮,否则DSP开发系统与计算机连接存

模 数(A D)转换器(微机实验报告)

模/数(A/D)转换器 一、实验目的 1、掌握ADC0809模数转换芯片与计算机的连接方法; 2、了解ADC0809芯片的功能及编程方法; 3、了解计算机如何进行数据采集。 二、实验设备 1、PC机一台 2、TPC-H微机接口实验系统实验箱一台 3、连接导线若干 三、实验内容 1、实验电路原理图如图1。 ADC0809是8位A/ D转换器,每采集一次一般需100 s。由于ADC0809 A/ D转换器转换结束后会自动产生EOC信号(高电平有效)。通过实验台左下角电位器RW1输出0~5V直流电压送入ADC0809通道0(IN0),利用debug的输出命令启动A/D转换器,输入命令读取转换结果,验证输入电压与转换后数字的关系。启动IN0开始转换: O 298, 0 读取转换结果: I 298 图1 模数转换电路 2、编程采集IN0输入的电压,在屏幕上显示出转换后的数据(用16进制数)。 3、将JP3的1、2短接,使IN1处于双极性工作方式,并给IN1输入一个低频交流信号(幅度为±5V),编程采集这个信号数据并在屏幕上显示波形。 四、编程提示

1、ADC0809的IN0口地址为298H,IN1口地址为299H。 2、IN0单极性输入电压与转换后数字的关系为: 其中Ui为输入电压,UREF为参考电压,这里的参考电压为PC机的+5V电源。 3、一次A/D转换的程序可以为 MOV DX,口地址 OUT DX,AL ;启动转换 ;延时 IN AL,DX ;读取转换结果放在AL 五、参考流程图 图2 流程图1

图3 流程图2 六、实验源程序 code segment assume cs:code start: mov dx,298h ;启动A/D转换器 out dx,al mov cx,0ffh ;延迟 delay: loop delay in al,dx ;从A/D转换器输入数据 mov bl,al ;将Al保存到BL mov cl,4 shr al,cl ;将AL右移四位 call disp ;将显示子程序显示其高四位 mov al,bl

AD转换实验报告

8292924809 基于单片机的AD转换电路 专业: 班级: 学号: 组员: 指导老师: 年月日

目录 键入章标题(第 1 级) (1) 键入章标题(第2 级) (2) 键入章标题(第3 级) (3) 键入章标题(第 1 级) (4) 键入章标题(第2 级) (5) 键入章标题(第3 级) (6)

引言 A/D转换是指将模拟信号转换为数字信号,这在信号处理、信号传输等领域具有重要的意义。常用的A/D转换电路有专用A/D集成电路、单片机ADC模块,前者精度高、电路复杂,后者成本低、设计简单。基于单片机的A/D转换电路在实际电路中获得了广泛的应用。 一般的A/D转换过程是通过采样、保持、量化和编码4个步骤完成的,这些步骤往往是合并进行的。当A/D转换结束时,ADC输出一个转换结束信号数据。CPU可由多种方法读取转换结果:a查询方式;b中断方式;c DMA方式。 通道8为A/D转换器,ADC0809是带有8为A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输出,共用A/D转换器进行转换。三台输出锁存器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。 一个实际系统中需用传感器把各种物理参数测量出来,并转换为电信号,在经过A/D转换器,传送给计算机;微型计算机加工后,通过D/A转换器去控制各种参数量。

模数转换实验报告

单片机控制ADC0809的模数转换与显示 一、实验内容和要求 本题目对单片机控制ADC0809(Proteus的元件库中没有ADC0809,用ADC0808来代替)的通道3的电压模拟量进行模数转换,转换为数字量后,显示在3位数码管上。调节图中的电位器,可观察到数码管显示的电压值在变化。 二、实验主要仪器设备和材料 计算机一台 三、实验方法、步骤及结果测试 所有操作都在ISIS中进行,步骤如下。 (一)、Proteus电路设计 1.从Proteus库中选取元器件 (1)AT89C51:单片机; (2)RES:电阻; (3)7SEG-MAPX4-CC-BLUE (4)CAP、CAP-ELEC:电容、电解电容 (5)CRYSTAL:晶振; (6)BUTTON:开关 (7)BUTTON (8)ADC0808 (9)POT-HG (10)LED-YELLOW (11)MAX7219 (12)RESONATOR 2.放置元器件、放置电源和地、连线、元器件属性设置、电气检测 所有操作都在ISIS中进行 完成的电路图设计如图

(二)、源程序设计 1、流程图 2、通过Keil u Vision4建立工程,再建立源程序文件

源程序如下 主机程序: LED_0 EQU 30H LED_1 EQU 31H LED_2 EQU 32H ADC EQU 35H CLOCK BIT P2.4 ST BIT P2.5 EOC BIT P2.6 OE BIT P2.7 ORG 00H SJMP START ORG 0BH LJMP INT_T0 START: MOV LED_0, #00H MOV P2,#0FFH MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE MOV TMOD,#02H ;设置定时器工作方式2 MOV TH0,#245 MOV TL0,#00H MOV IE,#82H ;开总中断和定时器0中断 SETB TR0 ;启动定时器0 WAIT: CLR ST SETB ST CLR ST JNB EOC,$ ;判断A/D转换结束否 SETB OE ;允许数据量输出 MOV ADC,P3 CLR OE MOV A,ADC MOV B,#51 DIV AB MOV LED_2, A MOV A,B MOV B,#5 DIV AB MOV LED_1, A MOV LED_0, B LCALL DISP ;跳至显示子程序 SJMP WAIT

相关主题
文本预览
相关文档 最新文档