找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5500|回复: 2
收起左侧

am2320单总线+iic总线+lcd1602程序与am2320中文资料下载

[复制链接]
ID:68356 发表于 2018-5-30 04:06 | 显示全部楼层 |阅读模式
am2320单总线和iic总线的测试程序,实机测试通过,压缩包附件中包含两份程序和详细资料。
0.png
am2320中文资料:
一、产品概述
AM2320 数字温湿度传感器是一款含有己校准数字信号输出的温湿度复合型传感器。 采用专用的温湿度采集技术, 确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式感湿元件和一个高精度集成测温元件, 并与一个高性能微处理器相连接。该产品具有品质卓越、 超快响应、 抗干扰能力强、性价比极高等优点。

AM2320  通信方式采用单总线、 标准 I2C 两种通信方式。标准单总线接口, 使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达 20 米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选择。 I2C 通信方式采用标准的通信时序,用户
可直接挂在 I2C 通信总线上,无需额外布线,使用简单。两种通信方式都采用直接输出经温度补偿后的湿度、温度及校验 CRC 等数字信息,用户无需对数字输出进行二次计算,也无需要对湿度进行温度补偿,便可得到准确的温湿度信息。两种通信方式可自由切换,用户可自由选择,使用方便,应该领域广泛。产品为 4引线,连接方便,特殊封装形式可根据用户需求而提供。
0.png

单片机源程序如下(iic+单总线2种源码都有):
  1. #include<reg51.h>
  2. #include"lcd.h"
  3. #include"am2320.h"
  4. extern int tp,rh;
  5. extern uchar readdata[8];
  6. uchar code table[]={"0123456789ABCDEF"};
  7. void timerconfig();
  8. void main()
  9. {
  10.    lcdinit();
  11.    timerconfig();
  12.    delay4s();
  13.    while(1)
  14.    {
  15.       amread();
  16.           writecom(0x80);
  17.           writedata(table[rh/100]);
  18.           writedata(table[rh%100/10]);
  19.           writedata('.');
  20.           writedata(table[rh%10]);
  21.           writecom(0xc0);
  22.           writedata(table[tp/100]);
  23.           writedata(table[tp%100/10]);
  24.           writedata('.');
  25.           writedata(table[tp%10]);
  26.           delay4s();
  27.    }
  28. }
  29. void timerconfig()
  30. {
  31.    TMOD=0X01;
  32.    ET0=1;
  33.    EA=1;
  34. }
  35. void timer0() interrupt 1
  36. {
  37.    TR0=0;
  38. }
复制代码
  1. #include"am2320.h"
  2. uchar tmh,tml,rhh,rhl,crc;
  3. int temp,rh;
  4. void delay10us()
  5. {
  6.    _nop_();
  7.    _nop_();
  8.    _nop_();
  9.    _nop_();
  10.    _nop_();
  11.    _nop_();
  12.    _nop_();
  13.    _nop_();
  14.    _nop_();
  15.    _nop_();
  16. }
  17. void delay10ms(uchar t)
  18. {
  19.    uchar i,j,k;
  20.    for(i=0;i<t;i++)
  21.       for(j=0;j<40;j++)
  22.              for(k=0;k<75;k++);
  23. }
  24. void aminit()
  25. {
  26.    delay10ms(240);
  27.    amport=1;
  28. }
  29. void amstart()
  30. {
  31.    uchar i;
  32.    amport=0;
  33.    i=120;
  34.    while(i--);
  35.    amport=1;
  36.    while(amport);
  37.    while(!amport);
  38.    while(amport);
  39. }
  40. uchar amread()
  41. {
  42.    uchar n,dat;
  43.    for(n=0;n<8;n++)
  44.    {
  45.       while(!amport);
  46.           delay10us();
  47.           delay10us();
  48.           delay10us();
  49.           delay10us();
  50.           dat<<=1;
  51.           if(amport)
  52.           {
  53.              dat|=0x01;
  54.                  while(amport);
  55.           }
  56.    }
  57.    return dat;
  58. }
  59. void amreaddata()
  60. {
  61.    amstart();
  62.    rhh=amread();
  63.    rhl=amread();
  64.    tmh=amread();
  65.    tml=amread();
  66.    crc=amread();
  67.    temp=tmh;
  68.    temp<<=8;
  69.    temp|=tml;
  70.    rh=rhh;
  71.    rh<<=8;
  72.    rh|=rhl;
  73. }
复制代码

0.png
所有资料51hei提供下载:
am2320.rar (2.06 MB, 下载次数: 127)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:68356 发表于 2018-5-30 04:09 | 显示全部楼层
附件,下载
回复

使用道具 举报

ID:476986 发表于 2019-2-24 14:31 | 显示全部楼层
赞一个
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表