am2320单总线和iic总线的测试程序,实机测试通过,压缩包附件中包含两份程序和详细资料。
am2320中文资料:
一、产品概述
AM2320 数字温湿度传感器是一款含有己校准数字信号输出的温湿度复合型传感器。 采用专用的温湿度采集技术, 确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容式感湿元件和一个高精度集成测温元件, 并与一个高性能微处理器相连接。该产品具有品质卓越、 超快响应、 抗干扰能力强、性价比极高等优点。
AM2320 通信方式采用单总线、 标准 I2C 两种通信方式。标准单总线接口, 使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达 20 米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选择。 I2C 通信方式采用标准的通信时序,用户
可直接挂在 I2C 通信总线上,无需额外布线,使用简单。两种通信方式都采用直接输出经温度补偿后的湿度、温度及校验 CRC 等数字信息,用户无需对数字输出进行二次计算,也无需要对湿度进行温度补偿,便可得到准确的温湿度信息。两种通信方式可自由切换,用户可自由选择,使用方便,应该领域广泛。产品为 4引线,连接方便,特殊封装形式可根据用户需求而提供。
单片机源程序如下(iic+单总线2种源码都有):
- #include<reg51.h>
- #include"lcd.h"
- #include"am2320.h"
- extern int tp,rh;
- extern uchar readdata[8];
- uchar code table[]={"0123456789ABCDEF"};
- void timerconfig();
- void main()
- {
- lcdinit();
- timerconfig();
- delay4s();
- while(1)
- {
- amread();
- writecom(0x80);
- writedata(table[rh/100]);
- writedata(table[rh%100/10]);
- writedata('.');
- writedata(table[rh%10]);
- writecom(0xc0);
- writedata(table[tp/100]);
- writedata(table[tp%100/10]);
- writedata('.');
- writedata(table[tp%10]);
- delay4s();
- }
- }
- void timerconfig()
- {
- TMOD=0X01;
- ET0=1;
- EA=1;
- }
- void timer0() interrupt 1
- {
- TR0=0;
- }
复制代码- #include"am2320.h"
- uchar tmh,tml,rhh,rhl,crc;
- int temp,rh;
- void delay10us()
- {
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- _nop_();
- }
- void delay10ms(uchar t)
- {
- uchar i,j,k;
- for(i=0;i<t;i++)
- for(j=0;j<40;j++)
- for(k=0;k<75;k++);
- }
- void aminit()
- {
- delay10ms(240);
- amport=1;
- }
- void amstart()
- {
- uchar i;
- amport=0;
- i=120;
- while(i--);
- amport=1;
- while(amport);
- while(!amport);
- while(amport);
- }
- uchar amread()
- {
- uchar n,dat;
- for(n=0;n<8;n++)
- {
- while(!amport);
- delay10us();
- delay10us();
- delay10us();
- delay10us();
- dat<<=1;
- if(amport)
- {
- dat|=0x01;
- while(amport);
- }
- }
- return dat;
- }
- void amreaddata()
- {
- amstart();
- rhh=amread();
- rhl=amread();
- tmh=amread();
- tml=amread();
- crc=amread();
- temp=tmh;
- temp<<=8;
- temp|=tml;
- rh=rhh;
- rh<<=8;
- rh|=rhl;
- }
复制代码
所有资料51hei提供下载:
am2320.rar
(2.06 MB, 下载次数: 127)
|