程序设计目标及程序运行效果说明
程序设计目标:本程序是利用温度传感器测量周围环境的实时温度,然后每隔6秒向24C02的0x00地址写入温度数据,记录下温度温度。写入数据的地址,写入非易失存储器的温度数据以及实时温度分别显示在数码管上。通过按键控制启动或暂停温度数据的采集和写入,以及温度数据的读取。

程序运行效果说明:默认下载后数码最左边两位显示00,中间三位显示000,最右边三位显示实时温度数据。数码管左边2位显示存储温度数据的24C02地址,数码管中间三位为写入24C02非易失存储器的温度数据,数码管右边三位显示温度传感器测量的实时温度数据。每隔6秒,温度传感器测得的实时温度数据写入24C02非易失存储器中,然后读出来并显示在数码管中间三位上面,数码管最左边两位的24C02地址加1。当按下key1键时,最右边的一个(第8个)LED灭,实时温度数据采集停止,温度数据停止写入24C02非易失存储器。在实时温度数据采集停止的状态下,按下key2键,24C02存储器内地址减1,并将此地址写入的温度数据读出。按下key3键,24C02存储器内地址加1,并将此地址写入的温度数据读出;再次按下key1键,最右边的一个(第8个)LED亮,实时温度数据采集开启,温度数据可以写入24C02非易失存储器。

程序相关电路及工作原理说明
非易失性存储器(nonvolatile memory)是所有形式的固态(没有可动部分)存储器的一个一般的术语,它不用定期地刷新存储器内容。这包括所有形式的只读存储器(ROM),像是可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦除只读存储器(EEPROM)和闪存。在许多常见的应用中,微处理器要求非易失存储器来存放其可执行代码、变量和其他暂态数据(例如采集到的温度、光照等数据)。
1.24C02工作电路及工作原理
本实验采用24C02芯片,24C02通过IIC_SCL和IIC_SDA与单片机相连,单片机以IIC总线的方式对24C02进行读写。24C02是一个2K位串行E2PROM,内部含有256个8位字节。

(1)管脚配置

(2)管脚描述

(3)寻址方式
寻址信号由一个字节构成,高7位为地址位,最低位为方向位,用以表明主机与从器件的数据传送方向。方向位位0,表明主机接下来对从器件进行写操作;方向位位1,表明主机接下来对从器件进行读操作。A0,A1和A2对应器件的管脚1,2和3;a8,a9和a10对应存储阵列地址字地址;

(4)读/写时序图
写一个字节时序

读一个字节时序

如图,写一个字节时序,第一个DEV SEL是器件选择信号,器件选择的范围为(000~111),总共可以选择8个24C02芯片器件。但是本实验只用到了1个24C02芯片,所以对应的器件管脚地址A2A1A0为000。第二个信号BYTE ADDR是地址信号,表示要对哪一个地址进行操作,第三个DATA IN则是写入的数据。而读操作则是多了一步,DEV SEL和BYTE ADDR后,还有一个DEV SEL,但此信号的最后一位为高,表示是读操作,随后从机会把相应地址的数据发送给主机。
2.I2C总线介绍
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I2C总线硬件结构图如下:

SCL是时钟线,SDA是数据线

I2C总线信号包括有,启始信号,停止信号和应答信号,在程序用分别用函数void start()、void stop()、void respons()表示。24C02的存储空间为2K,每一次写和读操作都只能操作已选定的对应24C02芯片的地址数据。要切换操作的芯片,需要重新发送寻址信号,在void write_add(uchar addr,uchardate)函数中,第一个寻址信号writebyte(0xa0),已经固定了本程序只能在第0个芯片进行操作(注:0xa0化为二进制为1010000,其中,前4位1010是固定不能改变的,最后一位0代表写操作,1代表读操作,而中间三位则是代表不同芯片地址的编号),若要改变需要操作的芯片,则只需改变中间三位即可。
(1)I2C位传输 数据传输
SCL为高电平时,SDA线若保持稳定,那么SDA上是在传输数据bit; 若SDA发生跳变,则用来表示一个会话的开始或结束 数据改变:SCL为低电平时,SDA线才能改变传输的bit

(2)I2C开始和结束信号
开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。 结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。

(3)I2C应答信号
主设备每发送完8bit数据后等待从设备的ACK。 即在第9个clock,从IC发ACK,SDA会被拉低。 若没有ACK,SDA会被置高,这会引起Master发生RESTART或STOP流程。

3.测温电路及其工作原理

温度传感器工作原理:热敏电阻随温度呈线性变化,通过AD采集热敏电阻的输出值,采集的温度AD值,首先把10位转换成8位AD值,然后再通过查找对应的表来获取温度。

测试方法
(1)用STC ISP打开并下载HEX文件;
(2)默认下载后数码最左边两位显示0,中间三位显示0,最右边三位显示实时温度数据;
(3)数码管左边2位显示存储温度数据的地址,数码管中间三位显示写入非易失存储器的温度数据,数码管右边三位显示温度传感器测量的实时温度数据。每隔6秒,温度传感器测得的实时温度数据写入非易失存储器,并显示在数码管中间三位上面,数码管最左边两位的地址加1。当按下key1键时,最右边的一个(第8个)LED灭,实时温度数据采集停止,温度数据停止写入24C02非易失存储器。在实时温度数据采集停止的状态下,按下key2键,24C02存储器内地址减1,并将此地址写入的温度数据读出。按下key3键,24C02存储器内地址加1,并将此地址写入的温度数据读出;再次按下key1键,最右边的一个(第8个)LED亮,实时温度数据采集开启,温度数据可以写入24C02非易失存储器。

STC学习:便携式温度采集器相关推荐

  1. 8通道温度采集器工作特性介绍

    本篇原理须知: PT100原理简介:PT100铂电阻的阻值会随着温度变化,检测电阻即可知道温度,PT后的100表示在0摄氏度的阻值为100Ω. 温度采集实现:温度采集模块(8路温度采集器)+ 传感器( ...

  2. 郭惠,吴迅.单片机c语言程序设计完全自学手册出版时间,基于单片机的多路温度采集器设计...

    时永宝 摘 要:伴随着时代的快速发展,智能将会成为今后的主流方向,按照设定好的思路,在特定的环境里自主工作,不需要人为的操控.在本次研究中,以STC89C51单片机作为核心控制器,用DS18B20温度 ...

  3. 以太网接口 数据采集 matlab,基于以太网接口并行多通道采集器的设计

    1引言随着计算机技术的发展,各种外围接口如并行口.USB接口.以太网接口的相继出现及其性能的日益提高,市场上也随之出现了基于各种接口的便携式数据采集器或采集盒.在各种接口中,以太网接口在传输距离.传输 ...

  4. 图书查重器 图书外采查重器 图书盘点机 图书采集器 老师的好帮手

    您是否遇到过? 重复采购 图书品种太多,很难人工记清楚哪些品种采过,哪些品种没有采过,即使记住某个品种, 也很难判断现有图书库存是多少.不可避免出现重复采购或漏采购的情况.为了解决这个 问题,甚至有携 ...

  5. 966SEO学习网:火车头采集器使用教程(入门+高级)

    火车头采集器技术控使用手册(高级)+火车头采集器使用教程(入门),对应没有基础的童学也是无所谓的,因为有入门学会掌握:学会火车头采集器的使用,实操教您自定义一些格式规则来采集,然后保存到word或者e ...

  6. 基于8086步进电机定时启动设计-基于8086八路智能抢答器系统控制设计-基于8086八路PT100热敏电阻温度采集-基于8086 8253定时计数器方波发生器仿真-基于8086的1602动态显示仿真

    1157基于8086八路智能抢答器系统控制设计-微机原理资料 以8086为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0-S7表示. 设置一个系统清除和抢答控制开关S ...

  7. 【资料转发分享】基于8086八路智能抢答器系统控制设计、基于8086八路PT100热敏电阻温度采集、基于8086步进电机定时启动设计-仿真设计资料

    1157基于8086八路智能抢答器系统控制设计-微机原理资料 以8086为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0-S7表示. 设置一个系统清除和抢答控制开关S ...

  8. 【STM32学习】(30)STM32实现18B20温度采集(标准库和HAL库实现)

    单片机型号:STM32F103 源码下载链接:(2条消息) STM32实现18B20温度采集(标准库和HAL库实现)-电信文档类资源-CSDN下载 现要求完成温度采集并在串口或液晶屏上显示.我们这里使 ...

  9. 基于51单片机的温度采集与报警系统】

    引言 单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将设计一种基于单片机控制的温度器,本温度计属于多功能温度计,可以利用温度传感器对环境温度进行监测和显示,可以通 ...

  10. HNU小学期计算机系统设计与创新基础训练——基于STC学习板的加密信息存储与游戏操作系统(第一部分设计思路+基础原理)

    HNU小学期计算机系统设计与创新基础训练--加密信息存储与游戏操作系统 一. 选题名称 二. 选题背景 三. 实现功能 1. 主要功能 2. 细节设计 四. 设计思路 五. 基本原理 1. 数码管与发 ...

最新文章

  1. Android 透明度百分比对应的 十六进制
  2. 【NLP】通俗讲解从Transformer到BERT模型!
  3. 二十九、深入Python中的collections模块
  4. iOS---------- @synchronized(self)的用法
  5. 【转】Cron表达式简介
  6. “菜鸟”和“大神”de区别
  7. 基于CUDA的GPU优化建议
  8. hive 筛选出数字_后悔没早点学会这几个万能的Excel筛选技巧,这些操作技巧得记牢...
  9. 乔布斯全新采访曝光:吐槽微软,回应争议,还要把Mac扔出窗外,然而…
  10. 内核编程初学者给“楚狂人”的一封信
  11. 阿里云的esc服务器介绍
  12. Unity UI界面的设计(完整版)
  13. Polar SC的C++实现
  14. 上海滩玩起了黑科技,苏宁Biu店带你刷脸扫货
  15. 用什么语言写游戏代码最好?
  16. linux mint 安装shutter
  17. SQL Server2008下载链接以及安装教程
  18. 华为网管地址配置实验
  19. 河南师范大学计算机学院地址,河南师范大学校区有几个 地址是什么
  20. matlab 1.封装LPF 巴特沃斯低通滤波器

热门文章

  1. MySql 把B表数据插入到A表中
  2. CentOS7搭建本地yum源之http服务
  3. Samba 共享服务
  4. 安全辅助 冰刃 IceSword 1.2 中文版 修正号061022
  5. 关于URL路径的基本使用
  6. ubuntn安装qt5.12.10
  7. java socket网络编程
  8. 数据更新(2020-4-1)
  9. 【unity】Vector3.AngleCrossDot
  10. Linux 开源 ssh 工具,【原创开源】jssh linux scp ssh 免密登录工具