1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第,10,章,D/A,数模转换,10.1 DAC0832,芯片引脚和内部结构,10.1.1,项目,1,:,DAC0832,输出连续的锯齿波,10.1.2,知识讲解,10.2 12,位,D/A,转换芯片,DAC1210,与,DAC0832,应用,10.2.1,项目,2,:,DAC0832,输出连续的三角波和锯齿波,10.2.1,知识讲解,10.3,项目扩展与工程应用,10.3.1,项目,3,:用,DAC0832,控制直流电机,10.3.2,项目,4,:,直流电机转速控制,10.1 DAC0832,芯片引脚
2、和内部结构,10.1.1,项目,1,:,DAC0832,输出连续的锯齿波,1,项目要求与目的,(,1,)项目要求:编写程序,使,DAC0832,输出连续的锯齿波,用示波器观看。,(,2,)项目目的:,了解,DAC0832,芯片的引脚和内部结构。,了解,DAC0832,芯片的性能及编程方法。,掌握,8086CPU,与,DAC0832,连接硬件电路。,2,项目电路连接与说明,(,1,)项目电路连接:,DAC0832,的片选孔用导线接至译码处,208H,20FH,插孔,用示波器的输入探头接,DAC0832,的输出插孔。,(,2,)项目说明:本项目是,DAC0832,输出连续的锯齿波模拟电压,输出结果
3、可用示波器观察,波形如图,10-1,所示。,D/A,转换是把数字量转化成模拟量的过程,,D/A,转换取值范围为一个周期,采样点越多,精度越高些,本项目采用的采样点为,256,点,/,周期。,0H,0H,0FFH,0H,0H,0H,0FFH,0FFH,0FFH,图,10-1,生成的锯齿波波形图,3,项目电路原理框图,项目电路原理框图如图,10-2,所示。电路由,8086CPU,、,DAC0832,芯片、,LM358,运算放大器等组成。,图,10-2 DAC0832,输出锯齿波电路图,4,项目程序设计,(,1,)程序流程图,DAC0832,输出连续的锯齿波程序流程图如图,10-3,所示。,图,10
4、3 DAC0832,输出连续的锯齿波程序流程图,(,2,)程序清单,DAC0832,输出连续锯齿波程序清单如下所示。,CODE SEGMENT,ASSUME CS,:,CODE,START:PUSH CS,POP DS,MOV AL,,,00H;,锯齿波的起始值,MOV DX,208H;DAC0832,地址,BG:OUT DX,,,AL;,输出,进行转换,转换时间,1s,NOP ;,延时,NOP ;,延时,NOP ;,延时,INC AL ;,数字量加,1,JMP BG ;,循环,CODE ENDS,END START,10.1.2,知识讲解,1.,概述,D/A,转换器的作用是将数字信号转换成
5、模拟的电信号。常用的微机控制系统示意图如图,10-4,所示,各部分的作用如下所示。,(,1,)传感器,温度、速度、流量、压力等非电信号,称为物理量。要把这些物理量转换成电量,才能进行模拟量对数字量的转换,这种把物理量转换成电量的器件称为传感器。目前有温度、压力、位移、速度、流量等多种传感器。,(,2,),A/D,转换器,把连续变化的电信号转换为数字信号的器件称为模数转换器,即,A/D,转换器。,(,3,),D/A,转换器,把数字信号转换成模拟信号,去控制执行机构的器件,称为数模转换器,即,D/A,转换器。,D/A,转换即数,/,模转换,是将数字量转换成与其成比例的模拟量。,D/A,转换器的核心
6、电路是解码网络,解码网络主要形式有两种:一种是权电阻解码网络,另一种是,T,型电阻网络。,图,10-4,微机控制系统示意图,2.D/A,转换器的主要技术指标,(,1,)分辨率,分辨率是指,D/A,转换器可输出的模拟量的最小变化量,也就是最小输出电压,(,输入的数字量只有,D0=1),与最大输出电压,(,输入的数字量所有位都等于,1),之比。也通常定义刻度值与,2,n,之比(,n,为二进制位数)。二进制位数越多,分辨率越高。例如,若满量程为,5V,,根据分辨率定义,则分辨率为,5v/2,n,。设,8,位,D/A,转换,即,n=8,,分辨率为,5v/2,8,19.53mv,,即二进制变化一位可引起
7、模拟电压变化,19.53mv,,该值占满量程的,0.195%,常用,1LSB,表示。,同理:,10,位,D/A,转换,1LSB=5000mv/210=4.88mv=0.098%,满量程。,12,位,D/A,转换,1LSB=5000mv/212=1.22mv=0.024%,满量程。,16,位,D/A,转换,1LSB=5000mv/216=0.076mv=0.0015%,满量程。,(,2,)转换精度,在理想情况下,精度和分辨率基本一致,位数越多,精度越高。但由于电源电压、参考电压、电阻等各种因素存在着误差,严格来讲精度和分辨率并不完全一致,只要位数相同,分辨率相同,但相同位数的不同转换器精度会有所
8、不同。,D/A,转换精度指模拟输出实际值与理想输出值之间的误差。包括非线性误差、比例系数误差、漂移误差等项误差。用于衡量,D/A,转换器将数字量转换成模拟量时,所得模拟量的精确程度。,注意:精度与分辨率是两个不同的参数。精度取决于,D/A,转换器各个部件的制作误差,而分辨率取决于,D/A,转换器的位数。,(,3,)影响精度的误差,失调误差(零位误差)定义为:当数值量输入全为“,0”,时,输出电压却不为,0V,。该电压值称为失调电压,该值越大,误差越大。增益误差定义为:实际转换增益与理想增益之误差。线性误差定义:它是描述,D/A,转换线性度的参数,定义为实际输出电压与理想输出电压之误差,一般用百
9、分数表示,(,4,)转换速度,D/A,转换速度是指从二进制数输入到模拟量输出的时间,时间越短速度越快,一般几十到几百微妙。,(,5,)输出电平范围,输出电平范围是指当,D/A,转换器可输出的最低电压与可输出的最高电压的电压差值。常用的,D/A,转换器的输出范围是,0,5 V,,,0,10 V,,,2.5,2.5 V,,,5,5 V,,,10,10 V,等。,3.DAC0832,芯片引脚,D/A,接口芯片种类很多,有通用型、高速型、高精度型等,转换位数有,8,位、,12,位、,16,位等,输出模拟信号有电流输出型(如,DAC0832,、,AD7522,等)和电压输出型(如,AD558,、,AD7
10、224,等),在应用中可根据实际需要进行选择。,DAC0832,是采用,CMOS,工艺制造的,8,位电流输出型,D/A,转换器,分辨率为,8,位,建立时间为,1,s,,功耗为,20,mW,,数字输入电平为,TTL,电平。,DAC0832,是,8,位电流型,D/A,转换器,,20,引脚双列直插式封装,引脚如图,10-5,所示。,20,个引脚中包括与微机连接的信号线,与外设连接的信号线以及其他引线,功能如下所示。,图,10-5 DAC0832,引脚,与微机相连的信号线,D7,D0,:,8,位数据输入线,用于数字量输入。,ILE,(,19,脚):输入锁存允许信号,高电平有效。,(,1,脚):片选信号
11、低电平有效,与,ILE,结合决定是否有效。,(,2,脚):写命令,l,,当为低电平,且,ILE,和有效时,把输入数据锁存入输入寄存器;、,ILE,和三个控制信号构成第一级输入锁存命令。,(,18,脚),:,写命令,2,,低电平有效,该信号与配合,当有效时,可使输入寄存器中的数据传送到,DAC,寄存器中。,(,17,脚):传送控制信号,低电平有效,与配合,构成第二级寄存器,(DAC,寄存器,),的输入锁存命令,与外设相连的信号线,Iout1,(,12,脚):,DAC,电流输出,1,,它是输入数字量中逻辑电平为“,1”,的所有位输出电流的总和。当所有位逻辑电平全为“,1”,时,,Iout1,为最
12、大值;当所有位逻辑电平全为“,0”,时,,Iout1,为“,0”,。,Iout2,(,11,脚):,DAC,电流输出,2,,它是输入数字量中逻辑电平为“,0”,的所有位输出电流的总和。,Rf,(,9,脚):反馈电阻,为外部运算放大器提供一个反馈电压。根据需要也可外接一个反馈电阻,Rf,。,其它引线,Vref,(,8,脚):参考电压输入端(也称基准电压),要求外部提供精密基准电压,,Vref,一般在,10,10 V,之间。,VCC,(,20,脚):芯片工作电源电压,一般为,5,15 V,。,AGND,(,3,脚):模拟地。,DGND,(,10,脚):数字地。,注意,:,模拟地要连接模拟电路的公共
13、地,数字地要连接数字电路的公共地,最后把它们汇接为一点接到总电源的地线上。为避免模拟信号与数字信号互相干扰,两种不同的地线不可交叉混接,4.DAC0832,芯片内部结构,结构框图如图,10-6,所示。它是由一个,8,位的输入寄存器、一个,8,位的,DAC,寄存器和一个,8,位,D/A,转换器以及控制电路组成。输入寄存器和,DAC,寄存器可以分别控制,从而可以根据需要接成,两级输入锁存的双缓冲方式,一级输入锁存的单缓冲方式,或接成完全直通的无缓冲方式。,图,10-6 DAC0832,芯片内部结构,5.D/A,转换器的输出,(1),电流输出和电压输出,D/A,转换的结果若是与输入二进制码成比例的电
14、流,称为电流,DAC,,若是与输入二进制码成比例的电压,称为电压,DAC,。,常用的,D/A,转换芯片大多属于电流,DAC,,然而在实际应用中,多数情况需要电压输出,这就需要把电流输出转换为电压输出,采取的措施是用电流,DAC,电路外加运算放大器。输出的电压可以是单极性电压,也可以是双极性电压。,单极性电压输出如图,10-7,所示。输出电压为,VOUT=,IR,输出电压的正负值视所加参考电压极性而定(,VOUT,的极性与,Vref,),可以有,0V,5,或,0V,5,,也可以有,0V,10,或,0V,10,等输出范围。,若需双极性电压输出,可在单极性电压输出后再加一级运算放大器,如图,10-8
15、所示。如果基准电压,Vref,)为,+5V,,则第一个运算放大器,A0,的输出,V1,为,0,到,5V,。由,Vref,为第二个运算放大器,A,提供一个偏移电流,该电流方向与,A0,输出的电流方向相反,使得由,Vref,引入的偏移电流正好是,A0,输出电流的,1/2,。因而,A,的运放输出将在,A0,运放输出的基础上产生位移。此时,双极性输出电压与,Vref,及,A0,运放输出,V1,的关系为,VOUT=2V1+Vref,,即,VOUT=,(,2V1+Vref,)。若,V1=0,,则,VOUT=,5,;若,V1=,5,,则,VOUT=+5,。,VOUT,输出范围有,5,5,和,-10,10,
16、2),输出零点和满刻度的调正,在精度要求较高的,D/A,转换器中都有调零和调满刻度调整电位器,调整时,将,D/A,输出接数字电压表,然后用程序送数据启动,D/A,转换。例如,8,位,D/A,转换器,输出为单极性,0V,5,,可用程序送,00H,,调节调零电位器,使输出为,0,。再用程序送,FFH,,调节满刻度调整电位器,使,D/A,输出为满量程,5V,减去最低位所对应的电压值,最低位所对应的电压值等于,VFS1LSB,,其中,1LSB=1/256,,,FS,为满量程电压。对双极性输出,设为,5,5,,可用程序先给,D/A,送,00H,,调整调零电位器,使输出为,5,,然后再送,FFH,,
17、调整满刻度电位器,使输出为满量程,10V,减去一个最低位所对应的电压值。,图,10-7,单极性电压输出,图,10-8,双极性电压输出,6,DAC0832,的工作方式,DAC0832,内部有两级输入缓冲寄存器。当,LE1=1,(高电平)时(即,ILE=1,=0,,,=0,),输入寄存器的输出端信号随,D7,D0,的变化而变化;当,LE1=0,时(即,ILE=0,或,=1,,或,=1,),输入寄存器锁存,D7,D0,的当前值。当,LE2=1,时(即,=0,=0,),,DAC,寄存器的输出信号跟随输入寄存器的输出端信号变化;当,LE2=0,时(即,=1,或,=1,),,DAC,寄存器锁存当前输入寄存
18、器输出的值,送,D/A,转换器进行转换。因此,DAC0832,有,3,种工作方式。,(,1,),双缓冲方式,:数据通过二个寄存器锁存后送入,D/A,转换电路,执行两次写操作才能完成一次,D/A,转换。这种方式特别适用于要求同时输出多个模拟量的场合。这种方式通常采用的接线是:,ILE,固定接,+5V,,,CPU,的信号复连接到、和,用作为输入寄存器的片选信号,分别接到两个,I/O,口地址译码输出,接线如图,10-9,所示。,图,10-9 DAC0832,双缓冲方式,(2),单缓冲方式,:两个寄存器中的一个处于直通状态,输入数据只经过一级缓冲送入,D/A,转换器电路,例如,把、接数字信号地,使,D
19、AC,寄存器处于直通状态,,ILE,接,+5V,接,CPU,的,接,I/O,口地址译码。在这种方式下,只需执行一次写操作,即可完成,D/A,转换,可以提高,DAC,的数据吞吐量。这种方式接线如图,10-10,所示。,图,10-10 DAC0832,单缓冲方式,(3),直通方式,:两个寄存器都处于直通状态,即,ILE=1,、和都接数字信号地,数据直接送入,D/A,转换器电路进行,D/A,转换。这种方式可用于一些不采用微机的控制系统中。,10.2 12,位,D/A,转换芯片,DAC1210,与,DAC0832,应用,1,项目要求与目的,(,1,)项目要求:编写程序,使,D/A,转换模块输出连续三角
20、波和锯齿波。,(,2,)项目目的:,掌握,DAC0832,芯片的性能,使用方法及对应硬件电路。,了解,D/A,转换的编程方法。,掌握,8086CPU,与,DAC,接口电路。,10.2.1,项目,2,:,DAC0832,输出连续的三角波和锯齿波,2,项目电路连接与说明,(,1,)项目电路连接:,DAC0832,的片选孔用导线接至译码处,208H,20FH,插孔,用示波器的输入探头接,DAC0832,的输出插孔。,(,2,)项目说明:,D/A,转换是把数字量转化成模拟量的过程,本项目是,DAC0832,输出连续的三角波和锯齿波模拟电压,输出结果可用示波器观察。,3,项目电路原理图,项目电路原理框图
21、如图,10-11,所示。电路由,8086CPU,、,DAC0832,芯片、,LM358,运算放大器等组成,图,10-11 DAC0832,输出连续的三角波和锯齿波电路图,4,项目程序设计,(,1,)程序流程图,图,10-12 DAC0832,输出连续的三角波和锯齿波程序流程图,2,)程序清单,DAC0832,输出连续三角波和锯齿波清单如下所示。,CODE SEGMENT,ASSUME CS,:,CODE,START,:,PUSH CS ;,置指针,POP DS,BG,:,NOP,MOV DX,,,208H;DAC0832,地址,MOV AL,,,00H;,置转换初值,MOV CX,,,07FF
22、H;,置循环值,BB,:,OUT DX,,,AL;,转换输出锯齿波,ADD AL,,,01;,数字量加,1,CMP AL,,,00H;,比较数字量为,00H,吗,JNZ BB;,不为,00H,转,BB,LOOP BB;,判断循环次数为,0,吗,不为,0,转,BB,NOP,MOV AL,,,00H;,置转换初值,MOV CX,,,07FF H;,置循环值,EE,:,OUT DX,,,AL;,转换输出三角波,ADD AL,,,01H;,数字量加,1,CMP AL,,,0FFH;,比较是否是,FFH,JNE EE ;,不为,FFH,转,EE,FF,:,OUT DX,,,AL;,为,FFH,转换,SU
23、B AL,,,01H;,数字量减,1,CMP AL,,,00H;,比较是否是,00H,JNE FF ;,不为,00H,转,FF,LOOP EE ;,判断循环次数为,0,吗,不为,0,转,EE,JMP BG ;,循环,CODE ENDS,END START,10.2.1,知识讲解,1.DAC 1210,的引脚与内部结构,(,1,),DAC 1210,的引脚,DAC 12l0,的引脚如图,10-13,所示,引脚功能如下所示。,与,CPU,相连的引脚,D0,D11,:,12,位数据输入端。,(,1,脚):片选信号,输入、低电平有效。,(,2,脚):写信号,1,,输入、低电平有效。在有效时,用它将数字
24、锁存于第一级锁存器中。,/,(,23,脚):,12,位,4,位输入选择,输入。高电平时,高,8,位和低,4,位输入锁存;低电平时,低,4,位输入锁存。,(,21,脚):传送控制信号,输入、低电平有效。,(,22,脚):写信号,2,,输入、低电平有效。在有效的条件下,第一级锁存器中的数据传送到第二级的,12,位,DAC,寄存器中。,与外设相连的引脚,Iout1,(,13,脚):,DAC,电流输出,1,。它是逻辑电平为,l,的各位输出电流之和。,Iout2,(,14,脚):,DAC,电流输出,2,。它是逻辑电平为,0,的各位输出电流之和。,Rf,(,11,脚):反馈电阻。该电阻被制作在芯片内,用作
25、运算放大器的反馈电阻。,其它,Vref,(,10,脚):基准电压输入端。,VCC,(,24,脚):逻辑电源。,AGND,(,3,脚):模拟地。,DGND,(,12,脚):数字地。,(2)DAC 12l0,的内部结构,DAC 12l0,的内部结构如图,10-14,所示。,DAC l210,的内部结构与,DAC 0832,非常相似,也具有双缓冲输入寄存器,不同的是,DAC l210,的双缓冲和,D,A,转换均为,12,位。,DAC l210,的内部由一个,8,位锁存器、一个,4,位锁存器、一个,12,位,DAC,锁存器及,12,位,D,A,转换器组成,图,10-13 DAC1210,的引脚,图,1
26、0-14 DAC1210,的内部结构,2.DAC0832,应用,下面是以电路图,10-10,所示,DAC0832,单缓冲方式为基础来说明几种典型应用。设,DAC0832,的片选接至译码处地址为,208H,20FH,。,(,1,)锯齿波,在计算机控制系统中,常常需要一个线性增长的电压,这个线性增长的电压就可以用,D/A,转换去实现,并用示波器来观察转换结果。我们只需要将数字量,0,255,依次递增连续送到,DAC0832,进行,D/A,转换,在运算放大器的输出端就可得到如图,10-15,所示的锯齿波波形,控制程序如下所示。,START:MOV AL,0,;数字量初始值,MOV DX,208H,;
27、DAC0832,地址,OUT DX,AL,INC AL,;数字量加,1,JMP START,;循环,图,10-15,锯齿波波形图,以上是从,0,到,VFS,(满量程)经过了,256,小步完成的,如果要改变锯齿波的斜率,只要延长每小步的时间,程序修改为如下所示。,START:MOV AL,0,;数字量初始值,MOV DX,208H,;,DAC0832,地址,OUT DX,AL,CALL DELAY ;,调延时子程序,时间的长短根据需要确定,INC AL,;数字量加,1,JMP START,;循环,(,2,)三角波,三角波波形图如图,10-16,所示,控制程序如下所示。,START:MOV AL
28、0,;数字量初始值,MOV DX,208H,;,DAC0832,地址,EE,:,OUT DX,,,AL;,转换,产生三角波,ADD AL,,,01H;,数字量加,1,CMP AL,,,0FFH;,比较是否是,FFH,JNE EE ;,不为,FFH,转,BB,FF,:,OUT DX,,,AL;,为,FFH,转换,SUB AL,,,01H;,数字量减,1,CMP AL,,,00H;,比较是否是,00H,JNE FF ;,不为,00H,转,FF,JMP START ;,循环,图,10-16,三角波波形图,(3),方波,方波波形图如图,10-17,所示,控制程序如下所示。,START:MOV AL,
29、0,;最小数字量,MOV DX,208H,;,DAC0832,地址,OUT DX,AL,CALL DELAY ;,调延时子程序,时间的长短根据需要确定,MOV AL,0FFH,;最大数字量,MOV DX,208H,;,DAC0832,地址,OUT DX,AL,CALL DELAY ;,调延时子程序,时间的长短,JMP START ;,循环,图,10-17,方波波形图,只要在输出的延时时间的长短不同,就可得到如图,10-18,所示的矩形波。,图,10-18,矩形波波形图,(4),梯形波,梯形波波形图如图,10-19,所示,控制程序如下所示。,START:MOV AL,0,;最小数字量,MOV D
30、X,208H,;,DAC0832,地址,OUT DX,AL,L0:CALL DELAY ;,调延时子程序,时间的长短根据需要确定,L1:INC AL,OUT DX,AL,CMP AL,0FFH,JNZ L1,CALL DELAY,L2:DEC AL,OUT DX,AL,CMP AL,00H,JNZ L2,JMP L0,图,10-19,梯形波波形图,10.3,项目扩展与工程应用,10.3.1,项目,3,:用,DAC0832,控制直流电机,1,项目要求与目的,(,1,)项目要求:利用实验板上的,8255,的,PB,口接,3,只开关,K0,、,K1,和,K2,,通过开关的闭合来实现直流电机的不同转速
31、DAC0832,做,D/A,转换器,编制程序,将二进制数字量,通过,DAC0832,把数字量转换模拟量输出去控制直流电机转速。,(,2,)项目目的:,掌握,D/A,转换与,8086CPU,的接口方法。,了解,8255,芯片性能及编程。,了解,D/A,芯片,DAC0832,转换性能及编程。,掌握,8255,芯片与,8086CPU,的接口方法,2,项目电路连接与说明,(,1,)项目电路连接:,8255,的片选孔用导线接至译码处,200H,207H,插孔,DAC0832,的片选孔用导线接至译码处,208H,20FH,插孔,,DAC0832,的输出,AOUT,用导线接至直流电机的,DCIN,插孔。
32、2,)项目说明:,8255,的,PB,口接,3,只开关,K0,、,K1,和,K2,,,PA,口接,3,只发光二极管,LED,K0,闭合,LED0,灯亮,数字量,00H,送,DAC0832,转换,输出控制直流电机转速,通过开关的闭合来实现直流电机的不同转速。,3,项目电路原理框图,用,8255,控制直流电机转速电路原理框图如图,10-20,所示。电路由,8086CPU,芯片、,DAC0832,芯片、,8255A,芯片、开关和直流电机等组成。,图,10-20,用,8255,控制直流电机转速电路原理框图,4,项目程序设计,(,1,)程序流程图,用,8255,控制直流电机转速程序流程图如图,10
33、21,所示,图,10-22,程序流程图,(,2,)程序清单,用,8255,控制直流电机转速程序清单如下所示。,CODE SEGMENT,ASSUME CS:CODE,START:MOV DX,203H;8255,的控制口地址,MOV AL,82H ;PA,输出,,PB,输入,OUT DX,AL,K0:MOV DX,201H;PB,口地址,IN AL,DX ;,读开关的状态,AND AL,01H ;,与,PB0,相“与”,JNZ K1 ;K0,没有闭合(,K00,)转,K1,MOV DX,200H;K0,闭合(,K0=0,),,LED0,亮,MOV AL,0FEH;LED0,亮,OUT DX,
34、AL,MOV DX,208H;DAC0832,地址,MOV AL,00H;,数字量,00H,送去转换输出,0V,OUT DX,AL,JMP K0,K1:MOV DX,201H;PB,口地址,IN AL,DX,AND AL,02H ;,与,PB1,相“与”,JNZ K2,;K1,没有闭合(,K10,)转,K2,MOV DX,200H ;K1,闭合(,K1=0,),,LED1,亮,MOV AL,0FDH ;LED1,亮,OUT DX,AL,MOV DX,208H ;DAC0832,地址,MOV AL,80H ;,数字量,80H,送去转换输出,2.5V,OUT DX,AL,JMP K0,K2:MOV
35、 DX,201H;PB,口地址,IN AL,DX,AND AL,04H ;,与,PB2,相“与”,JNZ K0,;K2,没有闭合(,K20,)转,K0,MOV DX,200H;K2,闭合(,K2=0,),,LED2,亮,MOV AL,0FBH,OUT DX,AL,MOV DX,208H ;DAC0832,地址,MOV AL,0FFH ;,数字量,FFH,送去转换输出,5V,OUT DX,AL,JMP K0,CODE ENDS,END START,10.3.2,项目,4,:直流电机转速控制,1,项目要求与目的,(,1,)项目要求:利用实验板上的,DAC0832,做,D/A,转换器,转换的结果控制
36、直流电机的转速,编制程序,将二进制数字量转换成模拟量,控制直流电机的转速,根据转速用,8255,的,PA,口输出到发光二极管左循环显示。,(,2,)项目目的:,掌握,D/A,转换与,8086CPU,的接口方法。,了解,D/A,芯片,DAC0832,编程。,了解,8255,芯片编程方法。,2,项目电路连接与说明,(,1,)项目电路连接:,DAC0832,的片选孔用导线接至译码处,208H,20FH,插孔,AOUT,接至直流电机的,DCIN,端,直流电机的,CKM,端接至,8255,的,PB0,,用来读直流电机的转速,,8255,的片选孔用导线接至译码处,200H,207H,插孔,发光二极管,LE
37、D,的,L0-L7,分别用导线接至,8255,的,PA0-PA7,。,(,2,)项目说明:在电压允许范围内,直流电机的转速随着电压的升高而加快。将电压经过驱动后加在直流电机上,使其运转。在电机转盘上安装一个小磁铁,用霍尔元件感应直流电机转速,用,8086CPU,控制,8255,的,PB0,读回感应脉冲,从而测算出电机转速,并用,LED,左循环的速度显示出来。,3,项目电路原理框图,直流电机转速控制电路原理框图如图,10-23,所示。电路由,8086CPU,芯片、,DAC0832,芯片、,8255A,芯片直流电机、霍尔元件和发光二极管,LED,等组成,图,10-23,直流电机转速控制电路原理框图
38、4,项目程序设计,图,10-24,直流电机转速控制程序流程图,(,2,)程序清单,直流电机转速控制程序清单如下所示。,CODE SEGMENT,ASSUME CS:CODE,START:MOV AL,82H,;,8255,的,PA,口输出,,PB,口输入,方式,0,MOV DX,203H,;,8255,控制口,OUT DX,AL,;写控制字,MOV AH,0FEH,;置初值接,PA0,的,LED,亮,AGAIN:MOV DX,208H,;,DAC0832,地址,MOV AL,0FFH,;设置电机转速(送,FFH,去转换),OUT DX,AL,;,DAC0832,转换,CALL DELAY,;
39、调延时子程序,CALL READ,;调测转速及,LED,灯左循环子程序,MOV DX,208H,;,DAC0832,地址,MOV AL,0A0H,;设置电机转速(送,A0H,去转换),OUT DX,AL,;,DAC0832,转换,CALL DELAY,;调延时子程序,CALL READ,;调测转速及,LED,灯左循环子程序,MOV DX,208H,;,DAC0832,地址,MOV AL,40H,;设置电机转速(送,40H,去转换),OUT DX,AL,;,DAC0832,转换,CALL DELAY,;调延时子程序,CALL READ,;调测转速及,LED,灯左循环子程序,MOV DX,208H
40、DAC0832,地址,MOV AL,10H,;设置电机转速(送,10H,去转换),OUT DX,AL,CALL DELAY,;调延时子程序,CALL READ,;调测转速及,LED,灯左循环子程序,JMP AGAIN,;循环,DELAY PROC NEAR,;延时子程序,PUSH CX,;保护现场,PUSH AX,MOV AX,4,MOV CX,0,DEL1:NOP,LOOP DEL1,DEC AX,JNZ DEL1,POP AX,;恢复现场,POP CX,RET,DELAY ENDP,READ PROC NEAR,;测转速及,LED,灯左循环子程序,MOV DX,201H,;,PB,口
41、地址,REA1:IN AL,DX,;读,PB0,产生低脉冲,TEST AL,01H,;判,PB0,位低电平,JNZ REA1,;高电平转,REA1,REA2:IN AL,DX,;读直流电机转速,TEST AL,01H,;判,PB0,位低电平,JZ REA2,;低电平转,REA2,MOV AL,AH,;产生低脉冲后,送,LED,显示值,MOV DX,200H,;,PA,口地址,OUT DX,AL,;,LED,灯亮,ROL AL,1,;,LED,灯左循环,MOV AH,AL,;暂存,RET,READ ENDP,CODE ENDS,END,START,思考题与练习题,(,1,)什么是,D/A,转换器
42、2,)影响,D/A,转换器产生不同波形的两个重要因素是什么?,(,3,)在,DAC,中分辨率与转换精度有什么差异?一个,10,位,DAC,的分辨率是多少?,(,4,)试画出,DAC0832,与,CPU,的连接图。,(,5,)使用,DAC0832,时,单缓冲方式如何工作?双缓冲方式如何工作?,(,6,)根据本章图,10-10,,编写程序生成周期性对称三角形波形。要求波形的最低电平为,0 V,,最高电平为,2 V,,设使有效的译码地址为,208H-20FH,。,(,7,)利用图,10-9,所示的,DAC,电路产生,10,个对称方波,波形可通过示波器查看。假设使有效的译码地址为,208H-20FH,。,(,8,)利用图,10-10,所示的,DAC,电路产生,100,个锯齿波,波形可通过示波器查看。假设使有效的译码地址为,208H-20FH,。,本章完,see you,






