i2c总线实验报告.docx

上传人:b****6 文档编号:12374065 上传时间:2023-06-05 格式:DOCX 页数:13 大小:19.89KB
下载 相关 举报
i2c总线实验报告.docx_第1页
第1页 / 共13页
i2c总线实验报告.docx_第2页
第2页 / 共13页
i2c总线实验报告.docx_第3页
第3页 / 共13页
i2c总线实验报告.docx_第4页
第4页 / 共13页
i2c总线实验报告.docx_第5页
第5页 / 共13页
i2c总线实验报告.docx_第6页
第6页 / 共13页
i2c总线实验报告.docx_第7页
第7页 / 共13页
i2c总线实验报告.docx_第8页
第8页 / 共13页
i2c总线实验报告.docx_第9页
第9页 / 共13页
i2c总线实验报告.docx_第10页
第10页 / 共13页
i2c总线实验报告.docx_第11页
第11页 / 共13页
i2c总线实验报告.docx_第12页
第12页 / 共13页
i2c总线实验报告.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

i2c总线实验报告.docx

《i2c总线实验报告.docx》由会员分享,可在线阅读,更多相关《i2c总线实验报告.docx(13页珍藏版)》请在冰点文库上搜索。

i2c总线实验报告.docx

i2c总线实验报告

竭诚为您提供优质文档/双击可除

i2c总线实验报告

 

  篇一:

接口实验报告

  接口实验课程结课报告

  学号、专业:

控制工程1508202024

  姓名:

**

  报告题目:

基于sTm32的实时时钟设计

  指导教师:

潘明

  所属学院:

电子工程与自动化学院

  桂林电子科技大学研究生院

  20XX年6月4日

  摘要

  本设计以sTm32F103芯片为控制核心,利用其内部的RTc设计了一个实时时钟。

本系统主要由以下几个部分组成:

微处理器,实时时钟模块,显示模块,调节模块。

其中mcu采用sTm32F103芯片,实时时钟采用RTc实时时钟,显示模块为4.3寸的TFTLcD显示屏,采用独立按键调节。

另外整个系统是在系统软件控制下工作的,能实现年、月、日、时、分、秒的实时显示及闹钟功能,并增加了温度显示。

  关键字:

sTm32F103;实时时钟(RTc);TFTLcD显示屏

  Abstract

  ThisdesignwithsTm32F103chipasthecontrolcore,usingitsinternalRTcdesignareal-timeclock.Thesystemismainlycomposedofthefollowingparts:

microprocessor,real-timeclockmodule,displaymodule,controlmodule.mcuusingsTm32F103chip,real-timeclockusingRTc,displaymoduleusethe4.3inchTFTLcDdisplayscreen,usingindependentbuttonstoadjust.Inaddition,thewholesystemisunderthecontrolofthesystemsoftware,andaccomplishtheyear,month,day,hour,minute,secondreal-timedisplayandalarmclockfunction,andaddedtotemperaturedisplay.

  Keywords:

sTm32F103;realtimeclock(RTc);TFTLcDdisplayscreen

  目录

  摘要.......................................................................IAbstract.....................................................................II

  第一章绪论..................................................................1

  1.1实时时钟研究的背景和意义...............................................1

  第二章系统总体方案设计.......................................................3

  2.1系统结构...............................................................3

  2.2系统的基本原理.........................................................3

  2.3系统各单元模块的功能介绍...............................................3

  第三章硬件单元简介...........................................................4

  3.1sTm32F103简介.........................................................4

  3.3TFTLcD简介...........................................................10

  3.4Fsmc简介.............................................................11

  3.5Ds18b20简介..........................................................12

  第四章软件设计流程图........................................................13

  4.1主程序流程图..........................................................13

  4.2RTc初始化流程图......................................................14

  4.3TFTLcD的使用流程.....................................................14

  4.4Ds18b20温度读取流程图................................................15

  第五章硬件单元电路设计......................................................16

  5.1电源模块..............................................................16

  5.2复位电路模块..........................................................16

  5.3外部时钟模块..........................................................17

  5.4外部晶振模块..........................................................17

  5.5JTAg下载模块.........................................................17

  5.6主控制器模块..........................................................18

  5.7bootLoader配置模块...................................................18

  第六章运行与调试............................................................19

  参考文献.....................................................................20

  基于sTm32实时时钟设计

  第一章绪论

  1.1实时时钟研究的背景和意义

  近年来,随着电子产品的发展,随着社会竞争的激烈,人们对数字时钟的要求越来越高。

时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间,忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。

但是,一旦重要事情,一时的耽误可能酿成大祸。

因此从人们的日常生活到工厂的自动控制,从民用时钟到科学发展所需的时钟,现代人对时间的精度和观察时间的方便有了越来越多的需求。

人们要求随时随地都能快速准确的知道时间,并且要求时钟能够更直观、更可靠、价格更便宜。

这种要求催生了新型时钟的产生。

除此之外,由于对社会责任的更多承担,人们要求所设计的产品能够产生尽量少的垃圾、能够消耗尽量少的能量。

因此人们对时钟的又有了体积小、功耗低的要求。

传统的机械表由于做工的高精细要求,造价的昂贵,材料的限制,时间指示精度的限制,使用寿命方面,以及其它方面的限制,已不能满足人们的需求。

另外,近些年随着科技的发展和社会的进步,人们对时钟的要求也越来越高,而使得新型电子钟表成了大势所趋。

  20世纪末,电子技术获得了飞速的发展,在其推动下微机开始向社会各个领域渗透同时大规模集成电路获得了高速发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

另外单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。

从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。

这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

这正符合了现代时钟的设计要求。

另一方面,电子技术的告诉发展,有力地推动了社会生产力的发展和社会信息化程度的提高,这些使时间显得更加宝贵,从时间就是生命,时间就是效率这些名言警句中就能看出。

数字钟是采用数字电路实现对时、分、秒、数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英

  篇二:

标准实验报告

  电子科技大学电子工程学院

  实验报告

  实验名称现代电子技术综合实验

  姓名:

赵敏

  学号:

20XX029120XX2

  评分:

  教师签字

  电子科技大学教务处制

  电子科技大学

  实验报告

  学生姓名:

赵敏学号:

20XX029120XX2指导教师:

王军实验地点:

331实验时间:

(双周)周二1,2节

  一、实验室名称:

电子技术综合实验室

  二、实验项目名称:

温度电压采集控制设计与实现

  三、实验学时:

32

  四、实验目的与任务:

  1、熟悉系统设计与实现原理

  2、掌握KeILc51的基本使用方法

  3、熟悉smARTsopc实验箱的应用

  4、连接电路,编程调试,实现各部分的功能

  5、完成系统软件的编写与调试

  五、实验器材

  1、pc机一台

  2、示波器、smARTsopc实验箱一套

  六、实验原理、步骤及内容

  

(一)试验要求

  基本要求:

  

(1)程序运行后,在8位数码管的高2位显示自己的学号;低4位显示“秒表计时器”(定时中断实现),显示从“00.00”开始,即00

  秒00(1/100秒,即10ms)。

  建议:

用软件延时和定时中断分别实现。

  

(2)当“秒表计时器”显示到“10.00”(即10秒)时,保持10.00显示3秒后启动TLc549A/D转换器进行电压测量(输入电压来自电位器,调节范围0~2.49V,单位:

V),并将电压值显示在8位数码管的低3位。

高2位仍显示学号。

  (3)根据显示的电压值来调节一个发光二极管指示灯的亮度(如LeD1),即电压为零时,完全不亮,电压为最大2.49V时,全亮。

要求能够线性调节,即A/D转换器TLc549为8bit,理论上可对应256级亮度。

提示:

用pwm控制,pwm波频率适当即可,建议取2.56ms或25.6ms的周期,亮度等级为25级(或者小于25)。

  (4)调节电位器,若电压超过2.00V,则声光报警,即用另一个发光二极管指示灯(如LeD2)闪烁(亮0.1s、灭0.9s);蜂鸣器响(用500hz方波驱动);若输入电压低于2.00V后,则撤销声光报警。

  (5)设置一个按键,当按下该按键时,蜂鸣器响0.1秒(按键提示音),同时启动Lm75A数字温度传感器完成温度的测量,并将温度值(2位整数+1位小数)显示在低3位数码管上。

高2位仍显示学号。

  (6)当再次按下该键时,蜂鸣器响0.1秒,同时再回到电压测量状态。

  扩展要求:

  (7)对电压测量值进行简单的数据处理,如去除尖峰干扰的平均滤波:

每12个测量值数据为一组,去掉最大值和最小值后的10个测量值进行算术平均后,作为显示值。

为不影响测量结果的实时性,还可进行滚动滤波。

  

(二)实验内容

  1、硬件设计

  2、各模块硬件原理

  数码管动态扫描原理:

  七段式LeD数码管是常见的电子设备显示器件,能够显示数字0~9以及部分字母和符号。

实际上的数码管常常会附加一个小数点,作为第八段。

  数码管分为静态和动态两大类,每一类又有共阳和共阴之分。

静态数码管的特点

  是驱动方法简单、亮度高,但是连线比较多。

动态数码管常常以多位联体的形式提供,连线较少,但是要用动态扫描的方法驱动。

为了获得足够的亮度,限流电阻取值常常比较(:

i2c总线实验报告)小。

  蜂鸣器工作原理:

  定时中断是单片机里最常见的中断类型。

8051单片机的T0(或T1)在溢出时都可以触发中断。

如果设置中断使能寄存器Ie(sFR地址:

A8h)中的eA和eT0(或eT1)置位,则只要定时器溢出就会触发中断。

定时中断被触发时,cpu会将下一条指令的存储地址压入堆栈,然后由硬件自动生成一条长跳转指令,跳到中断入口“8n+3”处继续执行,n为中断向量号

  I2c工作原理:

  Ic总线只需要由两根信号线组成,一根是串行数据线sDA,另一根是串行时钟线scL。

I2c总线是双向传输的总线,因此主机和从机都可能成为发送器和接

  篇三:

51单片机实现I2c总线的读写

  51

  单

  片

  机

  实

  现

  I2c

  总

  线

  的

  读

  写

  技术

  类

  别:

  单片

  机发布时间:

20XX-09-0319:

32:

46

  I2c总线包括scL,sDA两根信号线,其中scL是时钟线,sDA是数据线。

对于I2c总线的操作,主要有以下几个命令:

  1、开始命令:

  I2c总线开始的操作过程是通过scL为高的时候sDA有个下降沿的过程;

  2、停止命令:

  I2c停止的的操作过程是通过scL为高的时候sDA有个上升沿的过程;

  3、读写数据

  I2c读写每一位数据都是在scL为高的时候完成的,读写每一位数据的时候scL都有一个高脉冲的过程,也就是说,在scL为高的时候我们读写sDA的值,这意味着在scL拉高之前,sDA必须为一稳定的值,不然读写就不准确;

  4、写完从器件之后等待从器件的应答:

  在主器件完成对从器件的写操作时候(每次会有一个字节的数据),主器件会等待从器件发送指示信号,这个指示信号是说从器件已经接受到了主器件的数据,这是由从器件的硬件来完成的,不需要主器件来软件操作,只需要等待;

  4、主器件读完数据后向从器件发送应答信号:

  这其实包括两种情况,一种是主器件读完后还要继续读就要发送一个继续读的信号(其实就是发送0),另一种就是不再继续读了,就要发送停止读信号(其实就是发送1)。

  #defineucharunsignedchar

  #defineuintunsignedint

  voiddelay()

  {

  uinti;

  for(i=0;i  for(i=0;i  }

  //开始

  voidI2c_sTART()

  {

  sDA=1;

  scL=1;

  delay();

  sDA=0;

  delay();

  }

  //停止

  voidI2c_sTop()

  {

  sDA=0;

  scL=1;

  delay();

  sDA=1;

  delay();

  }

  //写完等待从器件应答

  bitwrite_AcK(void)

  {

  uchari;

  scL=1;

  delay();

  i=sDA;

  scL=0;

  delay();

  if(i==1)return0;

  elsereturn1;

  }

  //读完发送停止读的信号

  voidnAcK()

  {

  ucharj;

  sDA=1;

  delay();

  scL=1;

  delay();

  while((sDA==0)

  scL=0;

  delay();

  }

  //写字节

  voidI2c_writebyte(uchardat_w)

  {

  uinti;

  uchartmp;

  tmp=dat_w;

  scL=0;

  delay();

  for(i=0;i  {

  if((tmp  elsesDA=0;

  delay();

  scL=1;

  delay();

  scL=0;

  delay();

  }

  sDA=1;

  delay();

  }

  //读字节

  ucharI2c_readbyte()

  {

  uchari;

  uchardat_r,k;

  scL=0;

  delay();

  sDA=1;

  delay();

  for(i=0;i  {

  scL=0;

  delay();

  scL=1;

  delay();

  k=sDA;

  dat_r=(dat_r  scL=0;

  delay();

  }

  returndat_r;

  }

  //写地址及数据

  voidI2c_write_add(ucharslave_add,ucharbyte_add,uchardat_w){

  I2c_sTART();

  I2c_writebyte(slave_add);

  write_AcK();

  I2c_writebyte(byte_add);

  write_AcK();

  I2c_writebyte(dat_w);

  write_AcK();

  I2c_sTop();

  }

  //读地址的数据

  ucharI2c_read_add(ucharslave_add,ucharbyte_add)

  {

  uchardat_r;

  I2c_sTART();

  I2c_writebyte(slave_add);

  write_AcK();

  I2c_writebyte(byte_add);

  write_AcK();

  I2c_sTART();

  I2c_writebyte((slave_add+1));

  write_AcK();

  dat_r=I2c_readbyte();

  nAcK();

  I2c_sTop();

  returndat_r;

  }

  voidmain()

  {

  sDA=1;

  scL=1;

  I2c_write_add(0xa0,0x23,0x51);

  p1=I2c_read_add(0xa0,0x23);

  while

(1);

  }

  很简单的实验,可以在proteus中仿真实验

  

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2