当前位置:文档之家› AD0804模数转换实验报告

AD0804模数转换实验报告

AD0804模数转换实验报告
AD0804模数转换实验报告

FPGA实验报告

题目:ADC0804并行A/D实验班级:20110821

姓名:张俊卿

学号:2011071226

指导教师:张文旭

日期:2014.04.25

ADC0804实验报告

一.实验原理

1.1 输入模拟量转数字量实验原理

本实验要求利用ADC0804实现输入模拟量到数字量的转换,并将转换结果在数码管上输出。由已知电路得ADC0804的输入模拟电压用一个滑动变阻器对电源分压得到,它的8位输出AD0~AD7与FPGA的8个管脚相连,即input [7:0] data。而data就是数码管的动态显示数据。通过循环扫描,使数码管正确的显示出data的十进制数形式。

以下为实验箱内ADC0804与FPGA的连接关系,

图2.ADC0804与FPGA连接图

二.实验应用的器件分析

2.1 ADC0804原理

ADC0804是8位全MOS中速逐次逼近式A/D转换器,片内有三态数据输出锁存器,可以和单片机直接接口。单通道输入,转换时间大约100us。ADC0804转换时序是:当CS=0许可进行A/D转换。WR由低到高时,A/D开始转换,一次转换共需要66-73个时钟周期。CS与WR同时有效时启动A/D转换,转换结束产生INTR信号(低电平有效),可供查询或者中断信号。在CS和RD的控制下可以读取数据结果。

ADC0804 为一只具有20引脚8位CMOS 连续近似的A/D 转换器,其规格如下:

(1) 高阻抗状态输出

(2) 分辨率:8 位(0~255)

(3) 存取时间:135 ms

(4) 转换时间:100 ms

(5) 总误差:-1~+1LSB

(6) 工作温度:ADC0804C为0度~70度;ADC0804L为-40 度~85 度

(7) 模拟输入电压范围:0V~5V

(8) 参考电压:2.5V

(9) 工作电压:5V

(10) 输出为三态结构

1. 接脚说明见图1:

2. PIN1 (CS ):Chip Select,与RD、WR 接脚的输入电压高低一起判断读取或写入与否,当其为低位准(low) 时会active。

3. PIN2 ( RD ):Read。当CS 、RD 皆为低位准(low) 时,ADC0804 会将转换后的数字讯号经由DB7 ~ DB0 输出至其它处理单元。

4. PIN3 (WR ):启动转换的控制讯号。当CS 、WR 皆为低位准(low) 时ADC0804 做清除的动作,系统重置。当WR 由0→1且CS =0 时,ADC0804会开始转换信号,此时INTR 设定为高位准(high)。

5. PIN4、PIN19 (CLK IN、CLKR):频率输入/输出。频率输入可连接处理单元的讯号频率范围为100 kHz 至800 kHz。而频率输出频率最大值无法大于640KHz,一般可选用外部或内部来提供频率。若在CLK R 及CLK IN 加上电阻及电容,则可产生ADC 工作所需的时序,其频率约为:

6. PIN5 ( INTR ):中断请求。转换期间为高位准(high),等到转换完毕时INTR 会变为低位准(low)告知其它的处理单元已转换完成,可读取数字数据。

7. PIN6、PIN7 (VIN(+)、VIN(-)):差动模拟讯号的输入端。

输入电压VIN=VIN(+)-VIN(-),通常使用单端输入,而将VIN(-)接地。

8. PIN8 (A GND):模拟电压的接地端。

9. PIN9 (VREF∕2)∶模拟参考电压输入端。VREF 为模拟输入电压VIN 的上限值。若PIN9空接,则VIN 的上限值即为VCC。

10. PIN10 (D GND)∶数字电压的接地端。

11. PIN11 ~ PIN18 (DB7 ~ DB0)∶转换后之数字数据输出端。

12. PIN20 (Vcc)∶驱动电压输入端。

图1.ADC0804引脚图

图2.ADC0804典型应用电路其中,

图3.ADC0804基本电路

图4.ADC0804内部构造

图5.ADC0804时序图

如下为时序分析:

1. 首先CS片选端拉低AD0804时能。

2. 第三引脚(WR)来一个下降沿脉冲,开始进行模拟/数字信号转换。

3. 转换完毕后AD0804中断输出引脚INTR将高电位将至低电位。

4. 装换完成后在CS低电平期间AD0804第二引脚来一个下降沿脉冲读取AD

转换结果。

三.实验任务

AD0804 是A/D 转换器。从ADC0804的通道IN输入0~5V之间的模拟量,转换成数字量在数码管上以十进制显示出来。

任务1:将数码管中的显示数字对应单位“V”的位置加上小数点,使原来以“mV”

为单位的输出转变为以“V”为单位。

任务2:

四.实验程序

4.1任务1程序

要想在数码管上从右往左数第4位显示小数点,可以用变量“jishu”的状态

作为判断条件,当seg_com选中第4位时,jishu=3'b100,所以我在程序中增加

了下面一段用来显示小数点:

if(jishu==3'b100)

begin

case(shuju)

4'b0000:seg_data=8'b01000000;//0.

4'b0001:seg_data=8'b01111001;//1.

4'b0010:seg_data=8'b00100100;//2.

4'b0011:seg_data=8'b00110000;//3.

4'b0100:seg_data=8'b00011001;//4.

4'b0101:seg_data=8'b00010010;//5.

4'b0110:seg_data=8'b00000010;//6.

4'b0111:seg_data=8'b01111000;//7.

4'b1000:seg_data=8'b00000000;//8.

4'b1001:seg_data=8'b00010000;//9.

default: seg_data=8'b01111111;

endcase

4.2任务2程序

五.管脚分配

任务2管脚(任务1的管脚包括在任务2中)

图4.ADC0804管脚分配图

六.实验结果

6.1任务1结果

顺时针旋转滑动变阻器旋钮,数码管显示由4.980变换到0.000。逆时针旋转则逐渐由小变大。

6.2任务2 结果

当数码管显示的输出值为0.000时,点阵中左上方第一列全暗,随着数码管显示值的增加,点阵的那列从上到下依次表示ADC0804的输出AD0~AD7,所以点阵上半部分变化比较灵敏。当码管显示值为4.980时,点阵全亮。之所以数码管不能显示5.000,是因为公式(vo=5*data_led*1000/256)中data_led最大值只能是255。

七.实验心得

通过本次实验,加深了对分频模块的理解与应用.在实验中,分频的作用是非常大的,只有稳定的频率,才能够使得各个芯片和期间正常工作,只有真正的了解分频的原理和方法,才可以独立展开程序的读和写.

此外我还学习到了8位数码管的动态显示方法。本次实验中,通过上课加小数点的练习,加深了我对动态显示的理解和灵活应用。

通过实验,在课下准备与课上练习中,我的编程和逻辑能力进一步得到了锻炼和提高。

八.参考文献

[1] 王金明. 《数字系统设计与Verilog HDL》第3版、第2版, 电子工业出版社, 2009、2005. TP271/W24.

[2] 夏宇闻. 《Verilog数字系统设计教程》, 北京航空航天大学出版社, 第1、2版, 2008. TP312VH/X31.

[3] 蒋璇,臧春华. 《数字系统设计与PLD应用技术》, 电子工业出版社, TP271/J63.

附录1

任务2程序:

module jia0804(clkin,

data,

seg_com,seg_data,

adcs,rd,wr,

,SEL,X,LL);

//add.......+dianzhen program

input clkin; //时钟输入50MHZ

input [7:0] data;

output reg[7:0] seg_com; //位选

output reg[7:0] seg_data; //段选

output reg rd,wr;

output wire adcs;

output [2:0] SEL;

output [7:0] X;

output [5:1] LL;

parameter CLK_FREQ = 'D50_000_000; //系统时钟50MHZ

parameter CLK_out_FREQ = 'D5000; //输出时钟'D500_000;

parameter CLK_out_FREQ2 = 'D50000; //输出时钟$$$ gaiya

parameter state_pre = 0;

parameter state_pre2 = 1;

parameter state_start = 2;

parameter state_conv = 3;

parameter state_wait = 4;

parameter state_readpre = 5;

parameter state_read = 6;

reg [7:0] data_led; //LED显示数据

reg [31:0] DCLK_DIV;

reg[31:0] DCLK_DIV2;

reg clkout; //becom zhongjian variable reg clkout2; //提供显示数据时钟

reg [3:0] state = state_pre;

reg[7:0] jishu;

reg[3:0] shuju;

reg[31:0] vo;

//******分频

always @(posedge clkin)

begin

if(DCLK_DIV < (CLK_FREQ / CLK_out_FREQ))

DCLK_DIV <= DCLK_DIV+1'b1;

else

begin

DCLK_DIV <= 0;

clkout <= ~clkout;

end

end

always @(posedge clkin)

begin

if(DCLK_DIV2 < (CLK_FREQ / CLK_out_FREQ2))

DCLK_DIV2 <= DCLK_DIV2+1'b1;

else

begin

if(clkout2==1)

begin

if(jishu<7)

jishu=jishu+1;

else jishu=0;

end

DCLK_DIV2 <= 0;

clkout2 <= ~clkout2;

end

end

//*******数码管显示

always @(posedge clkout2)

begin

vo=5*data_led*1000/256;

case(jishu)

3'b100:shuju=(vo)/1000;

3'b101:shuju=((vo)%1000)/100;

3'b110:shuju=(((vo)%1000)%100)/10;

3'b111:shuju=(((vo)%1000)%100)%10;

default:shuju=4'b0000;

endcase

case(jishu)

3'b000: seg_com=8'b00000001;

3'b001: seg_com=8'b00000010;

3'b010: seg_com=8'b00000100;

3'b011: seg_com=8'b00001000;

3'b100: seg_com=8'b00010000;

3'b101: seg_com=8'b00100000;

3'b110: seg_com=8'b01000000;

3'b111: seg_com=8'b10000000;

//default: out=6'b00000;

endcase

if(jishu==3'b100)//if gaowei,add a point

begin

case(shuju)

4'b0000:seg_data=8'b01000000;//0.

4'b0001:seg_data=8'b01111001;//1.

4'b0010:seg_data=8'b00100100;//2.

4'b0011:seg_data=8'b00110000;//3.

4'b0100:seg_data=8'b00011001;//4.

4'b0101:seg_data=8'b00010010;//5.

4'b0110:seg_data=8'b00000010;//6.

4'b0111:seg_data=8'b01111000;//7.

4'b1000:seg_data=8'b00000000;//8.

4'b1001:seg_data=8'b00010000;//9.

default: seg_data=8'b01111111;

endcase

end

else

begin

case(shuju)

4'b0000:seg_data=8'b11000000;//0

4'b0001:seg_data=8'b11111001;//1

4'b0010:seg_data=8'b10100100;//2

4'b0011:seg_data=8'b10110000;//3

4'b0100:seg_data=8'b10011001;//4

4'b0101:seg_data=8'b10010010;//5

4'b0110:seg_data=8'b10000010;//6

4'b0111:seg_data=8'b11111000;//7

4'b1000:seg_data=8'b10000000;//8

4'b1001:seg_data=8'b10010000;//9

default: seg_data=8'b11111111;

endcase

end

end

//********led zhen

assign X=data_led; //********ADC0804时序

assign adcs=0;

always @ (negedge clkout)

begin

case (state)

state_pre : //0

begin

wr<=0;

rd<=1;

state <=state_pre2;

end

state_pre2 : //1

begin

wr<=1;

rd<=1;

state <=state_start;

end

state_start ://2

begin

wr<=1;

rd<=0;

state <=state_conv;

end

state_conv : //3

begin

data_led = data; //开始读数据

state <=state_wait;

end

state_wait : //4

begin

wr<=1;

rd<=1;

state <= state_pre; //重新回到状态1 进行下一次AD转换

end

endcase

end

//*******fuyong

assign SEL[0]=0;

assign SEL[1]=1;

assign SEL[2]=0;

assign LL=0;

endmodule

附录2

实验结果照片:

旋动滑动变阻器模拟电压显示值从0.000V开始,逐次递增。

在一步步接近最大值。

达到最大值4.980V。

数模模数转换实验报告

数模模数转换实验报告 一、实验目的 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 接口即可。

模数转换器ADC0809应用原理

AD0809应用原理--很全面的资料 1. 0809的芯片说明: ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS 组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 (1)ADC0809的内部逻辑结构 由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当O E端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2).引脚结构 IN0-IN7:8条模拟量输入通道

如下图所示,从ADC0809的通道IN3输入0-5V之间的模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809的VREF接+5V电压。 4.电路原理图 5.程序设计: (1).进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。 (2).进行A/D转换之前,要启动转换的方法: ABC=110选择第三通道 ST=0,ST=1,ST=0产生启动转换的正脉冲信号 . (3). 关于0809的计算: ad0809是根据逐位逼近的方法产生数据的。。 参考电压为0-5V的话。以0809八位255的转换精度每一位的电压值为(5-0)/255≈0. 0196V 设输入电压为X则: X-27*0.0196>=0则AD7=1否则AD7=0。 X-26*0.0196>=0则AD6=1否则AD6=0。 X-20*0.0196>=0则AD0=1否则AD0=0。 (27指2的7次方。26-------20同理) 若参考电压为0-1V (1-0)/255≈0.0039V精度自然高了。。可测量范围小了。 1)汇编源程序: CH EQU 30H DPCNT EQU 31H DPBUF EQU 33H GDATA EQU 32H ST BIT P3.0

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转换器去控制各种参数量。

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