如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
5.1模/数转换器5.2数/模转换器5.3电压基准单片机实时控制系统示意图5.1模/数转换器5.1模/数转换器5.1.1模数转换原理即性能指标(1)逐次逼近式A/D转换器采用对分搜索法逐次比较、逐步逼近的原理来转换(2)双积分式的A/D转换器双积分式A/D转换器工作原理图2.性能指标(1)2.性能指标(2)5.1.2C8051F020的ADC0功能结构(1)ADC0子系统功能框图5.1.2C8051F020的ADC0功能结构(2)5.1.2C8051F020的ADC0功能结构(3)5.1.3模拟多路选择器和PGA(1)5.1.3模拟多路选择器和PGA(2)5.1.3模拟多路选择器和PGA(3)5.1.3模拟多路选择器和PGA(4)5.1.4ADC的工作方式(1)5.1.4ADC的工作方式(2)2.跟踪方式12位ADC跟踪和转换时序3.建立时间要求ADC0建立时间:ADC0等效输入电路4.转换结果格式数据字转换表AIN0-AIN1为差分输入对:5.1.5ADC0可编程窗口检测器ADC0右对齐的单端数据窗口中断示例5.1.6ADC1(8位ADC)ADC1原理框图3.跟踪方式ADC1跟踪和转换时序举例5.1.7模数转换举例ADC转换步骤ADC转换步骤如何通过采样值得到温度的摄氏度数值:温度传感器的传输特性采样值为:实际的环境温度测量(1)查询法程序主程序while(1){AD0INT=0;//清除转换结束标记AD0BUSY=1;//开始转换while(AD0INT==0);//等待转换结束temperature=ADC0;//读ADC0数据temperature=temperature-41857;//减去偏移量,对应0℃的值。temperature=(temperature*100L)/154;//计算出对应的温度值(2.86mV/℃)temp_int=temperature/100;//得到温度值的整数部分temp_frac=temperature-(temp_int*100);//得到温度值的小数部分printf(“Temperatureis%+02d.%02d\n”,temp_int,temp_frac);//从串口输出}}系统时钟初始化IO口初始化UART0初始化ADC0初始化(2)中断方式程序主程序ADC0初始化定时器3初始化中断服务程序2.多通道数据采集主程序系统时钟初始化IO口初始化UART0初始化ADC0初始化定时器3初始化中断服务程序5.2数/模转换器转换原理T型电阻网络D/A转换原理框图B为一个二进制数,T型电阻网络的D/A转换输出电压量绝对值与该二进制数的大小成正比性能指标5.2.2C8051F020的DAC功能DAC功能框图控制DAC工作的主要是控制寄存器DAC0CN和DAC1CN,两个SFR分别控制DAC0和DAC1,以DAC0CN为例来说明。000:DAC0数据字的高4位在DAC0H[3:0],低字节在DAC0L中。其余类推。5.2.3DAC输出更新5.2.4.DAC输出定标/调整5.2.5数模转换举例产生阶梯波延时程序配置程序voidmain(void){config();//配置EA=1;//开中断while(1);}中断程序配子程序5.3电压基准电压基准功能框图