您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机原理及应用与C51程序设计(第三版)第9章作业
习题1.简述D/A转换器的主要性能指标。答:D/A转换器的主要性能指标主要有以下几个方面。1)分辨率2)精度3)线性度4)温度灵敏度5)建立时间2.简述A/D转换器的类型及原理。答:A/D转换芯片根据转换原理可分为计数型A/D器、逐次逼近型A/D转换器、双重积分型A/D转换器和并行式A/D转换器等;按转换方法可分为直接A/D转换器和间接A/D转换器;按其分辨率可分为4~16位的A/D转换器。3.简述A/D转换器的主要性能指标。答:A/D转换器的主要性能指标1)分辨率2)转换时间3)量程4)转换精度4.简述DAC0832的基本组成。答:DAC0832主要由8位输入寄存器、8位DAC寄存器、8位D/A转换器和控制逻辑电路组成。8位输入寄存器接收从外部发送来的8位数字量,锁存于内部的锁存器中,8位DAC寄存器从8位输入寄存器中接收数据,并能把接收的数据锁存于它内部的锁存器,8位D/A转换器对8位DAC寄存器发送来的数据进行转换,转换的结果通过Iout1和Iout2输出。5.DAC0832有几种工作方式?这几种方式是如何实现的?答:DAC0832具有直通方式、单缓冲方式和双缓冲方式3种工作方式。这三种方式是通过改变控制引脚ILE、WR1、WR2、CS和XFER的连接方法,控制DAC0832的8位DAC寄存器和8位D/A转换寄存器的通行来实现。如果这两个寄存器直接导通则为直通方式,如果一个直接导通一个选通或两个连在一起选通则为单缓冲方式,如果两个寄存器先8位DAC寄存器选通,再8位D/A转换寄存器选通则为双缓冲方式。6.简述逐次逼近型A/D转换器的工作过程。答:逐次逼近型A/D转换器由比较器、D/A转换器、寄存器及控制电路组成。与计数型相同,也要进行比较以得到转换的数字量,但逐次逼近型A/D转换器是用一个寄存器从高位到低位依次开始逐位试探比较的。转换过程如下:开始时寄存器各位清0,转换时,先将最高位置1,送D/A转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的数字量。一个n位的逐次逼近型A/D转换器转换只需要比较n次,转换时间只取决于位数和时钟周期。逐次逼近型A/D转换器转换速度快,在实际中被广泛使用。7.简述ADC0808/0809的工作过程。答:ADC0809的工作过程如下:(1)输入3位地址,并使ALE=1,将地址存入地址锁存器中,经地址译码器译码从8路模拟通道中选通一路模拟量送到比较器。第9章D/A、A/D转换器与51单片机的接口2(2)送START一高脉冲,START的上升沿使逐次逼近寄存器复位,下降沿启动A/D转换,并使EOC信号为低电平。(3)当转换结束时,转换的结果送入到输出三态锁存器中,并使EOC信号回到高电平,通知CPU已转换结束。8.简述ADC0808/0809的工作方式。答:ADC0808/0809的使用分三种方式。1)延时方式:连接时EOC悬空,启动转换后延时100s,跳过转换时间后再读入转换结果。2)查询方式:EOC接单片机并口线,启动转换后,查询单片机并口线,如果变为高电平,说明转换结束,则读入转换结果。3)中断方式:EOC经非门接单片机的中断请求端,将转换结束信号作为中断请求信号向单片机提出中断请求,中断后执行中断服务程序,在中断服务中读入转换结果。9.利用DAC0832芯片,采用双缓冲方式,产生梯形波,分别用汇编语言和C语言编程实现。答:硬件电路图如图8.8。8位输入锁存器的地址为7F00H,8位DAC寄存器的地址为0BF00H。设一个周期有8梯。参考程序如下:汇编语言编程:MOVDPTR,#7F00HLOOP:MOVA,#00HMOVX@DPTR,AMOVDPTR,#0BF00HMOVX@DPTR,AACALLDELAYADDA,#20HSJMPLOOPDELAY:MOVR7,#0FFHDJNZR7,$RETC语言编程:#includeabsacc.h//定义绝对地址访问#defineucharunsignedchar#defineDAC0832AXBYTE[0x7F00]#defineDAC0832BXBYTE[0xDF00]voiddelay(void);voidTXB(){uchari;while(1){DAC0832A=i;DAC0832B=i;i=i+0x20;delay();//延时}}voiddelay()//延时函数{uchari;第9章D/A、A/D转换器与51单片机的接口3for(i=0;i0xff;i++){;}}10.设计8路模拟量输入的巡回检测系统,使用查询的方法采样数据,采样的数据存放在片内RAM的8个单元中,分别用汇编语言和C语言编程实现。答:硬件线路如下:P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7ALEWRRDP1.0+++5VGNDD0D1D2D3D4D5D6D7ADDAADDBADDCCLKALESTARTOEEOCIN0IN1IN2IN3IN4IN5IN6IN7VREF+VREF-ADC08098051分频器P2.7只把EOC信号改成连接到单片机P1.0上,其余与中断方式相同。汇编语言编程:ADC:ORG0100HMOVR0,#30H;设立数据存储区指针MOVR2,#08H;设置8路采样计数值MOVDPTR,#0000H;送入口地址并指向IN0LOOP:MOVX@DPTR,A;启动A/D转换,A的值无意义JNBP1.0,$MOVXA,@DPTR;读取转换后的数字量MOV@R0,A;存入片内RAM单元INCDPTR;指向下一模拟通道INCR0;指向下一个数据存储单元DJNZR2,LOOP;8路未转换完,则继续RET;返回第9章D/A、A/D转换器与51单片机的接口4C语言编程:#includereg51.h#includeabsacc.h//定义绝对地址访问#defineucharunsignedchar#defineIN0XBYTE[0x0000]//定义IN0为通道0的地址staticuchardatax[8];//定义8个单元的数组,存放结果sbitP10=P1^0;ucharxdata*ad_adr;//定义指向通道的指针uchari=0;voidadc(void){i=0;ad_adr=&IN0;//指针指向通道0for(i=0;i8;i++){*ad_adr=i;//启动当前通道转换while(!P10);//等待转换x[i]=*ad_adr;//接收当前通道转换结果ad_adr++;//指向下一个通道}}
本文标题:单片机原理及应用与C51程序设计(第三版)第9章作业
链接地址:https://www.777doc.com/doc-7842499 .html