单片机实验报告十一_第1页
单片机实验报告十一_第2页
单片机实验报告十一_第3页
单片机实验报告十一_第4页
单片机实验报告十一_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

曲 靖 师 范 学 院 物 理 系单 片 机 原 理 及 接 口 技 术实 验 报 告实验题目:IIC实验专 业:电子信息科学与技术 班级学号:2014123102姓 名:刘林军组 别:A组实验室时间:2016 年 12 月 2 日预习报告:实验目的及要求了解IIC总线的基本原理内容,掌握IIC总线的实验原理。实验仪器及用具单片机实验板两块,程序下载线一根,计算机一台。需要安装Protel99,KeilC51或伟福6000,Easy51Pro等软件。实验原理及内容:IIC总线是一种串行总线,是具备多主机系统所需的包括总线裁决和高低速器件同步功能的高性能串行总线。IIC总线只有两根双向信号线,一根是数据线SDA,一根是时钟线SCL。IIC总线通过上拉电阻接正电源。当总线空闲时,两根线均为高电平。每个接到IIC总线上的器件都有唯一的地址。在多主机系统中,可能同时有几个主机企图启动总线传送数据。为了避免混乱,IIC总线要通过总线仲裁,以决定由哪一台主机控制总线。IIC总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。24C01/02/04/08/016是低工作电压的1k/2k/4k/8k/16k位串行电可擦除只读存储器。其结构框图如下:器件操作:(1)时钟及数据传输:SDA引脚通常被外围器件拉高。SDA引脚的数据应在 SCL 为低时变化;当数据在SCL 为高时变化,将视为下文所述的一个起始或停止命令。(2)起始命令:当 SCL 为高,SDA由高到低的变化被视为起始命令,必须以起始命令作为任何一次读/写操作命令的开始。(3)停止命令:当 SCL为高,SDA 由低到高的变化被视为停止命令,在一个读操作后,停止命令会使 EEPROM 进入等待态低功耗模式。(4)应答:所有的地址和数据字节都是以 8 位为一组串行输入和输出的。每收到一组 8 位的数据后,EEPROM都会在第9 个时钟周期时返回应答信号。每当主控器件接收到一组8 位的数据后,应当在第9 个时钟周期向EEPROM 返回一个应答信号。收到该应答信号后,EEPROM 会继续输出下一组8 位的数据。若此时没有得到主控器件的应答信号,EEPROM 会停止读出数据,直到主控器件返回一个停止命令来结束读周期。(5)等待模式:24C01/02/04/08/16特有一个低功耗的等待模式。可以通过以下方法进入该模式:(a)上电 (b)收到停止位并且结束所有的内部操作后。(6)器件复位:在协议中断、下电或系统复位后,器件可通过以下步骤复位:a.连续输入 9 个时钟;b.在每个时钟周期中确保当SCL 为高时SDA 也为高;c.建立一个起始条件。实验程序:#include#define uchar unsigned char#define uint unsigned intuchar dispbitcode=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar dispbuf4,dispbuf04; sbit scl=P24;sbit sda =P25;void Delay(unsigned int m) unsigned int i,j; for (i=0; im; i+) for(j=0; j125;j+) ; void delaym(uchar delaym_temp)uchar i;for(i=0;idelaym_temp;i+);void Display() P1=dispbitcodedispbuf3; P2=0x01; Delay(1); P1=0xff; P1=dispbitcodedispbuf2; P2=0x02; Delay(1); P1=0xff; P1=dispbitcodedispbuf1; P2=0x04; Delay(1); P1=0xff; P1=dispbitcodedispbuf0; P2=0x08; Delay(1); P1=0xff; void sta(void)delaym(10);sda=1;delaym(10);scl=1;delaym(10);sda=0;delaym(10);scl=0;void stop(void) delaym(1);sda=0;/delaym(1);scl=1;delaym(1);sda=1;delaym(1);scl=0;uchar cack(void) uchar k;k=0x00;sda=1; scl=1;if(sda=1)k=0xff;scl=0;return k;void mnack(void)/sda=1;delaym(1);scl=1;delaym(1);scl=0;delaym(1);sda=0;void wrbyt(uchar date_w24)uchar i,j;j=0x80;for(i=0;i1;uchar rdbyt(void)uchar i,j;j=0x00;for(i=0;i8;i+)sda=1; scl=1;if(sda=0)j=j&0xfe;elsej=j|0x01;if(i!=7)j=j1;scl=0;return j;main(void)uchar num,num1;dispbuf00=6;dispbuf01=1;dispbuf02=0;dispbuf03=2;for(num=0;num4;num+)sta();wrbyt(0xa0);/24C02if(cack()!=0)break;wrbyt(num);/if(cack()!=0)break;wrbyt(dispbuf0num);if(cack()!=0)break;stop();Delay(20);while(1)for(num1=0;num14;num1+)sta();delaym(1);wrbyt(0xa0);delaym(1);if(cack()!=0)break;wrbyt(num1);delaym(1);if(cack()!=0)break;sta();wrbyt(0xa1);if(cack()!=0)break;dispbufnum1=rdbyt();mnack(); stop();/Delay(20);Display(); 教师签字: 年 月 日实验结果和讨论:在SCL输入时钟信号的上升沿将数据送入EEPROM器件,并在时钟的下降沿将数据读出,SDA引脚可实现双向串行数据传输。该引脚为开漏输出,可与其他多个开漏输出器件或开集电极器件线相连。24C01/02/04/08/16具有用于硬件数据写保护功能的引脚,当该引脚接GND时,允许正常的读写操作,当该引脚接VCC时,芯片启

温馨提示

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

评论

0/150

提交评论