AD0804模数转换实验报告

上传人:woxinch****an2018 文档编号:38980175 上传时间:2018-05-10 格式:DOCX 页数:13 大小:1.53MB
返回 下载 相关 举报
AD0804模数转换实验报告_第1页
第1页 / 共13页
AD0804模数转换实验报告_第2页
第2页 / 共13页
AD0804模数转换实验报告_第3页
第3页 / 共13页
AD0804模数转换实验报告_第4页
第4页 / 共13页
AD0804模数转换实验报告_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《AD0804模数转换实验报告》由会员分享,可在线阅读,更多相关《AD0804模数转换实验报告(13页珍藏版)》请在金锄头文库上搜索。

1、FPGAFPGA 实验报告实验报告题题 目:目:ADC0804ADC0804 并行并行 A/DA/D 实验实验班班 级:级:2011082120110821姓姓 名:名:张俊卿张俊卿学学 号:号:20110712262011071226指导教师:指导教师:张文旭张文旭日日 期:期:2014.04.252014.04.25ADC0804 实验报告实验报告一一.实验原理实验原理1.1 输入模拟量转数字量实验原理输入模拟量转数字量实验原理本实验要求利用 ADC0804 实现输入模拟量到数字量的转换,并将转换结 果在数码管上输出。由已知电路得 ADC0804 的输入模拟电压用一个滑动变阻 器对电源分压

2、得到,它的 8 位输出 AD0AD7 与 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 许可

3、进行 A/D 转换。WR 由低到高时, A/D 开始转换,一次转换共需要 66-73 个时钟周期。CS 与 WR 同时有效时启动 A/D 转换,转换结束产生 INTR 信号(低电平有效) ,可供查询或者中断信号。 在 CS 和 RD 的控制下可以读取数据结果。ADC0804 为一只具有 20 引脚 8 位 CMOS 连续近似的 A/D 转换器, 其规格 如下:(1) 高阻抗状态输出(2) 分辨率:8 位(0255)(3) 存取时间:135 ms(4) 转换时间:100 ms(5) 总误差:-1+1LSB(6) 工作温度:ADC0804C 为 0 度70 度;ADC0804L 为-40 度85

4、度(7) 模拟输入电压范围:0V5V(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 由 01 且

5、 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

6、(VIN(+)、VIN(-):差动模拟讯号的输入端。输入电压 VINVIN(+)VIN(-),通常使用单端输入,而将 VIN(-)接地。8. PIN8 (A GND):模拟电压的接地端。9. PIN9 (VREF2)模拟参考电压输入端。VREF 为模拟输入电压 VIN 的上限值。若 PIN9 空接,则 VIN 的上限值即为 VCC。10. PIN10 (D GND)数字电压的接地端。11. PIN11 PIN18 (DB7 DB0)转换后之数字数据输出端。12. PIN20 (Vcc)驱动电压输入端。图 1.ADC0804 引脚图图 2.ADC0804 典型应用电路 其中,图 3.ADC080

7、4 基本电路图 4.ADC0804 内部构造图 5.ADC0804 时序图 如下为时序分析: 1. 首先 CS 片选端拉低 AD0804 时能 。 2. 第三引脚(WR)来一个下降沿脉冲,开始进行模拟/数字信号转换。 3. 转换完毕后 AD0804 中断输出引脚 INTR 将高电位将至低电位 。 4. 装换完成后在 CS 低电平期间 AD0804 第二引脚来一个下降沿脉冲读取 AD 转换结果。三三.实验任务实验任务AD0804 是 A/D 转换器。从 ADC0804 的通道 IN 输入 05V 之间的模拟量, 转换成数字量在数码管上以十进制显示出来。 任 务1 : 将 数 码 管 中 的 显

8、示 数 字对 应 单 位 “ V ” 的 位 置 加 上 小 数 点, 使 原 来 以 “ m V ” 为 单 位 的 输 出 转 变 为 以 “ V ” 为 单 位。任 务 2 :四实验程序四实验程序4.1 任务任务 1 程序程序要想在数码管上从右往左数第 4 位显示小数点,可以用变量“jishu”的状 态作为判断条件,当 seg_com 选中第 4 位时,jishu=3b100,所以我在程序中增 加了下面一段用来显示小数点:if(jishu=3b100)begincase(shuju) 4b0000:seg_data=8b01000000;/0. 4b0001:seg_data=8b011

9、11001;/1. 4b0010:seg_data=8b00100100;/2. 4b0011:seg_data=8b00110000;/3. 4b0100:seg_data=8b00011001;/4. 4b0101:seg_data=8b00010010;/5. 4b0110:seg_data=8b00000010;/6. 4b0111:seg_data=8b01111000;/7. 4b1000:seg_data=8b00000000;/8. 4b1001:seg_data=8b00010000;/9. default: seg_data=8b01111111;endcase4.2 任务

10、任务 2 程序程序五五.管脚分配管脚分配任务 2 管脚(任务 1 的管脚包括在任务 2 中)图图 4.ADC0804 管脚分配图管脚分配图六六.实验结果实验结果6.1 任务任务 1 结果结果顺时针旋转滑动变阻器旋钮,数码管显示由 4.980 变换到 0.000。逆时针旋 转则逐渐由小变大。6.2 任务任务 2 结果结果当数码管显示的输出值为 0.000 时,点阵中左上方第一列全暗,随着数码 管显示值的增加,点阵的那列从上到下依次表示 ADC0804 的输出 AD0AD7, 所以点阵上半部分变化比较灵敏。当码管显示值为 4.980 时,点阵全亮。之所 以数码管不能显示 5.000,是因为公式(v

11、o=5*data_led*1000/256)中 data_led 最大值只能是 255。七七.实验心得实验心得通过本次实验,加深了对分频模块的理解与应用.在实验中,分频的作用是非 常大的,只有稳定的频率,才能够使得各个芯片和期间正常工作,只有真正的了解 分频的原理和方法,才可以独立展开程序的读和写.此外我还学习到了 8 位数码管的动态显示方法。本次实验中,通过上课加 小数点的练习,加深了我对动态显示的理解和灵活应用。通过实验,在课下准备与课上练习中,我的编程和逻辑能力进一步得到了锻 炼和提高。八参考文献八参考文献 1 王金明. 数字系统设计与 Verilog HDL第 3 版、第 2 版, 电

12、子工业出 版社, 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 r

13、eg7:0 seg_com; /位选 output reg7: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; /输 出时钟$ gaiyaparameter state_pre = 0; para

14、meter 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; reg31:0 DCLK_DIV2; reg clkout; /becom zhongjian variable reg clkout2; /提供显示数据时钟 reg 3:0 state = st

15、ate_pre; reg7:0 jishu; reg3:0 shuju; reg31:0 vo; /*分频 always (posedge clkin) begin if(DCLK_DIV (CLK_FREQ / CLK_out_FREQ) DCLK_DIV = DCLK_DIV+1b1; else begin DCLK_DIV = 0; clkout = clkout; end endalways (posedge clkin) begin if(DCLK_DIV2 (CLK_FREQ / CLK_out_FREQ2) DCLK_DIV2 = DCLK_DIV2+1b1; else begin if(clkout2=1)begin if(jishu7)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)3b100:shuju=(vo)/1000; 3b101:shuju=(vo)%1000)/100;3b110:s

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号