实验五实验报告重点讲义_第1页
实验五实验报告重点讲义_第2页
实验五实验报告重点讲义_第3页
实验五实验报告重点讲义_第4页
实验五实验报告重点讲义_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学号号 14 单片机原理与接口技术实验报告实验项目序号实验五实验项目名称I2C的DA/ADC转换实验姓名 彭任远 专业电子信息工程 班级 14-1BF完成时间2016年 6月1日关键程序段节选:第一小题:void main() EX0=1;IT0=1;EA=1;sen: erflags=0;Start( ); /发送起始信号SendByte(0x90); /写寻址字节10010000 ( 写)cAck( );/检查应答if(erflags) gotosen;/无应答,重来SendByte(0x40); /写入控制字01000000,允许模拟量输出cAck( );/检查

2、应答 if(erflags) gotosen;/无应答,重来while(1) SendByte(a); /拨码开关的值作为DAC的输入数据cAck( );/检查应答 void int0_isr(void) interrupt 0 / 外中断0的中断服务函数if(key1=0) a=c0;if(key2=0) a=c1;if(key3=0) a=c2;if(key4=0) a=c3; 第二小题:while(1) a=RcvByte( );Ack( );/发出应答位ar0=a/16;ar1=a%16; void T0_int(void) interrupt 1 datauchar k;TH0=(6

3、5536-500)/256;TL0=(65536-500)%256;oe=1;/ 关闭2个573输出,防止在送数据时相互影响k =arj;/ 每次显示arj的数据P0 = tablek; / 相应显示数字段码 dx=1;dx=0;/ 锁存段码P0=sled_bitj; / 选择相应数码管位选wx=1;wx=0;/ 锁存位码oe=0;/ 打开2个573三态门,输出段码和位码j+;/ 为下一个显示做准备if(j>=2)j=0; 第三小题:while(1) a=RcvByte( );Ack( );/发出应答位 a=(a*5*1000)/256;ar0=a/1000;ar1=a%1000/100

4、;ar2=a%100/10;ar3=a%10; void T0_int(void) interrupt 1 datauchar k;TH0=(65536-500)/256;TL0=(65536-500)%256;oe=1;/ 关闭2个573输出,防止在送数据时相互影k =arj;P0=tablek;/ 每次显示arj的数据if(j=0)P0=table1k ;/ 相应显示数字段码,table1 数组为带小数点的段码表else P0=tablek;dx=1;dx=0;/ 锁存段码P0=sled_bitj; / 选择相应数码管位选wx=1;wx=0;/ 锁存位码oe=0;/ 打开2个573三态门,

5、输出段码和位码j+;/ 为下一个显示做准备if(j>=4)j=0; 实物测试图:第一小题:(下面三幅图展示了小灯由亮变暗的过程)第二小题:(用无感起子转动滑动变阻器,数码管数值变化)第三小题:(转动变阻器,数码管整数和小数部分都变化)实验五I2C的DA/ADC转换实验一、实验目的1、 掌握I2C的DA/ADC芯片与单片机接口方法;2、 掌握I2C器件编程方法;3、 掌握DAC和ADC的使用方法。二、实验前准备1、 完成作业7;2、 根据实验内容编写好相关程序,并进行Proteus仿真。三、实验内容实验内容为3项,其中第1、2项必做。1、D/A转换实验。设置一个一维数组datauchar

6、c4=0x00,0xa0,0xaa,0xff;按下K1、K2、K3、K4,分别将c0、c1、c2、c3 的值转换成模拟量输出,观察发光二极管D23的亮度。若是仿真,可以通过电压表观察模拟量的电压值。2、单通道采样与动态显示。对AIN0通道进行采样,将采样数据在1、2两位动态显示,调节电位器观察显示数据变化。3、简易电压表实现。对AIN0通道进行采样,将采样数据转换成4位电压值在1、2、3、4四位动态显示,注意只有1位整数3位小数。调节电位器观察显示数据变化。四、实验原理图实验原理图如图3.5所示:图3.5 I2C的DA/ADC转换实验电路原理图电路中,P3.6、P3.4分别连接SCL、SDA,

7、地址引脚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、 简易电压表实现注意在采样数据转

8、换成4位电压值时,中间变量要设置长整形数据类型,并注意小数点设置。六、实验思考题1、 采用I2C接口的ADC有什么好处?答:I²C兼容2线接口是功能强大的总线机制,用于连接微控制器或微处理器与低速外设,基于该总线的最基本的通信方式(即,写入/读取从机寄存器的一个字节)非常直观。并且占用资源少,只用到2根线,占用的IO口少,适用于IO口资源比较紧的场合。2、 如果通过按K1、K2、K3、K4键分别选择ADC采样0、1、2、3通道,程序如何处理?答:用外部中断和位定义,再用if语句判断哪个键按下后进入相应的程序段向PCF8591芯片写入控制字,再发送起始信号和读信号,对控制字中填写的通道进行采样3、 如何利用芯片的通道自动增量的功能,对AIN0、AIN1、AIN2、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论