收藏 分销(赏)

唐梦雪--实验五--I2C的DA讲课稿.doc

上传人:丰**** 文档编号:3819022 上传时间:2024-07-21 格式:DOC 页数:9 大小:227.50KB 下载积分:6 金币
下载 相关 举报
唐梦雪--实验五--I2C的DA讲课稿.doc_第1页
第1页 / 共9页
唐梦雪--实验五--I2C的DA讲课稿.doc_第2页
第2页 / 共9页


点击查看更多>>
资源描述
唐梦雪 实验五 I2C的DA 精品文档 实验五 I2C的DA/ADC转换实验 一、实验目的 1、 掌握I2C的DA/ADC芯片与单片机接口方法; 2、 掌握I2C器件编程方法; 3、 掌握DAC和ADC的使用方法。 二、实验前准备 1、 完成作业7; 2、 根据实验内容编写好相关程序,并进行Proteus仿真。 程序和仿真图: #include<reg52.h> #include<intrins.h> #include"I2C.h" #define uchar unsigned char #define uint unsigned int #define _Nop( ) _nop_( ) sbit oe=P1^3; sbit dula=P1^4; sbit wela=P1^5; data uchar j; uchar code sled_bit[]={0xfe,0xfd};//,0xfb,0xf7};//,0xef,0xdf,0xbf,0x7f}; data uchar disp[2]={16,16}; uchar code table[18]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; void main() { data uchar a; oe=0; P0=0xff; TMOD=0x01; TH0=(65536-500)/256; TL0=(65536-500)%256; ET0=1; EA=1; TR0=1; sen:erflags=0; Start(); SendByte(0x90); cAck(); if(erflags)goto sen; SendByte(0x00); cAck(); if(erflags)goto sen; sen1:Start(); SendByte(0x91); cAck(); if(erflags)goto sen1; a=RcvByte( ); Ack( ); while(1) { a=RcvByte( ); Ack( ); disp[0]=a/16; disp[1]=a%16; } } void T0_int(void) interrupt 1 { uchar k; TH0=(65536-1000)/256; TL0=(65536-1000)%256; 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转换实验。 设置一个一维数组data uchar c[4]={0x00,0xa0,0xaa,0xff};按下K1、K2、K3、K4,分别将c[0]、c[1]、c[2]、c[3] 的值转换成模拟量输出,观察发光二极管D23的亮度。若是仿真,可以通过电压表观察模拟量的电压值。 2、单通道采样与动态显示。 对AIN0通道进行采样,将采样数据在1、2两位动态显示,调节电位器观察显示数据变化。 3、简易电压表实现。 对AIN0通道进行采样,将采样数据转换成4位电压值在1、2、3、4四位动态显示,注意只有1位整数3位小数。调节电位器观察显示数据变化。 1.2. 3. 四、实验原理 实验原理图 电路中,P3.6、P3.4分别连接SCL、SDA,地址引脚A2A1A0=000,PCF8591的特征编码为1001,电路中PCF8591的地址为1001000。4路模拟输入,AIN0连接一个10KΩ电位器的中心抽头,调节电位器可改变AIN0的模拟电压,AIN1连接电源,AIN2、AIN3连接地。 PCF8591的15脚AOUT是DAC输出的模拟量, AOUT引脚通过50Ω电阻、LED与电源连接,输出模拟量越小,LED越亮。注意在HNIST-2型实验装置中,将J16的1、2脚短路。 五、软件设计思想 1、 编程思路 仿照例题编写程序,采用例题的I2C的相关函数。动态显示采用实验四的方法,只将显示数据送人相应显示数组元素。 2、 简易电压表实现 注意在采样数据转换成4位电压值时,中间变量要设置长整形数据类型,并注意小数点设置。 六、实验思考题 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的控制寄存器中的D2为自动增量允许位,将D2置1 ,每对一个通道转换后自动切换到下一通道进行转换,就可以对AIN0、AIN1、AIN2、 AIN3通道轮流进行采样。 七.实验心得与体会 此次实验我自认为做的没有以前几次那么顺利,实验的仿真图比以往的仿真图都复杂些,单是在电脑上画仿真图我花了将近一个小时,这说明我对单片机的熟悉程度低,平常没有花时间在这上面。这是本学期的最后一次实验,让我又爱又恨。 不可否认的是在实验中还是学到了不少东西,和同组的同学讨论,不断修改程序,最终做出了成果,这是一个有意义的过程。现在的实验对动手能力要求不高,主要还是紧抓理论知识,充实自己,期待下一次的实验。 学号 14142200296 序号 16 单片机原理与接口技术 实验报告 实验项目序号 五 实验项目名称 I2C的DA/ADC转换实验 姓 名 唐梦雪 专 业 电子信息工程 班 级 三班 完成时间 2016.5.22 收集于网络,如有侵权请联系管理员删除
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服