唐梦雪实验五I2C的DA

唐梦雪实验五I2C的DA

ID:47541834

大小:219.93 KB

页数:7页

时间:2020-01-14

唐梦雪实验五I2C的DA_第1页
唐梦雪实验五I2C的DA_第2页
唐梦雪实验五I2C的DA_第3页
唐梦雪实验五I2C的DA_第4页
唐梦雪实验五I2C的DA_第5页
资源描述:

《唐梦雪实验五I2C的DA》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.实验五I2C的DA/ADC转换实验一、实验目的1、掌握I2C的DA/ADC芯片与单片机接口方法;2、掌握I2C器件编程方法;3、掌握DAC和ADC的使用方法。二、实验前准备1、完成作业7;2、根据实验内容编写好相关程序,并进行Proteus仿真。程序和仿真图:#include#include#include"I2C.h"#defineucharunsignedchar#defineuintunsignedint#define_Nop()_nop_()sbitoe=P1^3;sbitdula=P1^4;sbitwela=P1^

2、5;dataucharj;ucharcodesled_bit[]={0xfe,0xfd};//,0xfb,0xf7};//,0xef,0xdf,0xbf,0x7f};datauchardisp[2]={16,16};ucharcodetable[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};voidmain(){datauchara;oe=0;P0=0xff;TMOD=0x01;word范文.TH0=(65536-500)/256;

3、TL0=(65536-500)%256;ET0=1;EA=1;TR0=1;sen:erflags=0;Start();SendByte(0x90);cAck();if(erflags)gotosen;SendByte(0x00);cAck();if(erflags)gotosen;sen1:Start();SendByte(0x91);cAck();if(erflags)gotosen1;a=RcvByte();Ack();while(1){a=RcvByte();Ack();disp[0]=a/16;disp[1]=a%16;}}voidT0_int(void)i

4、nterrupt1{uchark;TH0=(65536-1000)/256;TL0=(65536-1000)%256;word范文.oe=1;k=disp[j];P0=0xff;P0=table[k];dula=1;dula=0;P0=sled_bit[j];wela=1;wela=0;oe=0;j++;if(j>=2)j=0;}三、实验内容实验内容为3项,其中第1、2项必做。1、D/A转换实验。设置一个一维数组dataucharc[4]={0x00,0xa0,0xaa,0xff};按下K1、K2、K3、K4,分别将c[0]、c[1]、c[2]、c[3]的值转换成模

5、拟量输出,观察发光二极管D23的亮度。若是仿真,可以通过电压表观察模拟量的电压值。word范文.2、单通道采样与动态显示。对AIN0通道进行采样,将采样数据在1、2两位动态显示,调节电位器观察显示数据变化。3、简易电压表实现。对AIN0通道进行采样,将采样数据转换成4位电压值在1、2、3、4四位动态显示,注意只有1位整数3位小数。调节电位器观察显示数据变化。1.2.3.四、实验原理word范文.实验原理图电路中,P3.6、P3.4分别连接SCL、SDA,地址引脚A2A1A0=000,PCF8591的特征编码为1001,电路中PCF8591的地址为1001000。4路

6、模拟输入,AIN0连接一个10KΩ电位器的中心抽头,调节电位器可改变AIN0的模拟电压,AIN1连接电源,AIN2、AIN3连接地。PCF8591的15脚AOUT是DAC输出的模拟量,AOUT引脚通过50Ω电阻、LED与电源连接,输出模拟量越小,LED越亮。注意在HNIST-2型实验装置中,将J16的1、2脚短路。五、软件设计思想1、编程思路仿照例题编写程序,采用例题的I2C的相关函数。动态显示采用实验四的方法,只将显示数据送人相应显示数组元素。2、简易电压表实现注意在采样数据转换成4位电压值时,中间变量要设置长整形数据类型,并注意小数点设置。word范文.六、实验

7、思考题1、采用I2C接口的ADC有什么好处?2、如果通过按K1、K2、K3、K4键分别选择ADC采样0、1、2、3通道,程序如何处理?3、如何利用芯片的通道自动增量的功能,对AIN0、AIN1、AIN2、AIN3通道轮流进行采样。1.答:采用I2C接口的ADC,可直接与具有I2C总线接口的各种扩展器件连,数据传输速率高。2.答:PCF8591的控制寄存器中的D0,D1为通道选择位,程序中把K1、K2、K3、K4键的键值传递给D0,D1,对应相应的通道。这样就可以通过按K1、K2、K3、K4键分别选择ADC采样0、1、2、3通道。3.答:PCF8591的控制寄存器

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。