STC学习:便携式温度采集器
程序设计目标及程序运行效果说明
程序设计目标:本程序是利用温度传感器测量周围环境的实时温度,然后每隔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学习:便携式温度采集器相关推荐
- 8通道温度采集器工作特性介绍
本篇原理须知: PT100原理简介:PT100铂电阻的阻值会随着温度变化,检测电阻即可知道温度,PT后的100表示在0摄氏度的阻值为100Ω. 温度采集实现:温度采集模块(8路温度采集器)+ 传感器( ...
- 郭惠,吴迅.单片机c语言程序设计完全自学手册出版时间,基于单片机的多路温度采集器设计...
时永宝 摘 要:伴随着时代的快速发展,智能将会成为今后的主流方向,按照设定好的思路,在特定的环境里自主工作,不需要人为的操控.在本次研究中,以STC89C51单片机作为核心控制器,用DS18B20温度 ...
- 以太网接口 数据采集 matlab,基于以太网接口并行多通道采集器的设计
1引言随着计算机技术的发展,各种外围接口如并行口.USB接口.以太网接口的相继出现及其性能的日益提高,市场上也随之出现了基于各种接口的便携式数据采集器或采集盒.在各种接口中,以太网接口在传输距离.传输 ...
- 图书查重器 图书外采查重器 图书盘点机 图书采集器 老师的好帮手
您是否遇到过? 重复采购 图书品种太多,很难人工记清楚哪些品种采过,哪些品种没有采过,即使记住某个品种, 也很难判断现有图书库存是多少.不可避免出现重复采购或漏采购的情况.为了解决这个 问题,甚至有携 ...
- 966SEO学习网:火车头采集器使用教程(入门+高级)
火车头采集器技术控使用手册(高级)+火车头采集器使用教程(入门),对应没有基础的童学也是无所谓的,因为有入门学会掌握:学会火车头采集器的使用,实操教您自定义一些格式规则来采集,然后保存到word或者e ...
- 基于8086步进电机定时启动设计-基于8086八路智能抢答器系统控制设计-基于8086八路PT100热敏电阻温度采集-基于8086 8253定时计数器方波发生器仿真-基于8086的1602动态显示仿真
1157基于8086八路智能抢答器系统控制设计-微机原理资料 以8086为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0-S7表示. 设置一个系统清除和抢答控制开关S ...
- 【资料转发分享】基于8086八路智能抢答器系统控制设计、基于8086八路PT100热敏电阻温度采集、基于8086步进电机定时启动设计-仿真设计资料
1157基于8086八路智能抢答器系统控制设计-微机原理资料 以8086为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0-S7表示. 设置一个系统清除和抢答控制开关S ...
- 【STM32学习】(30)STM32实现18B20温度采集(标准库和HAL库实现)
单片机型号:STM32F103 源码下载链接:(2条消息) STM32实现18B20温度采集(标准库和HAL库实现)-电信文档类资源-CSDN下载 现要求完成温度采集并在串口或液晶屏上显示.我们这里使 ...
- 基于51单片机的温度采集与报警系统】
引言 单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将设计一种基于单片机控制的温度器,本温度计属于多功能温度计,可以利用温度传感器对环境温度进行监测和显示,可以通 ...
- HNU小学期计算机系统设计与创新基础训练——基于STC学习板的加密信息存储与游戏操作系统(第一部分设计思路+基础原理)
HNU小学期计算机系统设计与创新基础训练--加密信息存储与游戏操作系统 一. 选题名称 二. 选题背景 三. 实现功能 1. 主要功能 2. 细节设计 四. 设计思路 五. 基本原理 1. 数码管与发 ...
最新文章
- Android 透明度百分比对应的 十六进制
- 【NLP】通俗讲解从Transformer到BERT模型!
- 二十九、深入Python中的collections模块
- iOS---------- @synchronized(self)的用法
- 【转】Cron表达式简介
- “菜鸟”和“大神”de区别
- 基于CUDA的GPU优化建议
- hive 筛选出数字_后悔没早点学会这几个万能的Excel筛选技巧,这些操作技巧得记牢...
- 乔布斯全新采访曝光:吐槽微软,回应争议,还要把Mac扔出窗外,然而…
- 内核编程初学者给“楚狂人”的一封信
- 阿里云的esc服务器介绍
- Unity UI界面的设计(完整版)
- Polar SC的C++实现
- 上海滩玩起了黑科技,苏宁Biu店带你刷脸扫货
- 用什么语言写游戏代码最好?
- linux mint 安装shutter
- SQL Server2008下载链接以及安装教程
- 华为网管地址配置实验
- 河南师范大学计算机学院地址,河南师范大学校区有几个 地址是什么
- matlab 1.封装LPF 巴特沃斯低通滤波器