万年历芯片DCCT499技术资料V.pdf
42页龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 1 DCCT·499 系列芯片手册 Ver 3.00 龙码芯片科技有限公司 2014.04 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 2 目 录 修订说明 ................................................................................................................................... 4 DCCT.499 系列芯片概述 .......................................................................................................... 5 第一章 DCCT.499 规格尺寸 ............................................................................................... 6 一、芯片管脚 ....................................................................................................................... 6 二、DCCT.499-3/5 (DIP8/SOP8)管脚使用说明表 .............................................................. 6 三、通信波特率设置表 ....................................................................................................... 6 四、芯片封装尺寸 ............................................................................................................... 7 1、DCCT.499-3/5-DIP-8 封装尺寸 ................................................................................... 7 2、DCCT.499-3/5-SOP-8 封装尺寸 .................................................................................. 8 第二章 DCCT.499 电路应用 ............................................................................................... 9 一、最简连接模式 ............................................................................................................... 9 二、检测连接模式 ............................................................................................................. 10 三、片选连接模式 ............................................................................................................. 11 四、片选与检测混合连接模式 ......................................................................................... 12 五、波特率设置 ................................................................................................................. 12 四、电源抗干扰设计 ......................................................................................................... 13 第三章 DCCT.499 数据协议 ............................................................................................. 14 一、发送数据格式 ............................................................................................................. 14 二、发送示例 ..................................................................................................................... 14 三、接收(收到、回送)数据格式 ................................................................................. 15 四、接收示例 ..................................................................................................................... 17 第四章 DCCT.499 演示示例 ................................................................................................... 20 一、演示示例 1 .................................................................................................................. 21 二、演示示例 2 .................................................................................................................. 22 三、演示示例 3 .................................................................................................................. 23 四、演示示例 4 .................................................................................................................. 24 五、示例数据详解 ............................................................................................................. 25 第五章 DCCT.499-5B 芯片说明 .............................................................................................. 29 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 3 一、硬件电路连接 ............................................................................................................. 30 二、数据协议 ..................................................................................................................... 31 三、数据协议示例 ............................................................................................................. 32 四、串口调试助手截图分析 ............................................................................................. 34 五、使用 DCCT.499-5B 需要注意的问题 .......................................................................... 35 第六章 DCCT.499-5D 芯片说明 .............................................................................................. 36 一、硬件电路连接 ............................................................................................................. 37 二、数据协议 ..................................................................................................................... 38 三、数据协议示例 ............................................................................................................. 39 四、串口调试助手截图分析 ............................................................................................. 41 五、使用 DCCT.499-5D 需要注意的问题 .......................................................................... 42 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 4 修订说明 前一版本:2.30,当前版本:3.00,增加内容: 增加 DCCT.499-5B 芯片(或与其兼容芯片)说明,该芯片除具有标准DCCT.499 功能外,还可直接与 DS18B20 连接,检测温度,并以约 10 秒间隔定时回送温度数据,详见第五章; 增加 DCCT.499-5D 芯片(或与其兼容芯片)说明,该芯片除具有标准DCCT.499 功能外,还可直接与 DHT11 连接,检测湿度和温度,并以约 10 秒间隔定时回送湿度和温度数据,详见第六章。
龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 5 DCCT.499 系列芯片概述 DCCT.499 是一款将公历年月日转换成农历信息的万年历的专用芯片 通过标准串口(TTL)向芯片发送“公历年、月、日”信息,芯片将回送对应的农历信息:农历年份、农历月份、农历日、农历对应的下一个节气、距离该节气的天数、该农历月是否闰月、该农历月的总天数(即大月还是小月)、该农历年度的属相(十二生肖)、当天是星期几例如:向 DCCT.499 芯片发送公历信息:2028 年 3 月15 日,DCCT.499 芯片将回送该日的农历信息:该日农历是 2028 年 2 月 20 日,下一个节气是“春分”,距离“春分”还有 5 天,该农历月总计 30 天(大月),该农历月不是闰月,该年度属相(生肖)是“猴”,该日是星期三 DCCT.499 芯片特点: ➢ 芯片体积较小,便于安装,有标准的 DIP-8 和 SOP-8 封装可选 ➢ 芯片电源宽电压设计,有 3.3V(2.4~3.6V)和 5V(3.8~5.5)可选 ➢ 低功耗设计 ➢ 允许“零”功耗设计,即:用户电路中,随时切断、打开该芯片电源 ➢ 外围电路连接简单,无需外围器件 ➢ 与上位机(MCU 或 PC)连接简单,只需两根电源线、两根数据线即可 ➢ 使用标准串口进行数据传输,波特率可设置:2400,4800,9600,19200bps ➢ 默认波特率 9600bps,8 位数据位,1 位截止位,无校验 ➢ 芯片可定制其它波特率:1200,38400,57600bps,也可定制默认波特率 ➢ 提供片选(/CS,低电平有效)功能,允许您的串口资源复用 ➢ 允许两种数据格式:16 进制编码、8421 编码,且可以混用 ➢ 转换时间长,可转换日期:2004.01.01~2099.12.31 ➢ 针对高干扰场合使用,提供极低成本抗干扰解决方案 ➢ 适用温度范围广,-40℃~85℃ ➢ 芯片内部高可靠设计,一旦受到强干扰失效,芯片会在 1.2 秒内复位 ➢ 转换速度极快,平均转换速度低于 65 纳秒 ➢ 逐渐开发与常用器件组合应用型号,以减少最终开发者工作量 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 6 第一章 DCCT.499 规格尺寸 一、芯片管脚 DIP-8 SOP-8 二、DCCT.499-3/5 (DIP8/SOP8)管脚使用说明表 管脚 标识 功 能 1 Status 工作状态指示,正常工作时输出低电平。
2 Vcc 电源正极,根据芯片型号使用直流 5V(3.8~5.5V)或 3V(2.4~3.6V) 3 /CS 片选,低电平有效 4 Gnd 电源负极 5 RXD 串行接收,TTL 电平,接单片机或电脑串口(注意电平转换)的 TXD 6 TXD 串行发送,TTL 电平,接单片机或电脑串口(注意电平转换)的 RXD 7 bps1 波特率设置管脚 1 通信使用标准串口格式,即:1 位起始位(低电平),8 位数据位,1 位截止位(高电平),无校验 8 bps2 波特率设置管脚 2 三、通信波特率设置表 序号 波特率 bps1(7 号管脚) bps2(8 号管脚) 1 2400 bps 接地 悬空 2 4800 bps 悬空 接地 3 9600 bps 悬空 悬空 4 19200 bps 接地 接地 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 7 四、芯片封装尺寸 1、DCCT.499-3/5-DIP-8 封装尺寸 DCCT.499-3/5-DIP-8 封装尺寸示意图(单位:mm 毫米) 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 8 2、DCCT.499-3/5-SOP-8 封装尺寸 DCCT.499-3/5-SOP-8 封装尺寸示意图(单位:mm 毫米) 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 9 第二章 DCCT.499 电路应用 一、最简连接模式 最简连接模式:该种连接模式,与您的单片机只需要 3 根连线,本芯片的 5#(RXD)管脚与您的单片机(或经电平转换后的计算机串口)的 TXD 直接相连,本芯片的 6#(TXD)与您的单片机(或经电平转换后的计算机串口)的 RXD 直接相连,本芯片的 3#(/CS)和 4#(Gnd)相连后,与您的单片机(或经电平转换后的计算机串口)的地线相连即可。
当然,您需要给该芯片供电,将 2#(Vcc)连接到电源上即可 此种连接方式特点: 1、电路连接简单,成本低,稳定可靠; 2、你不需要检测芯片是否处于正常工作状态(1#管脚 Stat 低电平为正常工作状态),事实上,该芯片极其稳定,除非您在高干扰场所适用,否则不需要检测; 3、您使用的是默认数据传输速度,即 9600bps,此时不需要连接管脚 7#和 8#; 4、您的串口资源无其它用途,可以被本芯片独占方式使用,即 3#(/CS 片选)管脚接地,本芯片始终被选中 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 10 二、检测连接模式 检测连接模式:该种连接模式,与您的单片机只需要 4 根连线,本芯片的 5#(RXD)管脚与您的单片机的 TXD直接相连,本芯片的 6#(TXD)与您的单片机的 RXD直接相连,本芯片的 1#(Stat 状态管脚,低电平为正常工作状态)连接到您单片机的任意 IO 管脚(根据您单片机型号不同、功能管脚不同,可能需要串接一个 510Ω左右的限流电阻,但通常不需要),本芯片的 3#(/CS)和 4#(Gnd)相连后,与您的单片机的地线相连即可。
当然,您需要给该芯片供电,将 2#(Vcc)连接到电源上即可 此种连接方式特点: 1、 电路连接简单,成本低,稳定可靠,实时了解本芯片的工作状态; 2、你需要检测芯片是否处于正常工作状态(1#管脚 Stat 低电平为正常工作状态),事实上,该芯片极其稳定,除非您在高干扰场所适用,否则不需要检测此时,在您的单片机编程中,先检测此管脚是否为 0(低电平),若为 0,则发送数据(或接收数据);否则,等待或对该芯片断电后加电(硬复位)等待的时间建议最长为 1.4 秒,因为,本芯片内部包含稳定的硬件自检功能(相当于硬件看门狗),当识别出本芯片处于非正常工作状态时,最迟会在 1.4 秒之内强制重启,以便进入正常工作状态之所以预留此功能,是因为考虑特殊用户可能难以忍耐最长 1.4 秒的等待时长; 3、 您使用的是默认数据传输速度,即 9600bps,此时不需要连接管脚 7#和 8#; 4、您的串口资源无其它用途,可以被本芯片独占方式使用,即 3#(/CS 片选)管脚接地,本芯片始终被选中龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 11 三、片选连接模式 片选连接模式:该种连接模式,与您的单片机只需要 4 根连线,本芯片的 5#(RXD)管脚与您的单片机的 TXD 直接相连,本芯片的 6#(TXD)与您的单片机的RXD 直接相连,本芯片的 3#(/CS 片选管脚,低电平为选中使用状态)连接到您单片机的任意 IO 管脚(根据您单片机型号不同、功能管脚不同,可能需要串接一个 510Ω左右的限流电阻,但通常不需要),本芯片的 4#(Gnd)与您的单片机的地线相连即可。
当然,您需要给该芯片供电,将 2#(Vcc)连接到电源上即可 此种连接方式特点: 1、 电路连接简单,成本低,稳定可靠,节省上位单片机串口资源; 2、你不需要检测芯片是否处于正常工作状态(1#管脚 Stat 低电平为正常工作状态),事实上,该芯片极其稳定,除非您在高干扰场所适用,否则不需要检测; 3、您使用的是默认数据传输速度,即 9600bps,此时不需要连接管脚 7#和 8#; 4、您的串口资源还有其它用途,不可以被本芯片独占方式使用,即 3#(/CS 片选)管脚接收到 0(低电平),本芯片被选中,正常工作;接收到 1(高电平),本芯片接收串口数据,但并不向串口发送任何数据,相当与本芯片处于不工作状态,不对连接到单片机串口上的其它器件产生干扰当需要此芯片工作时,直接拉低电平即可龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 12 四、片选与检测混合连接模式 综合使用检测连接模式和片选连接模式即可,这里不再赘述。
五、波特率设置 针对上述几种连接模式,您均可以同时设置不同的传输速率,见下图: 关于波特率设置,需要说明的是,悬空的管脚可以接高电平,接地的管脚可以接低电平但是,您必须在本芯片供电之前接好,不可以动态改变!如果您需要动态改变数据传输波特率,需要定制芯片 我们的建议是:接地的管脚直接接地,悬空的管脚直接悬空如果您应用在极其苛刻的场合,考虑极其微弱的电磁波杂散问题,可以将悬空管脚串接 500~2000Ω的电阻,连接到电源正极或 2#(Vcc)管脚上我们并不建议您这样做,这样做,增加了您的材料成本和人工成本,确实没有必要何况,我们的芯片符合环保要求苛刻的欧洲标准 详细的波特率设置,参见 第一章 的 《三、通信波特率设置表》龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 13 四、电源抗干扰设计 当您的应用在高干扰场所,使本芯片无法正常稳定工作时,可以考虑在供电电源部分串接一个电解电容和一个普通电容,以便滤掉干扰杂波。
至于使用的电容型号,还要根据应用场合的干扰波的波长计算得出(因为我们无法预测您的干扰源频率范围),但一个成熟的建议是电解电容使用 10μF,普通电容使用 0.1μF,因为这是实践检验后得出的结果,当然,这也是过滤掉最容易干扰本芯片工作的杂波频率 此滤波模式电路,到目前为止,并没有用户反映需要使用!我们只是在实验室试验时,使用各种干扰源,以便检测我们芯片工作稳定性时得出的结论 事实上,以上电路的提供,也许是我们过分考虑了您的产品的使用环境的苛刻同时,也是考虑您的最终产品设计时,主电源部分没有包含滤波电路的!可事实是,任何电子产品在设计、应用时,主电源供电模块都一定会使用滤波电路的因此,此电路似乎没有必要的是否还需要使用本电路,您自己决定吧! 关于本电路,最后啰嗦一点,如果使用,两个电容,距离本芯片管脚越近(即:连线最短),效果越好龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 14 第三章 DCCT.499 数据协议 一、发送数据格式 1、 格式长度:固定长度,5 个字节; 2、 格式:[a.发送格式编码] [b. 年编码] [c. 月编码] [d. 日编码] [e. 返回格式编码] 3、格式说明: a.发送格式编码(即:前缀码):长度 1 个字节(8 bits ) 发送格式 十六进制值 十进制值 说明 16 进制编码 0xFB 251 b.c.d.部分使用 16 进制码发送 8421 编码 0xF8 248 b.c.d.部分使用 8421 码发送 b.年编码:长度 1 个字节(8 bits ), 使用年的末两位。
c.月编码:长度 1 个字节(8 bits ) d.日编码:长度 1 个字节(8 bits ) e.返回格式编码(即:后缀码):长度 1 个字节(8 bits ) 返回格式 十六进制值 十进制值 返回农历数据的编码格式 16 进制编码 0xEB 235 返回数据使用 16 进制编码 8421 码 0xE8 232 返回数据使用 8421 编码 二、发送示例 若想获得 2025 年 11 月 28 日的农历、节气、星期等信息,需要发送数据: 格式 1:0xFB 0x19 0x0B 0x1C 0xEB 说明: 0xFB-----前缀码,表示 年月日是以 16 进制码格式发送; 0x19-----表示 25 年(年取后两位),将 25 转成 16 进制码; 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 15 0x0B-----表示 11 月,将 11 转成 16 进制码; 0x1C-----表示 28 日,将 28 转成 16 进制码; 0xEB-----后缀码,表示要求返回的数据格式是 16 进制码。
格式 2:0xF8 0x25 0x11 0x28 0xE8 说明: 0x6F8----前缀码,表示 年月日是以 8421 码(即数字的十位放入字节的高 4 位,个位放入低 4 位,0~99 的数字看起来和 10进制一样)格式 发送; 0x25-----表示 25 年(年取后两位),将 25 转成 8421 码; 0x11-----表示 11 月,将 11 转成 8421 码; 0x28-----表示 28 日,将 28 转成 8421 码; 0xE8-----后缀码,表示要求返回的数据格式是 8421 码 格式 3:0xF8 0x25 0x11 0x28 0xEB 参照格式 2,不同的是:要求返回的数据格式是 16 进制码 格式 4:0xFB 0x19 0x0B 0x1C 0xE8 参照格式 1,不同的是:要求返回的数据格式是 8421 码 三、接收(收到、回送)数据格式 1、 格式长度:固定长度,12 个字节; 2、格式:[a.起始码] [b. 年] [c. 月] [d. 日] [e. 节气][f. 天数差][g. 是否闰月][h.本月天数][i.属相][j.星期][k.校验码][l.结束码] 3、格式说明: a. 起始码:长度 1 个字节(8 bits ),固定值:0xFE (10 进制的 254); b.年:长度 1 个字节(8 bits ),农历的年份; c.月:长度 1 个字节(8 bits ),农历的月份; 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 16 d.日:长度 1 个字节(8 bits ),农历的日(天); e.节气:长度 1 个字节(8 bits ),农历的下一个节气;值为 1~24,依次为: 立春,雨水,惊蛰,春分,清明,谷雨,立夏,小满,芒种,夏至,小暑,大暑, 立秋,处暑,白露,秋分,寒露,霜降,立冬,小雪,大雪,冬至,小寒,大寒。
f. 天数差:长度 1 个字节(8 bits ),距离农历的下一个节气还有多少天; g. 是否闰月:长度 1 个字节(8 bits ),本月的农历月份是否闰月,是闰月,此值为 1;不是闰月,此值为 0(零) h.本月天数:长度 1 个字节(8 bits ),本农历月的天数农历大月固定 30天, 小月固定 29 天(和公历不同哟!)此值一定是 29 或 30 i.属相:长度 1 个字节(8 bits ),本农历年度的属相,此值范围 1~12,分别表示: 鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪 j.星期:长度 1 个字节(8 bits ),取值范围 1~7,分别表示星期一(1)至星期日(7); k.校验码:长度 1 个字节(8 bits ),是 b.~j.的异或校验和,固定为 16 进制码; 注意:但当校验码为0xFE或0xEF时,校验码返回为0xCC l.结束码:长度 1 个字节(8 bits ),固定值:0xEF (10 进制的 239) 特别说明:b. ~ j. 格式取决于发送数据格式的[ e.返回格式编码 ] 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 17 四、接收示例 示例 1:0xFE 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xEF 说明:这是典型的数据无效示例。
当您输入的年份小于 4(即 2004 年)或大于99(十进制,即 2099 年),或月份小于 1,或月份大于 12,或日(天)小于 1,或日(天)大于当月最大日期,将返回上述结果 例如,以下输入,都会返回上述结果: 0xF8 0x01 0x11 0x28 0xE8 *年份小于 4* 0x F8 0xF2 0x11 0x28 0xE8 *年份大于 99(10 进制)* 0x F8 0x11 0x00 0x28 0xE8 *月份小于 1* 0x F8 0x21 0x13 0x28 0xE8 *年份大月 12* 0x F8 0x31 0x11 0x00 0xE8 *日小于 1* 0x F8 0x41 0x02 0x29 0xE8 *该年 2 月只有 28 天* 0x F8 0x51 0x11 0x31 0xE8 *11 月只有 30 天* 0x F8 0x01 0x12 0x32 0xE8 *日大于 31* 示例 2:发送:F8 14 01 05 E8 *8421 码发送 或发送:FB 0E 01 05 E8 *16 进制码发送 *公历 2014 年 1 月 5 日 *8421 码接收 接收到:FE 13 12 05 01 00 00 30 06 07 34 EF *FE 16 进制码,十进制为 254,接收起始码 *13 8421 码,农历 13 年,即 2013 年 *12 8421 码,农历 12 月 *05 8421 码,农历 5 日 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 18 *01 8421 码,农历下一个节气是“立春” *00 8421 码,距离立春还有 0 天,即当天就是“立春” *00 8421 码,该农历月不是闰月(闰月为 01) *30 8421 码,该农历月是大月 30 天(小月 29 天) *06 8421 码,该农历年度属相为“蛇” *07 8421 码,当天是星期日 *34 16 进制校验码(0x13 xor 0x12 xor 0x05 xor 0x01 xor 0x 00 xor 0x00 xor 0x30 xor 0x06 xor 0x07 = 0x34) *EF 16 进制码,十进制为 239,接收结束码 示例 3:发送:F8 14 01 05 EB *8421 码发送 或发送:FB 0E 01 05 EB *16 进制码发送 *公历 2014 年 1 月 5 日 *16 进制码接收 接收到:FE 0D 0C 05 01 00 00 1E 06 07 1A EF *FE 16 进制码,十进制为 254,接收起始码 *0D 16 进制码,农历 13 年,即 2013 年 *0C 16 进制码,农历 12 月 *05 16 进制码,农历 5 日 *01 16 进制码,农历下一个节气是“立春” *00 16 进制码,距离立春还有 0 天,即当天就是“立春” *00 16 进制码,该农历月不是闰月(闰月为 01) *1E 16 进制码,该农历月是大月 30 天(小月 29 天) *06 16 进制码,该农历年度属相为“蛇” 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 19 *07 16 进制码,当天是星期日 *19 16 进制校验码(0x0D xor 0x0C xor 0x05 xor 0x01 xor 0x 00 xor 0x00 xor 0x1E xor 0x06 xor 0x07 = 0x1A) *EF 16 进制码,十进制为 239,接收结束码 特别说明:发送起始码字节必须是 0xFB 或 0xF8,发送结束码字节必须是 0xEB或 0xE8,否则将不返回数据。
发送数据的长度固定为 5 个字节,中间的三位必须依次是年、月、日,否则,将返回错误的数据;极端情况下可能导致系统芯片不工作(若发送正确数据后,100 毫秒后仍接收不到数据),必须对芯片复位若发送的起始码和结束码中间的年月日码超过 3 个字节,则前 3 个字节有效,其余舍去 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 20 第四章 DCCT.499 演示示例 以下的演示示例,是本芯片通过 USB 转串口芯片,连接到计算机上进行测试您可以自备串口电平转换芯片(例如 max232)连接,或使用 usb 转串口芯片连接(例如 ch341)只需连接电源线(2#管脚,+5V 或 3.3V),数据线(RXD--TXD、TXD—RXD 交叉连接,即计算机串口的 RXD 连接本芯片的 6#管脚 TXD,计算机串口的 TXD连接本芯片的 5#管脚 RXD),最后,将本芯片的 3#管脚(/CS 片选)连接到本芯片的 4#管脚(地线),再与计算机串口的地线相连,如下图。
以上使用连接波特率为 9600bps,8 位数据位,1 位停止位,无校验如果设置其它波特率,请参《通信波特率设置表》,将 bps1 或(和)bps2 接地或悬空来组合设置 以下演示示例使用《DCCT.499 专用测试工具》和《串口调试助手》分别进行 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 21 一、演示示例 1 与计算机串口 3 连接、9600bps,发送 2028 年 3 月 15 日,发送格式 8421 编码,接收格式 8421 编码: 专用工具: 串口调试助手: 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 22 二、演示示例 2 与计算机串口 3 连接、9600bps,发送 2028 年 3 月 15 日,发送格式 16 进制编码,接收格式 16 进制编码: 专用工具: 串口调试助手: 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 23 三、演示示例 3 与计算机串口 3 连接、9600bps,发送 2028 年 3 月 15 日,发送格式 16 进制编码,接收格式 8421 编码: 专用工具: 串口调试助手: 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 24 四、演示示例 4 与计算机串口 3 连接、9600bps,发送 2028 年 3 月 15 日,发送格式 8421 编码,接收格式 16 进制编码: 专用工具: 串口调试助手: 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 25 五、示例数据详解 DCCT.499-3/DCCT.499-5 数据格式详解 ** DCCT -- 系列芯片标识; ** 4 -------- 表示起始可转换公历日期为 04(2004)年 01 月 01 日; ** 99 ------ 表示截止可转换公历日期为 99(2099)年 12 月 31 日; ** 3 -------- 表示使用 3.3V(2.4 - 3.6V)电源,5 -- 表示使用 5V(3.8 - 5.5V)电源 向芯片(DCCT.499)发送: F8 28 03 15 EB 从芯片(DCCT.499)返回: FE 1C 02 14 04 05 00 1E 09 03 1F EF (一)您向芯片(DCCT.499)发送的数据是: F8 28 03 15 EB 芯片能接受的数据格式长度固定为 5 个字节,依次是:前缀码、年编码、月编码、日编码、后缀码,下面依次说明: 1、前缀码:只能是 FB 或 F8 ,FB 代表发送的公历年月日为十六进制码格式,F8 代表发送的公历年月日为 8421 码格式。
本次使用的是: F8 ,表示:年月日使用8421 码格式 2、年编码:仅限于当前年份至 2099 年,仅可以发送后两位,即:年 减去2000本次使用的是: 28 ,前缀码声明使用 8421 码格式,表示: 28 年,即:2028年 3、月编码:仅限于 1 至 12 月份本次使用的是: 03 ,前缀码声明使用 8421码格式,表示: 03 月 4、日编码:仅限于 1 日至该月最后日期本次使用的是: 15 ,前缀码声明使用 8421 码格式,表示: 15 日 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 26 5、后缀码:只能是 EB 或 E8 ,EB 代表预定接收的农历信息(本芯片向您的单片机或 PC 回送的信息)为十六进制码格式,F8 代表预定接收的农历信息为 8421 码格式本次使用的是: EB ,表示:预定接收的农历信息使用十六进制码格式 (二)芯片(DCCT.499)向您的单片机或 PC 回送的信息是: FE 1C 02 14 04 05 00 1E 09 03 1F EF 芯片回送信息长度固定为 12 个字节,依次是:起始码、农历年份、农历月份、农历日、节气、节气天数、是否闰月、当月天数、生肖、星期、校验码、结束码,下面依次说明: 1、起始码:固定为 FE ,单片机或 PC 可据此判断有效数据的开始。
2、农历年份:返回的是 2 位的农历年份,返回值范围 4 ~99,需+2000 才是标准年份;格式取决于您发送数据的后缀码本次返回的是: 1C ,由于发送数据的后缀码是 EB ,代表接收本部分数据使用十六进制码格式,表示:农历 28 年,即农历 2028 年 3、农历月份:返回的是农历的月份,返回值范围 1 ~12;格式取决于您发送数据的后缀码本次返回的是: 02 ,由于发送数据的后缀码是 EB ,代表接收本部分数据使用十六进制码格式,表示:农历 02 月 4、农历日:返回的是农历的日,返回值范围 1 ~30;格式取决于您发送数据的后缀码本次返回的是: 14 ,由于发送数据的后缀码是 EB ,代表接收本部分数据使用十六进制码格式,表示:农历 20 日 5、节气:返回的是农历的下一个(即将到来的)节气,返回值范围 1 ~24;农历一年有 24 个节气,返回的值为 1~24,依次对应关系:1-立春,2-雨水,3-惊蛰,4-春分,5-清明,6-谷雨,7-立夏,8-小满,9-芒种,10-夏至,11-小暑,12-大暑,13-立秋,14-处暑,15-白露,16-秋分,17-寒露,18-霜降,19-立冬,20-小雪,21-大雪,22-冬至,23-小寒,24-大寒;格式取决于您发送数据的后缀码。
本次返回的是: 04 ,由于发送数据的后缀码是 EB ,代表接收本部分数据使用十六进制码格式,表示:下一个农历节气是第 04 个节气 6、节气天数:返回的是距离下一个农历节气还有多少天,返回值范围 0 ~19,若当日恰好是节气日,返回 0 天;格式取决于您发送数据的后缀码本次返回的是: 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 27 05 ,由于发送数据的后缀码是 EB ,代表接收本部分数据使用十六进制码格式,表示:距离下一个农历节气还有 05 天 7、是否闰月:返回的是该农历月是否是闰月,返回值范围 0 ~1,是闰月返回 1 ,不是闰月返回 0 ;格式取决于您发送数据的后缀码本次返回的是: 00 ,由于发送数据的后缀码是 EB ,代表接收本部分数据使用十六进制码格式,表示:本农历月不是闰月 8、当月天数:返回的是该农历月有多少天,返回值范围 29 ~30,农历大月 30 天,小月 29 天;格式取决于您发送数据的后缀码。
本次返回的是: 1E ,由于发送数据的后缀码是 EB ,代表接收本部分数据使用十六进制码格式,表示:该农历月有 30 天 9、生肖:返回的是该农历年份的生肖,返回值范围 1 ~12;格式取决于您发送数据的后缀码;依次对应关系:1-鼠,2-牛,3-虎,4-兔,5-龙,6-蛇,7-马,8-羊,9-猴,10-鸡,11-狗,12-猪本次返回的是: 09 ,由于发送数据的后缀码是 EB ,代表接收本部分数据使用十六进制码格式,表示:该农历年份的生肖值为: 09 10、星期:返回的是该日的星期,返回值范围 1 ~7;格式取决于您发送数据的后缀码;依次对应关系:1-星期一,2-星期二,3-星期三,4-星期四,5-星期五,6-星期六,7-星期日本次返回的是: 03 ,由于发送数据的后缀码是 EB ,代表接收本部分数据使用十六进制码格式,表示:该日的星期值为: 03 11、校验码:返回的是第 2 个字节(农历年)至第 10 个字节(星期)进行【按位异或运算】的结果,用于单片机或 PC 检验接收数据的准确性;格式固定为十六进制本次返回的是: 1F 12、结束码:固定为 EF ,单片机或 PC 可据此判断有效数据的结束。
说明:本芯片只有在接收到您从单片机或 PC 通过串口发送的正确信息后,才能返回农历等信息可能会出现以下情况: a.无任何返回信息,原因是:您发送的波特率和硬件管脚设置不符、前缀码错误、后缀码错误、不足 5 个字节等 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 28 b.返回:FE 00 00 00 00 00 00 00 00 00 00 EF,原因是:您发送的年月日超出了有效范围 c.如果您发送的数据中,在 【前缀码】 和 【后缀码】之间超过 3 个字节,则前 3 个字节有效,依次对应公历年、月、日 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 29 第五章 DCCT.499-5B 芯片说明 针对制作万年历的用户,除了农历日期节气等必备因素外,通常会附加温度显示功能,最常用且性价比较高的测温芯片莫过于 DS18B20,该芯片价格很低,但测温精确度可以达到 0.5℃,分辨率可以达到 0.0625℃,完全满足民用实时温度显示的要求。
但 DS18B20 在使用时,需要严格控制时序,且消耗大量 CPU 时间,给万年历开发者增加了不少工作量,基于以上情况,本公司推出了 DCCT.499-5B 芯片 DCCT.499-5B 芯片特点: ➢ 具有标准 DCCT.499 芯片的全部功能 ➢ 软件调用方法和标准 DCCT.499 芯片完全相同 ➢ 取消了标准 DCCT.499 的状态检测功能(该管脚用于连接 DS18B20) ➢ 芯片外观、尺寸、封装与标准 DCCT.499 完全相同 ➢ 通过标准串口定时(间隔大约 10 秒)主动发送温度数据 ➢ 通过使用原厂 DS18B20 芯片,经严格测试,有高度的稳定性和可靠性 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 30 一、硬件电路连接 关于硬件电路应用,请参考《第二章 DCCT.499 电路应用》,所不同的是,1#管脚 stat(Status)需要连接到 DS18B20 的 DQ(数据)管脚,取消了标准 DCCT.499 的状态检测功能。
说明: 1 、本芯片不提供 DS18B20 和 4.7KΩ的电阻,需要您另外自行购买; 2、 由于 DS1820 和 DS18B20 内部数据格式有差别,不可以用 DS1820 替换DS18B20,即:本芯片只支持 DS18B20 或完全兼容芯片,不支持DS1820 3、 连线: DS18B20 的 Gnd 脚必须与 DCCT.499-5B 的 Gnd(4#)脚连接; DS18B20 的 Vdd 脚可以独立供电,不与 DCCT.499-5B 的 Vcc(2#)脚连接,但强烈建议与 DCCT.499-5B 的 Vcc(2#)脚连接; DS18B20 的 DQ 脚必须与 DCCT.499-5B 的 Stat(1#)脚连接; DS18B20 与 DCCT.499-5B 的距离较短时, DQ 脚与 Vdd 脚间串接 4.7KΩ的电阻,若距离较长,可适当调节该阻值 修正了 DS18B20 首次检测温度为+85℃的问题,首次检测即是正确温度 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 31 二、数据协议 1、DCCT.499-5B 自动以间隔约 10 秒时间,通过串口向您的 MCU 发送温度数据,此过程无需 MCU 干预。
您的 MCU 只负责接收和显示即可 2、数据帧长度固定为 5 字节 3、数据帧说明: 起始码 1BYTE 温度整数 温度小数 校验码 1BYTE 结束码 1BYTE 固定为 0xB1 1BYTE 1BYTE 温度整数与温度小数异或值 固定为 0xB2 数据帧起始码:固定为十六进制 B1(十进制 177) 数据帧结束码:固定为十六进制 B2(十进制 178) 温度:返回 1 个字节整数和 1 个字节小数,即可得到实际温度需要注意的是,若整数温度为负数(零下),整数和小数部分数值均是补码;小数部分为 1 位小数,取值范围是 0~9 数据帧校验码:是温度整数部分与温度小数部分的数值按位进行“异或”运算的结果,可通过此计算,判断数据传输是否真确,但通常可以忽略此计算 4、使用温度单位为 摄氏度(℃),如需华氏温度值 请自行转换 5、关于错误码,若返回以下代码,表示出错: a、返回:B1 BA 00 BA B2 ,即返回温度数据为 -70.0 ℃,表示检测数据时发生错误,可能需要更换 DS18B20; b、返回:B1 B0 00 B0 B2,即返回温度数据为 -80.0 ℃,表示没有检测到 DS18B20; c、返回:B1 55 00 55 B2,即返回温度数据为 85.0℃,由于 DS18B20的+85 既可能是温度为 85 度,也可能是 DS18B20 出错,因此,您还有根据实际情况判断; 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 32 d、通常, DS18B20 每次加电后,首次温度为+85.0℃,这是由于 DS18B20本身的特性决定的。
当然,这对您的系统有一定影响本系统修正了此问题,首次检测就是正确的温度 三、数据协议示例 1、温度计算示例 1: 若返回以下数据:B1 14 03 17 B2 B1:表示起始码,十六进制,固定不变 14:表示温度整数部分,十六进制 03:表示温度小数部分,十六进制 17:表示校验码,十六进制 B2:表示结束码,十六进制,固定不变 温度计算: 步骤 1:温度整数部分为十六进制的 14,此数值小于等于 0x7F(十进制的127,8 位二进制高位为 0),表示温度为正数,温度整数部分和温度小数部分均为原码数值;此值转化为十进制是 20; 步骤 2:温度小数部分为十六进制的 03,此值转化为十进制是 3;; 步骤 3:综合步骤 1 和步骤 2,返回温度结果为 20.3 ℃ 通常以上即可,但在传输距离较远或高干扰场合,可能需要计算校验码,以便检验数据传输的正确性 校验码计算: 步骤 1:温度整数部分 14 转成二进制为 00010100 ; 步骤 2:温度小数部分 03 转成二进制为 00000011; 步骤 3: 异或运算 00010100 XOR 00000011 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 33 00010111 转成十六进制,即: 17 步骤 4:计算结果与传输值相同,即同为十六进制的 17,传输无误。
2、 温度计算示例 2: 若返回以下数据:B1 E9 F7 1E B2 B1:表示起始码,十六进制,固定不变 E9:表示温度整数部分,十六进制 F7:表示温度小数部分,十六进制 1E:表示校验码,十六进制 B2:表示结束码,十六进制,固定不变 温度计算: 步骤 1:温度整数部分为十六进制的 E9,此数值大于 0x7F(十进制 127,8 位二进制高位为 0),表示温度为负数(零下),温度整数部分和温度小数部分均为补码数值,需要分别进行逐位取反,再加 1 获得原码;此值原码十六进制为 0x17,转化为十进制是 23; 步骤 2:温度小数部分为十六进制的 F7,为补码值,逐位取反,再加 1 获得原码为十六进制的 0x09,转化为十进制是 9; 步骤 3:综合步骤 1 和步骤 2,返回温度结果为-23.9℃(零下 23.9 度) 校验码计算:略 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 34 四、串口调试助手截图分析 上图包含了 4 组温度数据,每组返回 5 个字节,时间间隔约 10 秒。
上图中还包含两组农历数据,是因为发送了两次农历查询(F8 15 03 22 E8) 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 35 五、使用 DCCT.499-5B 需要注意的问题 由于有两种数据回送,且通过同一串口回送,需避免在接收时造成混淆 首先,两种数据不会交叉在一起,都是定长数据,都有自己的起始码、结束码和校验码,您的软件代码可以很容易区分 其次,温度数据每隔 10 秒左右回送一次,在接收到温度数据后 9 秒钟之内的任何时间,发出农历查询信息,返回的结果一定是农历信息 再次,即便是两组数据连在一起(不会交叉出现),也可以通过起始码和结束码,加以区分,但接收缓冲区需要 12+5=17 Bytes 最后,理想情况下,仅几十纳秒即可得到返回数据,但由于使用的是异步串口,可能会有一定的时间延迟,最糟糕的情况下,时间延迟也是毫秒级的 关于 DS18B20 的其它问题,请查询其对应手册。
龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 36 第六章 DCCT.499-5D 芯片说明 针对制作万年历的用户,除了农历日期节气等必备因素外,通常会附加温度和湿度显示功能,最常用且性价比较高的测温、湿两用模块莫过于 DHT11,该模块价格很低,但完全满足民用实时温度、湿度显示的要求但 DHT11 在使用时,需要严格控制时序,且消耗大量 CPU 时间,给万年历开发者增加了不少工作量,基于以上情况,本公司推出了 DCCT.499-5D 芯片 DCCT.499-5D 芯片特点: ➢ 具有标准 DCCT.499 芯片的全部功能 ➢ 软件调用方法和标准 DCCT.499 芯片完全相同 ➢ 取消了标准 DCCT.499 的状态检测功能(该管脚用于连接 DHT11) ➢ 芯片外观、尺寸、封装与标准 DCCT.499 完全相同 ➢ 通过标准串口定时(间隔大约 10 秒)主动发送温度数据 ➢ 通过使用原厂 DHT11 芯片,经严格测试,有高度的稳定性和可靠性 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 37 一、硬件电路连接 关于硬件电路应用,请参考《第二章 DCCT.499 电路应用》,所不同的是,1#管脚 stat(Status)需要连接到 DHT11 的 DADA(数据)管脚,取消了标准 DCCT.499 的状态检测功能。
说明: 1 、本芯片不提供 DHT11 和 5KΩ的电阻,需要您另外自行购买; 2、连线: DHT11 的 Gnd 脚必须与 DCCT.499-5D 的 Gnd(4#)脚连接; DHT11 的 Vdd 脚可以独立供电,不与 DCCT.499-5D 的 Vcc(2#)脚连接,但强烈建议与 DCCT.499-5D 的 Vcc(2#)脚连接; DHT11 的 DATA 脚必须与 DCCT.499-5D 的 Stat(1#)脚连接; DHT11 与 DCCT.499-5D 的距离较短时, DATA 脚与 Vdd 脚间串接 5KΩ的电阻,若距离较长,可适当调节该阻值 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 38 二、数据协议 1、DCCT.499-5D 自动以间隔约 10 秒时间,通过串口向您的 MCU 发送温度数据,此过程无需 MCU 干预您的 MCU 只负责接收和显示即可。
2、数据帧长度固定为 5 字节 3、数据帧说明: 序号 数据 说明 1 起始码 1 BYTE 固定值 0xD1 ,十进制 209 2 湿度整数部分 1 BYTE 十六进制数 3 温度湿度部分 1 BYTE 十六进制数 4 校验码 1 BYTE 湿度整数部分和温度整数部分的“异或”值 5 结束码 1 BYTE 固定值 0xD2 ,十进制 210 数据帧起始码:固定为十六进制 D1(十进制 209) 数据帧结束码:固定为十六进制 D2(十进制 210) 温度、湿度:返回十六进制数整数部分,各一个字节鉴于 DHT11 的精度较低,小数部分忽略,不返回需要注意的是,若温度为负数(零下),该数值是补码 数据帧校验码:是湿度整数部分和温度整数部分的 2 个字节数值的的“按位异或”运算值,结果为一个字节可通过此计算,判断数据传输是否真确,但通常可以忽略此计算 4、使用的温度单位为 摄氏度(℃),使用的湿度单位为相对湿度(%rh) 5、关于错误码,若返回以下代码,表示出错: a、返回:D1 FF FF FF D2 ,即返回数据 全为 0xFF,表示检测数据时发生错误,可能需要更换 DHT11; b、针对国内市场上的实际情况,强烈建议您购买原厂 DHT11。
龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 39 三、数据协议示例 1、湿度、温度计算示例 1: 若返回以下数据:D1 18 17 0F D2 D1:表示起始码,十六进制,固定不变 18:表示湿度整数部分,十六进制 17:表示温度整数部分,十六进制 0F:表示校验码,十六进制 D2:表示结束码,十六进制,固定不变 湿度、温度计算: 步骤 1:湿度整数部分为十六进制的 18,转换为 10 进制为 24,即:相对湿度值为 24%rh; 步骤 2:温度整数部分为十六进制的 17,此数值小于等于 0x7F(十进制 127,8 位二进制高位为 0),表示温度为正数(零上),温度整数部分原码;此值十六进制为 0x17,转化为十进制是 23,即:温度为摄氏 23℃ 通常以上即可,但在传输距离较远或高干扰场合,可能需要计算校验码,以便检验数据传输的正确性。
校验码计算:是湿度整数部分和温度整数部分的 2 个字节数值的的“按位异或”运算值,结果为一个字节 步骤一:按位异或运算 0x18 XOR 0x17 = 0x0F; 步骤 2:计算结果与传输值相同,即同为 0F,传输无误 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 40 2、湿度、温度计算示例 2: 若返回以下数据:D1 18 EB F3 D2 D1:表示起始码,十六进制,固定不变 18:表示湿度整数部分,十六进制 EB:表示温度整数部分,十六进制 F3:表示校验码,十六进制 D2:表示结束码,十六进制,固定不变 湿度、温度计算: 步骤 1:湿度整数部分为十六进制的 18,转换为 10 进制为 24,即:相对湿度值为 24%rh; 步骤 2:温度整数部分为十六进制的 EB,此数值大于 0x7F(十进制 127,8 位二进制高位为 0),表示温度为负数(零下),温度整数部分为补码数值,需要进行逐位取反,再加 1 获得原码;此值原码十六进制为 0x15,转化为十进制是 21,即:温度为摄氏 21℃。
校验码计算:是湿度整数部分和温度整数部分的 2 个字节数值的的“按位异或”运算值,结果为一个字节 步骤一:按位异或运算 0x18 XOR 0xEB = 0xF3; 步骤 2:计算结果与传输值相同,即同为 F3,传输无误 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 41 四、串口调试助手截图分析 上图包含了 3 组温度数据,每组返回 5 个字节,时间间隔约 10 秒 上图中还包含一组农历数据,是因为发送了一次农历查询(F8 15 03 22 E8) 龙码芯片·499 项目组 DCCT.499系列芯片中文手册 Ver 3.00 42 五、使用 DCCT.499-5D 需要注意的问题 由于有两种数据回送,且通过同一串口回送,需避免在接收时造成混淆。
首先,两种数据不会交叉在一起,都是定长数据,都有自己的起始码、结束码和校验码,您的软件可以很容易区分 其次,温度数据每隔 10 秒左右回送一次,在接收到湿度和温度数据后 9 秒钟之内的任何时间,发出农历查询信息,返回的结果一定是农历信息 再次,即便是两组数据连在一起(不会交叉在一起),也可以通过起始码和结束码,加以区分,但接收缓冲区需要 12+5=17 Bytes 最后,理想情况下,仅几十纳秒即可得到返回数据,但由于使用的是异步串口,可能会有一定的时间延迟,最糟糕的情况下,时间延迟也是毫秒级的 关于 DHT11 的其它问题,请查询其对应手册。





