毕业设计0DAC0832中文资料.ppt

毕业设计0DAC0832中文资料

收藏

压缩包内文档预览:(预览前20页/共66页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:550516    类型:共享资源    大小:1.67MB    格式:ZIP    上传时间:2015-12-06 上传人:QQ28****1120 IP属地:辽宁
6
积分
关 键 词:
毕业设计
资源描述:
毕业设计0DAC0832中文资料,毕业设计
内容简介:
8-1 MCS-51单片机与 ADC的 接口 8-2 MCS-51单片机与 DAC的 接口 第 8章 MCS-51与 D/A、 A/D的接口 nts扩展 I/O电路的功能: 1、速度协调; 2、输出数据锁存; 3、输入数据三态; 4、数据转换: 模拟量 数字量:由 A/D转换完成; 数字量 模拟量:由 D/A转换完成。 nts单片机和被控实体间的接口示意图 nts举例 1:温度测控系统 放大A / D单片机打 印 输 出光 隔 驱 动电 热 箱温 度 传 感 器模 数设 定 值控 制 信 号电 热 丝电 源双 向 可 控 硅调 节 电 压 控 温nts举例 2:速度测控系统 A / D P I D D / A /MG转 速给 定P0P1纸 长 拨 盘 给 定转 速 反 馈纸 长 反 馈脉 冲发 生 器测 量转 速电 机可 控 硅触 发 器单 片 机 系 统+-单 片 机 控 制 系 统 原 理 框 图nts举例 3:红外线自动门控制系统原理图 BISS000160K 20K 103 2M 10K 10u 1M 1M 47K 103 47u 电压检测模块 电机温度检测 P3.3/INT1 手动 /自动切换 手动关按钮 P3.4 P3.0 2.2u D S G 红外传感器 +5V GND 3.3K 103 103 470u +5V 330K 330K 102 10n VC VDD 2OUT 2IN- 1IN+ 1IN- 1OUT 220K IB RR1 A V0 RC1 RC2 RR2 VSS +5V 行程开关 2 行程开关 3 手动开按钮 光电隔离 电机正转继电器 J1 电机过热报警 转速检测模块 A/D转换 蜂鸣报警 行程开关 4 行程开关 1 电压过高报警 速度异常报警 速度变换继电器 J3 电机反转继电器 J2 ADC 0809 P1.0 P1.3 P1.2 P1.1 P1.4 P1.5 P1.6 P2.0 P2.1 P2.3 P2.2 P3.2/INT0 P3.1 P0 /WR /RD ALE P1.7 10K 6 LED AT89C51 VCC nts红外线传感器集成芯片 BISS0001特点 ( 1)用 CMOS工艺,功耗低。 ( 2)具有独立的高输入阻抗运算放大器,可与多种传感器匹配。 ( 3)双向鉴幅器可有效抑制干扰信号。 ( 4)内设延时和封锁定时器,性能稳定,调节范围宽。 ( 5)内置参考电源。 ( 6)工作电压范围宽 ( 3V 5V)。 BISS0001 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 A V0 RR1 RC1 RC2 RR2 Vss VRF/RESET Vc IB VDD 2OUT 2IN- 1IN+ 1IN- 1OUT nts8.1 MCS-51单片机与 ADC的接口 8.1.1 A/D转换器概述 一 A/D转换器的类型及原理 A/D转换器( ADC)的作用是把模拟量转换成数字量,以便于计算机进行处理。 随着超大规模集成电路技术的飞速发展,现在有很多类型的 A/D转换器芯片,不同的芯片,它们的内部结构不一样,转换原理也不同,各种 A/D转换芯片分类如下: 根据转换原理可分为 计数型 A/D转换器、逐次比较式、 双重积分型和并行式 A/D转换器 等; 按转换方法可分为 直接 A/D转换器和间接 A/D转换器 ; 按其分辨率可分为 416位 的 A/D转换器芯片。 A/D( Analog to Digit )转换器 ntsA/D转换是把模拟量信号转化成与其大小成比例的数字信号。 A/D转换电路主要分成: 1、双积分式 (速度慢,精度高:用于速度要求不高的场合); 2、逐次逼近式 (速度较快,精度较高:常用)。 常用芯片: MC14433( 3 位) 双积分式 ICL7135 ( 4 位) ICL7109 ( 12位) ADC0808、 ADC0809( 8位) 逐次逼近式 ADC1210( 12位) AD574( 12位) nts1、计数型 A/D转换器 计数型 A/D转换器由 D/A转换器、计数器和比较器组成,工作时,计数器由零开始计数,每计一次数后,计数值送往 D/A转换器进行转换,并将生成的模拟信号与输入的模拟信号在比较器内进行比较, 若前者小于后者,则计数值加 1,重复 D/A转换及比较过程,依此类推,直到当 D/A转换后的模拟信号与输入的模拟信号相同,则停止计数,这时,计数器中的当前值就为输入模拟量对应的数字量。这种 A/D转换器结构简单、原理清楚,但它的转换速度与精度之间存在矛盾,当提高精度时,转换的速度就慢,当提高速度时,转换的精度就低,所以在实际中 很少使用 。 nts 逐次逼近型 A/D转换器是由一个比较器、 D/A转换器、寄存器及控制电路组成。与计数型相同,也要进行比较以得到转换的数字量,但逐次逼近型是用一个寄存器从高位到低位依次开始逐位试探比较。转换过程如下:开始时寄存器各位清 0,转换时,先将最高位置 1,送D/A转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则 1保留,如果转换的模拟量比输入模拟量大,则 1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的数字量。一个 n位的逐次逼近型A/D转换器转换只须要比较 n次,转换时间只取决于位数和时钟周期。逐次逼近型 A/D转换器 转换速度快 ,在实际中广泛使用。 2、逐次逼近型 A/D转换器 nts逐次逼近 A/D转换原理: 时 序 与 控 制逻 辑 电 路D / A 转 换 器输出缓冲器N 位 寄 存 器比 较 器时 钟启 动E O CVXVNO EN 位 数 字量 输 出逐 次 逼 近 A / D 转 换 器 原 理 图N位寄存器用来存放 N位二进制数码。 当 VXVN,则保留 DN-1=1,否则清 0。 其余类推。 nts3、双重积分型 A/D转换器 双重积分型 A/D转换器将 输入电压 先变换成与其平均值成正比的 时间间隔 ,然后再把此时间间隔转换成 数字量 ,它属于间接型转换器。它的转换过程分为采样和比较两个过程。采样即用积分器对输入模拟电压进行固定时间的积分,输入模拟电压值越大,采样值越大,比较就是用基准电压对积分器进行反向积分,直至积分器的值为 0,由于基准电压值固定,所以采样值越大,反向积分时积分时间越长,积分时间与输入电压值成正比,最后把积分时间转换成数字量,则该数字量就为输入模拟量对应的数字量。由于在转换过程中进行了两次积分,因此称为双重积分型。双重积分型 A/D转换器转换精度高,稳定性好,测量的是输入电压在一段时间的 平均值 ,而不是输入电压的瞬间值,因此它的抗干扰能力强,但是转换 速度慢 ,双重积分型 A/D转换器在工业上应用也比较广泛。 nts双积分型 A/D转换器工作原理: 双积分型 A/D转换是一种间接 A/D 转换技术 。 首先将模拟电压转换成积分时间 , 然后用数字脉冲计时方法转换成计数脉冲数 , 最后将此代表模拟输入电压大小的脉冲数转换成二进制或 BCD码输出 。 因此 , 双积分型 A/D转换器转换时间较长 , 一般要大于 40 50ms。 ntsMC14433与 80C51直接连接的接口 80C51 MC14433 ntsICL7109与 80C51的接口电路图 80C51 nts二 A/D转换器的主要性能指标 1分辨率; 2转换时间; 3量程; 4转换精度。 nts8.1.2 ADC0809与 MCS-51的接口 一 ADC0809芯片 ADC0809是 CMOS单片型逐次逼近型 A/D转换器,具有8路模拟量输入通道,有转换起停控制,模拟输入电压范畴为 0+5V,转换时间为 100s,它的内部结构如下图所示。 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 ADDA ADDB ADDC ALE 通道 选择 开关 地址锁存和译码 定时和控 制 逐次逼近 寄存器 SAR 8 位 三 态 锁 存 缓冲器 OE EOC CLOCK START VCC GND VREF+ VREF- ADC0809 D0 D1 D2 D3 D4 D5 D6 D7 DAC nts二 ADC0809的引脚 ADC0809芯片有 28个引脚,采用双列直插式封装,如图。 I N 3 I N 4 I N 5 I N 6 I N 7 S T A R T E O C D3 OE C L O C K VCC V R E F + G N D D 1 I N 2 I N 1 I N 0 ADDA ADDB ADDC A L E D7 D6 D5 D4 D0 V R E F - D2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 2 其中: IN0IN7: 8路模拟量输入端。 D0D7: 8位数字量输出端。 ADDA、 ADDB、 ADDC: 3位地址输入线,用于选择 8路模拟通道中的一路。 ALE: 地址锁存允许信号,输入,高电平有效。 START: A/D转换启动信号,输入,高电平有效。 EOC: A/D转换结束信号,输出。 0:正在进行转换; 1:一次转换完成。 OE: 数据输出允许信号,输入,高电平有效。当转换结束后,如果从该引脚输入高电平,则打开输出三态门,输出锁存器的数据从 D0D7送出。 CLK: 时钟脉冲输入端。 其内部无时钟电路。 要求时钟频率不高于 640KHZ. VREF+、 VREF-: 基准电压输入端。决定输入模拟量的范围。 典型值分别为 +5V和 0V。 Vcc: 电源,接 +5V电源。 GND: 地。 nts ADDA、 ADDB、 ADDC: 3位地址输入线,用于选择 8路模拟通道中的一路,选择情况如下: ADDC ADDB ADDA 选择通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 多路 转换 开关 C B A IN0 IN1 IN7 A/D转换 nts三 ADC0809的工作流程 S T A R T / A L E 地 址 锁 存 A D D A / B / C E O C OE D 0 D 7 启动 转 换 结 束 读 取 结 果 D A T A ADC0809的工作流程如图所示: 1输入 3位地址,并使 ALE=1,将地址存入地址锁存器中,经地址译码器译码从 8路模拟通道中选通一路模拟量送到比较器。 2送 START一高脉冲, START的上升沿使逐次逼近寄存器复位,下降沿启动A/D转换,并使 EOC信号为低电平。 3当转换结束时,转换的结果送入到输出三态锁存器,并使 EOC信号回到高电平,通知 CPU已转换结束。 4当 CPU执行一读数据指令,使 OE为高电平,则从输出端 D0D1读出数据。 nts四 ADC0809与 MCS-51单片机的接口 下图是一个 ADC0809与 8051的一个接口电路图。 1硬件连接 涉及 2个问题: ( 1) 8路模拟信号通道选择; ( 2) A/D转换完成后转换数据的传送。 转换数据的传送: 定时传送方式; (不需接 EOC脚) 查询方式; (测试 EOC脚的状态) 中断方式。 ( EOC脚接 INT脚) 注意: (1)不能用无条件方式; (2)2个 ALE不能相接。 8路模拟通道的地址: 0000H 0007H。 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 ALE WR P2.7 RD INT0 + + +5V GND D0 D1 D2 D3 D4 D5 D6 D7 ADDA ADDB ADDC CLK ALE START OE EOC IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7 VREF+ VREF- ADC0809 8051 分 频 器 nts2软件编程 设接口电路用于一个 8路模拟量输入的巡回检测系统,使用中断方式采样数据,把采样转换所得的数字量按序存于片内 RAM的 30H37H单元中。采样完一遍后停止采集。 A/D转换程序:(延时等待方法) MOV DPTR, #0000H ; ADC0809地址 MOV A, #00H ;选中 IN0 MOVX DPTR, A ;启动 A/D转换 LCALL DELAY ;等待转换结束 MOVX A, DPTR ;读转换结果 RET 不用接 EOC脚,采用定时传送方式。 nts汇编语言编程: 中断方法 ORG 0003H LJMP INT0 ORG 0100H ;主程序 MOV R0, #30H ;设立数据存储区指针 MOV R2, #08H ;设置 8路采样计数值 SETB IT0 ;设置外部中断 0为边沿触发方式 SETB EA ; CPU开放中断 SETB EX0 ;允许外部中断 0中断 MOV DPTR, #0000H ;送入口地址并指向 IN0 LOOP: MOVX DPTR, A ;启动 A/D转换, A的值无意义 HERE: SJMP HERE ;等待中断 ORG 0200H ;中断服务程序 INT0: MOVX A, DPTR ;读取转换后的数字量 MOV R0, A ;存入片内 RAM单元 INC DPTR ;指向下一模拟通道 INC R0 ;指向下一个数据存储单元 DJNZ R2, NEXT ; 8路未转换完,则继续 CLR EA ;已转换完,则关中断 CLR EX0 ;禁止外部中断 0中断 RETI ;中断返回 NEXT: MOVX DPTR, A ;再次启动 A/D转换 RETI ;中断返回 ntsC语言编程: #include #include /定义绝对地址访问 #define uchar unsigned char #define IN0 XBYTE0x0000 /定义 IN0为通道 0的地址 static uchar data x8; /定义 8个单元的数组,存放结果 uchar xdata *ad_adr; /定义指向通道的指针 uchar i=0; void main(void) IT0=1; /初始化 EX0=1; EA=1; i=0; ad_adr=&IN0; /指针指向通道 0 *ad_adr=i; /启动通道 0转换 for (;) ; /等待中断 ntsvoid int_adc(void) interrupt 0 /中断函数 xi=*ad_adr; /接收当前通道转换结果 i+; ad_adr+; /指向下一个通道 if (i #include #define uchar unsigned char #define IN0 XBYTE0xFEF8 /*设置 ADC0809的通道 0地址 */ sbit ad_busy=P33; /*即 EOC状态 */ void ad0809(uchar idata * x) /*采样结果放指针中的 A/D采集函数 */ uchar i; uchar xdata * ad_adr; ad_adr=&IN0; for(i=0;i #include #define DAC0832 XBYTE0x00FE #define uchar unsigned char #define unit unsigned int void stair(void) /*锯齿波 */ uchar i; while(1) for(i=0;i #include #define INPUTR1 XBYTE0x00FE #define INPUTR2 XBYTE0x00FD #define DACR XBYTE0x00FB #define uchar unsigned char void dac2b(data1,data2) uchar data1,data2; INPUTR1=data1; /*数据送到一片 DAC0832*/ INPUTR2=data2; /*数据送到另一片 DAC0832*/ DACR=0; /*启动两路 D/A同时转换 */ nts四、 DAC1208内部框图 nts80C51与 DAC1208的接口 80C51 nts华工考研题: PC/XT的 D/A接口使用 DAC0832。其有关信号接线如图所示,其输出电压 Vo和输入数字量 DI7-DI0之间呈线性且如表所示。现要求 Vo从零开始按图示波形周期变化(周期可自定)。试用汇编语言编写其控制部分程序。 译码器放大D B7- D B0+ 5 VA9- A0A E NI O WP O T0P O T1D I7- D I0I L EC SX F E RW R1W R2I O U T1I O U T2D A C 0 8 3 2v0/ Vt+ 5 V0- 5 Vv0输 入输 出0 0 H7 F HF F H- 5 V0 V+ 5 Vnts五、 DAC0832的应用 D/A转换器在实际中经常作为 波形发生器 使用,通过它可以产生各种各样的波形。它的基本原理如下:利用 D/A转换器输出模拟量与输入数字量成正比这一特点,通过程序控制 CPU向 D/A转换器送出随时间呈一定规律变化的数字,则 D/A转换器输出端就可以输出随时间按一定规律变化的波形。 nts【 例 8-1】 根据图 8.9编程从 DAC0832输出端分别产生锯齿波、三角波和方波。 根据 单缓冲方式 图的连接, DAC0832的口地址为 7FFFH。 汇编语言编程: 锯齿波: MOV DPTR, #7FFFH CLR A LOOP: MOVX DPTR, A INC A SJMP LOOP Vout VCC ILE CS WR1 DI0DI7 WR2 XFER DGND AGND VREF Rfb IOUT1 IOUT2 +5V -5V - A + P2.7 WR P0.0P0.7 8051 DAC0832 nts三角波: MOV DPTR, #7FFFH CLR A LOOP1: MOVX DPTR, A INC A CJNE A, #0FFH, LOOP1 LOOP2: MOVX DPTR, A DEC A JNZ LOOP2 SJMP LOOP1 方波: MOV DPTR, #7FFFH LOOP: MOV A, #00H MOVX DPTR, A ACALL DELAY MOV A, #0FFH MOVX DPTR, A ACALL DELAY SJMP LOOP DELAY: MOV R7, #0FFH DJNZ R7, $ RET ntsC语言编程: 锯齿波: #include /定义绝对地址访问 #define uchar unsigned char #define DAC0832 XBYTE0x7FFF void main( ) uchar i; while(1) for (i=0;i /定义绝对地址访问 #define uchar unsigned char #define DAC0832 XBYTE0x7FFF void main( ) uchar i; while(1) for (i=0;i0;i-) DAC0832=i; nts方波: #include /定义绝对地址访问 #define uchar unsigned char #define DAC0832 XBYTE0x7FFF void delay(void); void main( ) uchar i; while(1) DAC0832=0; /输出低电平 delay(); /延时 DAC0832=0xff; /输出高电平 delay( ); /延时 void delay( ) /延时函数 uchar i; for (i=0;i0xff;i+) ; nts#include reg51.h“ #include absacc.h“ #define DAC0832 XBYTE0xbfff void stair (void) /方波 unsigned char i; while (1) for(i=0;i128;i+) DAC0832=255; for(i
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:毕业设计0DAC0832中文资料
链接地址:https://www.renrendoc.com/p-550516.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!