




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、51单片机 AT89S52与DS18B20接口电路硬件电路原理图*.7K8JP-D E37CC10泗DATL JDS18B20Pl 0VCCPl .1P0 JOPl JPC .1Pl 3POJPl .4P0 3Pl JP0 .4Pl 6F0 JPl 3P0 £RSTXVPDPO 7F3 JO 眼 xD13 2 JNTOPSENP3 3 4NT1P2 .718 4/10P2 £KP2 JP3 £ WRP2 .4P3 .7 jRDP2 3XTAL2PQ 2XTAL1PL1底ND说n41314RSt 6DPY.3 . a . w . aO Q Q O 山山疗W <
2、tp dp dp dp = ri e O 6 U CJ DPY4LEDLEDAT89S52图AT89S52与DS18B20组成的测温系统原理图51单片机AT89S52与DS18B20接口 C语言源程序#include<reg52.h>code unsigned char seg7code11=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40; /显示段码void Delay(unsigned int tc) /显示延时程序while( tc != 0 )unsigned int i;for(i=0; i<100; i
3、+);tc-;sbit TMDAT =P3A1; /DS18B20的数据输入/输出脚DQ根据情况设定unsigned int sdata;/测量到的温度的整数部分unsigned char xiaoshu1;/小数第一位unsigned char xiaoshu2;/小数第二位unsigned char xiaoshu;/两位小数bit fg=1;/温度正负标志void dmsec (unsigned int count) /(unsigned char i;while(count-)for(i=0;i<115;i+);void tmreset (void) /发送复位unsigned
4、char i;TMDAT=0; for(i=0;i<103;i+);TMDAT = 1; for(i=0;i<4;i+);bit tmrbit (void) /读一位 /unsigned int i;bit dat;TMDAT = 0;i+;TMDAT = 1;i+; i+; /微量延时/dat = TMDAT;for(i=0;i<8;i+);return (dat);unsigned char tmrbyte (void) /unsigned char i,j,dat;dat = 0;for (i=1;i<=8;i+) j = tmrbit(); dat = (j &
5、lt;< 7) | (dat >> 1); return (dat);延时部分读一个字节void tmwbyte (unsigned char dat) /写一个字节unsigned char j,i;bit testb;for (j=1;j<=8;j+)( testb = dat & 0x01;dat = dat >> 1;if (testb)( TMDAT = 0;/写 0i+; i+;TMDAT = 1;for(i=0;i<8;i+); else( TMDAT = 0;/for(i=0;i<8;i+);TMDAT = 1;i+; i
6、+;void tmstart (void)/发送ds1820开始转换( tmreset(); /复位dmsec(1); /延时tmwbyte(0xcc); /跳过序列号命令tmwbyte(0x44); /发转换命令44H,void tmrtemp (void)/读取温度(unsigned char a,b;tmreset (); /复位dmsec (1); /延时tmwbyte (0xcc); /跳过序列号命令tmwbyte (0xbe); /发送读取命令a = tmrbyte (); /读取低位温度b = tmrbyte (); /读取高位温度if(b>0x7f) /最高位为1时温度是
7、负(a=a; b=b+1;/补码转换,取反加一fg=0;/)读取温度为负时fg=0sdata = a/16+b*16;/整数部分xiaoshul = (a&0x0f)*10/16; /小数第一位xiaoshu2 = (a&0x0f)*100/16%10;/小数第二位xiaoshu=xiaoshu1*10+xiaoshu2; /小数两位void DS18B20PRO(void)( tmstart();/dmsec(5); /如果是不断地读取的话可以不延时/tmrtemp(); /读取温度,执行完毕温度将存于 TMP中/void Led()if(fg=1) /温度为正时显示的数据(
8、 P2=P2&0xef;P0=seg7codesdata/10;/输出十位数Delay(8); P2=P2|0xf0; P2=P2&0xdf;P0=seg7codesdata%10|0x80; /输出个位和小数点Delay(8); P2=P2|0xf0; P2=P2&0xbf;P0=seg7codexiaoshu1; /输出小数点后第一位Delay(8); P2=P2|0xf0; P2=P2&0x7f;P0=seg7codexiaoshu2; /输出小数点后第二位Delay(4); P2=P2|0xf0;if(fg=0) /温度为负时显示的数据( P2=P2&a
9、mp;0xef;P0=seg7code11;/负号Delay(8); P2=P2|0xf0; P2=P2&0xdf;P0=seg7codesdata/10|0x80; /输出十位数Delay(8); P2=P2|0xf0; P2=P2&0xbf;P0=seg7codesdata%10; /输出个位和小数点Delay(8); P2=P2|0xf0; P2=P2&0x7f;P0=seg7codexiaoshu1; /输出小数点后第一位Delay(4); P2=P2|0xf0;)main()(fg=i;while(1)(DS18B20PRO();Led();)RS232串口原
10、理图Ul: AC166 |_2 4C2 -i- 0106 L_&<11Th飞Am4jkI1PlDB9RA/MC1 +vccCl-V +C2 +U-C2-GNDRXINTXINTXQul1114C3Cl$C406cs nr33? 15 d"C6 LC336I C7 C225R3R203Pt 2Pl 3TXDPieRXP Plivcc引 EWVPGNDX2RESETz P2°(MdP21U2 ATS9CS2744163829404142432.1 DS18B20的内外结构DS18B2附外部结构如图1所示。其中,VD以电源输入端,DQ为数字信号输入 /输出端,GND
11、%电源地。GND DQ Vw圈1 DS18B10外部携构DS18B2(rt部结构主要包括4部分:64位光刻ROM温度传感器、非易失的温度 报警触发器TH和TL、配置寄存器,如图2所示。14J£h Lt.Mtta64位 AMROMi 一如存fit.新逢制些tJ 1T-*WaiM&BTIi L1SWCRC 发生ICKVSS 2 DSIBB3G ABttK64位ROW,在产品出厂前就被厂家通过光刻刻录好了 64位序列号。该序列号 可以看作是DS18B2巾勺地址序列码,用来区分每一个 DS18B20从而更好地实现 对现场温度的多点测量。图2中的暂存器是DS18B2仲最重要的寄存器。暂
12、存器由9个字节组成,各字节 定义如表1所歹0。A 1字节分配哀字V定 Jt0所制度值低g位1所测源度演高2«SMV 值3457保iff8环冗命校»<CRC)ffl配置寄存器用丁用户设置温度传感器的转换精度,其各位定义如下:TM位是测试模式位,用丁设置 DS18B2况工作模式(0)还是测试模式(1),其出 厂值为0。R1、R0用丁设置温度传感器的转换精度:00,分辨率为9位,转换时 间为93.75ms; 01,分辨率为10位,转换时间为187.5 m§ 10,分辨率为11位, 转换时间为375 ms; 11,分辨为12位,转换时间为750 ms。R1、R0的出
13、厂值 为11。其余5位值始终为1。第0和第1字节为16位转换后的温度二进制值,其中前 4位为符号位,其余12 位为转换后的数据位(分辨率为12位)。如果温度大丁 0,则前4位值为0,只要 将测到的数值乘上0.062 5即可得到实际温度值;如果温度小丁 0,则前4位为 1,需将测得的数值取反加1后,再乘上0.062 5。第0和第1字节各位的二进 制值如下:2.2 DS18B20的应用电路结构按DS18B20勺供电方式,其应用电路结构可分为如下 3种:寄生电源供电方式; 寄生电源强上拉供电方式;外部电源供电方式。 实际应用中,以外部电源供电方 式为主。其应用原理图如图3所示。VCC DS18B2。
14、4.7kil图3外部电源供电JH理图根据DS18B2巾勺通信协议,MCIM其操作主要有如下3个步骤:读写之前,对 DS18B2破送约500诉s的低电平进行复位;复位成功,发送ROM旨令;发送RAM 指令。MClM DS18B20勺具体操作流程如图4所示。写ROM曲令44H (启动温度转换)S 4 DS18B2Q操作撩程3 Linux 的DS18B20!动程序实现选取mini2440开发板为硬件平台(主芯片为Samsun必司的S3C2440),选取 Linux的最新内核Linux2.6.29 为软件平台。通过mini2440的扩展接口引出 GPIO 口 (GPBl)为数据线DQDS18B2景单总
15、线器件,因此对其操作的时序比较严格。DS18B20!动最终能否得以正常运行,获得实时温度值,关键在丁能否正确地编写复位程序、位写程序 和位读程序。3.1 复位程序 2.3 DS18B20的工作原理对DS18B2(ffi行读写之前要对其复位初始化,以检测DS18B2C®勺存在。复位要求 MCU务数据线下拉480960从s,再释放数据线,等待约60从s。若MClft收 到DS18B20S出的存在低电平,则表示复位成功。卜面是复位程序代码:Wddi* DQ S3CE41OGPB1定义引脚宏,以更改 GPIO 口M define DQ_INPUT S3C241O_GPB1 JNP"
16、糖入功俺defm« DQ-OUTPUT S3C241G GPBlOUTI1 ”物出功能 void r«et( void)(do (s3c2< 10_gpio_dgpin< DQ. DQ_OUTPUT) i"设置引冏为输出s3c2 41 Owgpk>_Mtpin< DQ 9 1)(udelayfl):s3t以1。里pkvrtpi应DQ.”产生下降沿udthy(600>j/ MCU 理 tH 6Q0 a 低电平91Q_gp虹gpinfg. Dt /«E回为高电平udeUy(60) t)whik«a3c2410_jjp&
17、#187;_Eetpin(DQ»! -0>i"检测是哲收到器件存在惬电平whtk( (s3c2410_gpio_getpin(DQ) = = 0)(等待DS18欧低电平靖束3.2写1字节子程序发送ROM: RAM旨令,需向DS18B2S入数据。写1字节子程序如下:void wnlcbyteCuthsr romd) uchar ii-c241Opiaf«pm(DQtDQj)UTPUT)t 设置为出 for <i -Ofi<Sti+)(H心410_gpio_spiMDQ, 0)j “产生下降沿 udelayt 1) jif< comd&
18、-0x01)事3或4lQ_gpi匕辨tpinfDQ* 1) t若为1,则设置败据蜿为1udelay(65);"等待 DS18B20 采律完毕s3t2410_gpio_setpin(DQ. l)i 拉间为高电平 tomd = mmdA> 1 #3.3读N字节子程序当温度转换完毕,需从 DS18B2巾勺RAMfr读取第0和第1字节的二进制数据读1字节子程序如下:uchar readbytrC void) uchar itIrmp0|for(i0 ii<18i i + + )tcmp> > = 1 ;s3c2410_gpio_cfgpinCDQ, DQ_OUTPUT> t"设置为输出s3c24iO_gpio_serpin(DQ, 0)iuddfiyt 1) <53.24lOgpgsetpnKDQ, lh 彼为高电平 s3c2410_gpiocfflpm(DQ.DQ INPUT).设置为输入帛放数据貌udelayC 10) ii«sic24 IO_gpio_E*tpin(DQ) ttmjj-1 (tempi 0x80);敷摒为】delay C 65) r s3c24I0_gpio_e£Spin( DQ+ DQ_ OUTPUT) t *3c24 10Rpio_retpn<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现场勘查培训课件模板
- 2025年工业互联网平台AR交互技术在工业4.0时代的企业竞争力提升报告
- 现券交易员入门知识培训
- 辽宁省凌源市第三中学2026届化学高三上期中预测试题含解析
- 现代服务业知识培训
- 2025年注册会计师(CPA)考试 会计科目专项训练冲刺押题卷
- 2025年造价工程师考试模拟试卷 工程造价编制冲刺押题
- 2025年Python二级考试冲刺试卷 模拟实战
- 2026届吉林省舒兰一中、吉化一中、九台一中、榆树实验中学等八校联考高三上化学期中复习检测模拟试题含解析
- 玩具电商入门知识培训课件
- 向量数量积说课课件-2023-2024学年高一下学期数学人教A版(2019)必修第二册
- 血液透析护理质量指标评价标准
- TCAWAORG 014-2024 老年综合评估及干预技术应用规范
- 《中国园林艺术文化》课件
- 汽车配件营销与管理
- 《红楼梦》(解析版)
- 2025年医院急诊科工作计划
- 人教版八年级物理上册《第四章光现象》单元测试卷(带答案)
- 学校购买文具用品的供货合同2025年
- 工程项目全过程造价管理课件
- 物业保安各岗位培训
评论
0/150
提交评论