10章 接口(单).pptVIP

  • 2
  • 0
  • 约5.17千字
  • 约 20页
  • 2018-05-14 发布于四川
  • 举报
1.分辨率: 指数字量对应于模拟量的分辨能力,通常用数字量的位数表示,如8位、10位、1 2位等,对n位的转换器,分辨率为 。例如8位的转换器分辨率1 LSB为1/2,用百分数表示为0.39%。 2.转换精度:可用绝对精度和相对精度表示,绝对精度是理论值与实际值之间的偏差,而相 对精度是偏差相对于满量程的百分比。 3.转换时间:完成一次数字量和模拟量之间转换所需要的时间。 4.量化误差:有限数字对模拟值进行离散取值(量化)而引起的误差,理论值为±1/2LSB。 5.量程:转换模拟电压的范围。 当输入数字为全“1”时,IOUT1最大,为全“0” 时,其IOUT1值最小,IOUT1和IOUT2之和为常数,当希望输出模拟电压时需外接运算放大 器进行 I/V 转换。 例10-1: 要求在图10.3输出端产生频率为500Hz的幅值为3V的方波信号。 DAC0832的满量程电压为5V. 分析: 500Hz信号的周期为2ms,要求0832 输出1ms高电平,1ms低电平,0V电平对应数字量0,3V对应数字量为X,可按下式计算: C语言程序: #includereg51.h #includeabsacc.h #define da0832 XBYTE[0X7fff] main(){ unsigned char i,j while(1) {da0832=0; /*输出0 V */ for(j=0;j<=255;j++); /* 延时 */ da0832=154; /*输出3 V */ for(j=0;j<=255;j++); /* 延时 */ }}  C语言程序: #includereg51.h #includeabsacc.h #define da0832 XBYTE[0X7fff] main() { unsigned char i,j while(1){ for(i=0;i<=255;i++) {da0832=i; /* 启动转换 */ for(j=0;j<=255;j++); /* 延时 */ } } } #includereg51.h #define uchar unsigned char xdata uchar *ad; uchar i=0; uchar data adtab[8]; addv() interrupt 2 { /*中断服务*/ adtab[i]=*ad; /*读入转换数据*/ ad++; /*指向下一通道*/ i++; /*中断方式接收*/ *ad=0; /*启动转换*/ } main(){ EA=1;EX1=1;IT1=1; /*开中断,下沿触发中断*/ ad=0x7ff8; /*置地址指针*/ ad=0; /*启动A/D转换 */ while(i8){}; /*八路未完继续等待中断*/ EA=0; /*八路转换完,关中断*/ } 单片机的内部资源结构、原理、应用编程及外围接口技术都已讲授完毕,大家有了开发系统的基本能力。 由于学时有限,且新接口层出不穷,有了基础知识和查阅资料的能力,教材后面内容到需要时完全有能力自学。学习其他的嵌入式困难也不大了。教学内容到此结束,欢迎提出宝贵意见。 * * 10.1 单片机和并行D/A的接口 在前一章并行接口的扩展中,解决了数字量或开关量的检测和控制,然而很多应用系统中, 测控的对象是模拟量,计算机只能处理数字量,因此必须进行数字量和模拟量之间的转换, 这就需要使用A/D或D/A接口。近年来,慢速的A/D转换,多采用V/F(电压/频率)式A/D转

文档评论(0)

1亿VIP精品文档

相关文档