无线遥控的电子时钟带温度显示(5)

2019-08-01 22:46

九江学院学士学位论文

Copy Scratchpad(复制暂存存储器)[48h] 这条命令把暂存器的内容拷贝到DS18B20的E2存储器里,即把温度报警触发字节存入非易失性存储器里。如果总线控制器在这条命令之后跟着发出读时间隙,而DS18B20又正在忙于把暂存器拷贝到E2存储器,DS18B20就会输出一个“0”,如果拷贝结束的话,DS18B20 则输出“1”。如果使用寄生电源,总线控制器必须在这条命令发出后立即起动强上拉并最少保持10ms。

Convert T(温度变换)[44h] 这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后DS18B20保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙,而DS18B20又忙于做时间转换的话,DS18B20将在总线上输出“0”,若温度转换完成,则输出“1”。如果使用寄生电源,总线控制器必须在发出这条命令后立即起动强上拉,并保持500ms。

Recall E2(重新调整E2)[B8h] 这条命令把贮存在E2中温度触发器的值重新调至暂存存储器。这种重新调出的操作在对DS18B20上电时也自动发生,因此只要器件一上电,暂存存储器内就有了有效的数据。在这条命令发出之后,对于所发出的第一个读数据时间片,器件会输出温度转换忙的标识:“0”=忙,“1”=准备就绪。

Read Power Supply(读电源)[B4h] 对于在此命令发送至DS18B20之后所发出的第一读数据的时间片,器件都会给出其电源方式的信号:“0”=寄生电源供电,“1”=外部电源供电。

(4)处理数据

DS18B20的高速暂存存储器由9个字节组成,其分配如图1-3所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后

图1-3 高速暂存存储器分配图

表1-1是DS18B20温度采集转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于或等于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。温度转换计算方法举例:

例如,当DS18B20采集到+125℃的实际温度后,输出为07D0H,则:

实际温度=07D0H╳0.0625=2000╳0.0625=1250C。例如当DS18B20采集到-55℃的实际温度后,输出为FC90H,则应先将11位据位取反加1得370H(符号位不变,也不作为计算),则:

实际温度=370H╳0.0625=880╳0.0625=550C。

17

无线遥控的电子时钟带温度显示

表1-1 DS18B20温度数据表 温度/C +125 +25.0625 +10.125 +0.5 0 -0.5 -10.125 -25.625 -55 模块原理图

0二进制表示 符号位(5位) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 数据位(11位) 十六进制表示 07D0H 0191H 00A2H 0008H 0000H FFF8H FF5EH FE6FH FC90H

18

九江学院学士学位论文

3. 4 系统原理图

第4章 软件设计流程

在软件设计过程中,采用模块化设计思想,利用“化整为零”、“化零为整”的方法,分别设计各个子模块的流程图,然后按照流程图去编写对应程序,并在此过程中,分模块进行编译与调试。

4.1 发射模块编码

在发射模块编码过程中,一定要严格按照NEC协议的标准进行设计。因此,在变吗之前,必须理解并掌握NEC编解码的定义。

4.1.1 红外遥控编码思想

19

无线遥控的电子时钟带温度显示

遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G 组成发射电路为例说明编码原理, 我们使用的超薄型红外线遥控器使用的就是6121 编码。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”, 其波形如图4-1 所示:

图4-1 数据波形编码

上述“0”和“1”组成的32 位二进制码经38kHz 的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射。

UPD6121G 产生的遥控编码是连续的32 位二进制码组,其中前16 位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰,如我们可以同时使用电视机、机顶盒、功放等遥控器,但它们不会产生误触发。该芯片的用户识别码固定为十六进制01H;后16位为8 位操作码(功能码)及其反码。UPD6121G 最多额128 种不同组合的编码。

遥控器在按键按下后,周期性地发出同一种32 位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms 之间。如下图4-2所示:

图4-2 遥控编码波形

当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8 位地址码(9ms~18ms),高8

20

九江学院学士学位论文

位地址码(9ms~18ms),8 位数据码(9ms~18ms)和这8 位数据的反码(9ms~18ms)组成。如果键按下超过108ms 仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。代码格式(以接收代码为准,接收代码与发射代码反向。

1)位定义 如图4-3

图4-3 “0”码编码波形

2)单发代码格式 如图4-4

图4-4 32位码编码波形

3)连发代码格式 如图4-5

图4-5 重复码编码波形

由于本设计中,我们需要自己设计并制作红外遥控系统,并在编码中使用NEC协议。

4.1.2 软件程序资源分配

在程序开始以前,首先要根据电路及设计的需要进行必要的位定义变量、无符号变量、符号变量以及数据表格变量。

(1)位定义变量

21


无线遥控的电子时钟带温度显示(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:广东省东莞市常平嘉盛实验学校八年级物理下册沪粤版导学案9.2阿

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: