《微机课DA课件》由会员分享,可在线阅读,更多相关《微机课DA课件(15页珍藏版)》请在金锄头文库上搜索。
1、第第1111章章 89C51 89C51单片机与单片机与D/AD/A转换器、转换器、A/DA/D转换器转换器的接口的接口 非电物理量非电物理量(温度、压力、流量、速度等),须经(温度、压力、流量、速度等),须经传感器传感器转换成转换成模拟电信号模拟电信号(电压或电流);(电压或电流); 模拟电信号还必须转换成数字量,才能在单片机中处理。模拟电信号还必须转换成数字量,才能在单片机中处理。 A/DA/D转换器转换器(ADCADC):模拟量模拟量数字量的器件。数字量的器件。 D/AD/A转换器转换器(DACDAC):数字量数字量模拟量的器件模拟量的器件。数字量,也常常需要转换为模拟信号数字量,也常常
2、需要转换为模拟信号, ,输出给外部电路。输出给外部电路。 合理选用商品化的合理选用商品化的ADCADC、DACDAC芯片,了解其引脚及功能,以芯片,了解其引脚及功能,以及与单片机的接口设计。及与单片机的接口设计。P.196P.196微机课DA11.1.2 11.1.2 AT89C51AT89C51与与8 8位位DAC0832DAC0832的接口的接口1. 1. DAC0832DAC0832芯片介绍芯片介绍(1)(1)DAC0832DAC0832的特性的特性 美国国家半导体公司产品,具有美国国家半导体公司产品,具有两两级级数据寄存器数据寄存器的的8 8位位DAC,DAC,能直接与能直接与89C5
3、189C51单片机相连。主要特性如下:单片机相连。主要特性如下: * * 分辨率为分辨率为8 8位位; * * 电流输出,电流输出,稳定时间为稳定时间为1 1 s s; * * 可双缓冲输入、单缓冲输入或直接数字输入;可双缓冲输入、单缓冲输入或直接数字输入; * * 单一电源供电(单一电源供电(+5+5+15+15V V););P.197P.197微机课DA(2 2)DAC0832DAC0832的引脚及逻辑结构的引脚及逻辑结构引脚:引脚:图图11-111-1P.198P.198微机课DADAC0832DAC0832的的逻辑结构逻辑结构:图图11-211-2二级二级传送传送数据数据输入输入锁存锁
4、存基准电压基准电压+5V+5V(-(-10V10V+10+10V)V)内置反馈电阻内置反馈电阻 Rfb=RRfb=RBBBB直通直通锁存锁存模拟地模拟地数字地数字地+5V+5V+15V+15V八位八位数字量数字量输入输入透明透明锁存器锁存器透明透明锁存器锁存器倒倒T T型型R-2RR-2R电阻网络电阻网络P.198P.198接地址译码接地址译码接接00或地址译码或地址译码接接WRWR接接0 0或或WRWR接接1 1I IOUT1OUT1=(0=(0255)/256V255)/256VREFREF/R/R = =B B/256V/256VREFREF/R/R B BB B微机课DAR-2RR-2
5、R倒倒T T型电阻网络型电阻网络D/AD/A转换器的原理图转换器的原理图VREFVout =Iout1Rfb=B/2n VREF/R Rfb(B/2n)VREF BI OUT1Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2R电阻网络电阻网络基准电压基准电压电子开关电子开关运算放大器运算放大器虚地虚地“0” 0” “1”“1”=R=RB B:微机课DA2. AT89C512. AT89C51与与DAC0832DAC0832的接口电路设计的接口电路设计 (1)(1)单缓冲方式单缓冲方式 DAC0832 DAC0832的两
6、级数据缓冲器有的两级数据缓冲器有一个处于直通方式一个处于直通方式,另一个另一个处于受控的锁存方式处于受控的锁存方式扩展为扩展为AT89C51AT89C51的一个输出端口的一个输出端口。P.198P.198I II I图图11-311-3MOV DPTRMOV DPTR,#0F7FFH#0F7FFH ;DAC0832DAC0832地址地址F7FFHDPTR F7FFHDPTR MOVX DPTRMOVX DPTR,A A ;WRWR* *和和A A1111有效有效,A,A中数据锁存并中数据锁存并DACDAC+5V+5VVO = IOUT1Rfb =(0255)/256VREF/RRfb = 0
7、(255/2565)V = 0 4.98V 0 5V 假设接到假设接到P2.3/AP2.3/A1111接接WRWR1 1接接0 0接接0 0接接1 10 0+?V+?VMOV AMOV A,? ;取数据;取数据 微机课DA 锯齿波的产生锯齿波的产生 ORG 0100HORG 0100HDA1: MOVDA1: MOVDPTRDPTR,#0#0F7FFHF7FFH ;DACDAC地址地址F7FFHDPTRF7FFHDPTRMOV AMOV A,#00H#00H ;数字量初值数字量初值AALOOP: MOVX DPTRLOOP: MOVX DPTR,A A ;当前数字量当前数字量D/AD/A转换器
8、转换器INC A INC A ;数字量逐次加数字量逐次加1 1SJMP LOOPSJMP LOOP ;循环输出下一个数字量循环输出下一个数字量图图11-411-4【例例11-111-1改改】 DAC0832 DAC0832用作波形发生器。试根据用作波形发生器。试根据上图上图,分别写,分别写出产生出产生锯齿波、三角波锯齿波、三角波和和矩形波矩形波的程序。的程序。如何计算产生的锯齿波的周期?如何计算产生的锯齿波的周期?(f(fCLK=CLK=6MHz)6MHz)T=(2+1+2)2562uST=(2+1+2)2562uS =52562uS =52562uS =12802uS =12802uS =2
9、560uS =2560uST TFFHFFH00H00H微机课DA 三角波的产生三角波的产生ORG 2000HORG 2000H DA2: MOV DA2: MOVDPTRDPTR,#0#0F7FFHF7FFH ;DACDAC地址地址F7FFHDPTRF7FFHDPTRMOV AMOV A,#00H#00HUP: MOVX DPTRUP: MOVX DPTR,A A ;三角波上升边三角波上升边INC AINC AJNZ UPJNZ UP DOWN:DEC A DOWN:DEC A ;A=0A=0时再减时再减1 1又为又为FFHFFHMOVX DPTRMOVX DPTR,A AJNZ DOWNJ
10、NZ DOWN;三角波下降边三角波下降边SJMP UPSJMP UP图图11-511-5FFHFFH00H00H本例波峰本例波峰FFHFFH与波谷与波谷00H00H均输出了两次。均输出了两次。计算所产生的三角波周期?计算所产生的三角波周期?(6MHz)(6MHz)T=(2+1+2)256+(1+2+2)256+22uST=(2+1+2)256+(1+2+2)256+22uS =1280+1280+22uS =1280+1280+22uS =25622uS =25622uS =5124uS =5124uST T微机课DA 矩形波的产生矩形波的产生ORG 2000HORG 2000H DA3: D
11、A3: MOVMOVDPTRDPTR,#0#0F7FFF7FFH H ;DACDAC地址地址F7FFHDPTRF7FFHDPTRLOOP:LOOP: MOV AMOV A,#data1 #data1 ;置矩形波上限电平置矩形波上限电平MOVX DPTRMOVX DPTR,A A LCALL DELAY1LCALL DELAY1;调用高电平延时程序调用高电平延时程序MOV AMOV A,#data2 #data2 ;置矩形波下限电平置矩形波下限电平MOVX DPTRMOVX DPTR,A A LCALL DELAY2LCALL DELAY2;调用低电平延时程序调用低电平延时程序SJMP LOOP
12、SJMP LOOP;重复进行下一个周期重复进行下一个周期图图11-611-6微机课DA图图11-411-4【例例B11-1B11-1】分析如下分析如下8 8位位D/AD/A驱动程序,请绘出驱动程序,请绘出D/AD/A输出波形,输出波形,标明幅度参数,列式精确计算输出波形的周期。设晶体振荡器标明幅度参数,列式精确计算输出波形的周期。设晶体振荡器的频率为的频率为6 MHz6 MHz。 机器周期数机器周期数 STARTSTART:MOV DPTRMOV DPTR,#0DFFFH #0DFFFH (2 2) LP0LP0:MOV AMOV A,#2AH #2AH (1 1) LP1LP1:ADD AA
13、DD A,#01H #01H (1 1) MOVX DPTR MOVX DPTR,A A (2 2) CJNE ACJNE A,#0C8H#0C8H,LP1 LP1 (2 2) SJMP LP0 SJMP LP0 (2 2) 计算所产生的锯齿波周期?计算所产生的锯齿波周期?(6MHz)(6MHz)T=(1+2+2)T=(1+2+2)(C8H-2BH+1C8H-2BH+1)+22uS+22uS =5158+22uS =5158+22uS =7922uS =7922uS =1584uS =1584uST TC8HC8H2BH2BH微机课DA(2 2)双缓冲方式:)双缓冲方式:多路多路同步输出,必须
14、采用双缓冲同步方式。同步输出,必须采用双缓冲同步方式。1 1# #DAC0832DAC0832的输入寄存器和译码器的输入寄存器和译码器Y5Y5相连相连, ,对对Y5Y5地址写仅锁存数据地址写仅锁存数据1;1;2 2# #DAC0832DAC0832的输入寄存器和译码器的输入寄存器和译码器Y6Y6相连相连, ,对对Y6Y6地址写仅锁存数据地址写仅锁存数据2;2; 1#DAC0832 1#DAC0832和和2#DAC08322#DAC0832的的DACDAC寄存器都与译码器寄存器都与译码器Y7Y7相连,对相连,对Y7Y7地地址执行一个写操作,使得址执行一个写操作,使得1#1#、2#2#同时将先前输
15、入的数据同时将先前输入的数据1 1、2 2传输给传输给各自第二级各自第二级DACDAC寄存器并寄存器并D/AD/A转换,转换,实现同步输出新的模拟量实现同步输出新的模拟量。图图11-711-7P.200P.200Y5Y5Y6Y6Y7Y7微机课DA3 3DAC0832DAC0832的单、双极性的电压输出的单、双极性的电压输出(1 1)DACDAC用作单极性电压输出。用作单极性电压输出。 按照按照图图11-311-3所示接线。输出电压为单极性。所示接线。输出电压为单极性。(2 2)DACDAC用作双极性电压输出。用作双极性电压输出。 按照按照图图11-811-8所示接线。所示接线。P.202P.2
16、02图图11-811-8+5V+5V0 -5VVO=-2(0-5V) - 1(+5V) = (0+10V) - 5V = -5V 0V +5V对应:对应:00H 80H FFH对应对应:00H FFH-5V +5V微机课DADASUB:INC 50HDASUB:INC 50H ;D/A ;D/A子程序。子程序。8 8位位D/AD/A数据加数据加1 1MOV A,50HMOV A,50HMOV DPTR,#0F7FFH;DPTRMOV DPTR,#0F7FFH;DPTR指向指向D/AD/A芯片地址芯片地址MOVX DPTR,A ;MOVX DPTR,A ;输出当前数据并输出当前数据并D/AD/A
17、转换转换RETRET实验板实验板D/AD/A接口电路设计实例:接口电路设计实例: 接接P2.3/AP2.3/A1111地址:地址:F7FFHF7FFH 接接 WRWR实验板实验板D/AD/A驱动子程序驱动子程序:(主流程大约每(主流程大约每8mS8mS调用一次)调用一次)(灰)(灰)峰值约峰值约33mV33mV片内:片内:R = Rfb15KR = Rfb15K+5V+5V本实验板为省去双本实验板为省去双极性电源及运算放极性电源及运算放大器而简化大器而简化DACDAC输输出电路出电路输出的锯齿波周期输出的锯齿波周期T8mS256T8mS2562048mS2048mS2S2S如何修改如何修改DA
18、SUBDASUB子程序使得锯齿波周期扩展至子程序使得锯齿波周期扩展至8S8S或或20S20S;如何修改如何修改DASUBDASUB子程序使得子程序使得D/AD/A输出一个恒定的值输出一个恒定的值, ,如如40H40H、80H80H。模拟地模拟地数字地数字地DAC_OUTDAC_OUT地址分析:地址分析:1111 1111 0 0111 1111 1111-111 1111 1111-F7FFHF7FFH 微机课DA作业八作业八: 编写程序请加注释编写程序请加注释【补充补充11-111-1】分析如下分析如下8 8位位D/AD/A驱动程序,请绘出驱动程序,请绘出D/AD/A输出波形,标输出波形,标
19、明幅度参数,列式精确计算输出波形的周期。(设明幅度参数,列式精确计算输出波形的周期。(设f fOSCOSC=6MHZ=6MHZ) STARTSTART:MOV DPTRMOV DPTR,#7FFFH#7FFFH LP0LP0:MOV AMOV A,#0C0H#0C0H LP1LP1:DEC A DEC A MOVX DPTR MOVX DPTR,A A CJNE ACJNE A,#17H#17H,LP1LP1 SJMP LP0SJMP LP0 微机课DA【补充补充11-211-2】设设AT89C51AT89C51单片机与单片机与ADC0809ADC0809的连接如下图,其中的连接如下图,其中A
20、DC0809ADC0809的的C C、B B、A A有接到有接到A2A2、A1A1、A0A0与接到与接到D2D2、D1D1、D0D0两种方两种方案,请测算该电路一次案,请测算该电路一次A/DA/D转换的时间,针对两种方案分别编写转换的时间,针对两种方案分别编写程序段实现:启动对程序段实现:启动对IN6IN6输入的模拟量的输入的模拟量的A/DA/D转换,待转换,待A/DA/D转换结转换结束后读取束后读取A/DA/D转换结果数据并存入转换结果数据并存入6AH6AH单元。单元。( (调用的软件延时子调用的软件延时子程序可略,但须在注释说明延时时间,设程序可略,但须在注释说明延时时间,设f fOSCOSC=6MHZ) =6MHZ) A2 D2A2 D2A1 D1A1 D1A0 D0A0 D0作业八作业八(续)(续)微机课DA