收藏 分享(赏)

11级_单片机课程设计_学生.doc

上传人:gsy285395 文档编号:4120822 上传时间:2018-12-10 格式:DOC 页数:13 大小:382.02KB
下载 相关 举报
11级_单片机课程设计_学生.doc_第1页
第1页 / 共13页
11级_单片机课程设计_学生.doc_第2页
第2页 / 共13页
11级_单片机课程设计_学生.doc_第3页
第3页 / 共13页
11级_单片机课程设计_学生.doc_第4页
第4页 / 共13页
11级_单片机课程设计_学生.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、基于 DS18B20 和 STC12C 单片机的高精度温度计11 级 _单片机课程设计指导老师:廖迎新设计题目:高精度电子温度计设计要求:利用单片机 STC12C5608AD、温度传感器 DS18B20 和数码块等,设计一个智能温度检测器。元件清单:元件型号、参数 图中标号 数量10uF 电解电容 C5, C7, CR1 30.1 uF 电容 C6, C8 23 位单排针座 CON3 139 pF 电容(贴片) CY1,CY2 2发光二级管 D17 13 位单排针座(DS18B20) JK1 12 位共阴数码块 LED1, LED2 22 位单排针座(电源) POWER1 18050 NPN

2、三极管 Q2,Q3 ,Q4 ,Q5 410k/5.1k 电阻(贴片) R17, RST13 21k电阻 RS1,RS2,RST2,RST3 ,RST9, RST10 6510 电阻 RST1,RST4,RST5,RST6,RST7,RST8,RST11,RST12, R18 9拨动开关 S1 1复位按钮 ST1 1STC12C5608AD U2 1STC12C5608AD 插座 1 个12MHz 晶振 Y1 1电源线 1 根下载器 1 个基于 DS18B20 和 STC12C 单片机的高精度温度计硬件电路: 10uFCRSTP2.3X/4D5AL6789GNVUYMpKBEI-QOJ /P2

3、口设为推挽模式,提高数码块亮度P2M1=0xff;P3M0=0x00; /P3 口设为推挽模式P3M1=0xff;基于 DS18B20 和 STC12C 单片机的高精度温度计2、 DS18B20 访问图 2 温度采样流程图发 DS18B20 复位信号发跳过 ROM 命令CCH发读温度命令 BEH发启动转换命令 44HY转换结束否否? N发 DS18B20 复位信号发跳过 ROM 命令CCH接收并保存温度数据返回图 1 主程序流程图T0 初始化,实现 4ms 定时(每个数码块显示时间)开 T0 溢出中断,并启动 T0调整显存采样时间到否?Y对温度采样TR0=0(禁止中断)TR0=1(开中断)对采

4、样数据进行处理,采样标志清零N图 3 T0 中断服务子程序Y返回显示 1 位数,并准备下次显示数的序号采样标志置 11s 到否?开始N INITIALIZATION TIMING READ/WRITE TIME SLOT TIMING基于 DS18B20 和 STC12C 单片机的高精度温度计YDQ0=0,之后延时 2us返回DQ0=1,之后延时 2us保存接收到的 1 位数据,之后延时 120us接收完 8 位否?开始N图 4 读 1 个字节NYDQ0=0,之后延时 2us返回DQ0=1,之后延时 2us发送 1 位数据,之后延时 120us发送完 8 位否?开始图 5 写 1 个字节TEM

5、PERATURE REGISTER FORMATbit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0LS Byte 23 22 21 20 2-1 2-2 2-3 2-4bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8MS Byte S S S S S 26 25 24TEMPERATURE/DATA RELATIONSHIPTEMPERATURE DIGITAL OUTPUT(Binary) DIGITAL OUTPUT(Hex)+125C 0000 0111 1101 0000 07D0h+85C* 0000 0101 0

6、101 0000 0550h+25.0625C 0000 0001 1001 0001 0191h+10.125C 0000 0000 1010 0010 00A2h+0.5C 0000 0000 0000 1000 0008h0C 0000 0000 0000 0000 0000h-0.5C 1111 1111 1111 1000 FFF8h-10.125C 1111 1111 0101 1110 FF5Eh负数补码取反+1=负数原码大小(负数补码-1)取反= 负数原码大小基于 DS18B20 和 STC12C 单片机的高精度温度计-55C 1111 1100 1001 0000 FC90h

7、基于 DS18B20 和 STC12C 单片机的高精度温度计开发工具Keil 开发工具选择 Intel80C51 芯片,在源文件中加“#include”STC-ISP-V4.83 下载工具MCU Type COM 打开程序文件 DOWNLOAD/下载CP2102 下载器驱动软件基于 DS18B20 和 STC12C 单片机的高精度温度计程序 1.C#include #define uint unsigned intvoid delay(uint i)/延时函数 while(i-);void main()delay(1000);程序 1.C 的反汇编程序:传统 12T 的 8051 模式(1T

8、模式)LJMP STARTUPSTARTUP :MOV R0,#0X7FCLR AIDATALOOP:MOV R0,ADJNZ R0, IDATALOOPMOV SP,#0X07LJMP MAINMAIN:MOV R7,#0xE8 ; 12TOSC(2 T OSC)MOV R6,#0x03 ; 12TOSC(2 T OSC)LJMP DELAY ; 24TOSC(4 T OSC)DELAY: MOV A,R7 ; 12 TOSC(1 T OSC)DEC R7 ; 12 TOSC(3 T OSC)MOV R4,0X06 ; 24TOSC(4 T OSC)JNZ D1 ; 24 TOSC(3 T

9、OSC)DEC R6 ; 12 TOSC(3T OSC)D1: ORL A,R4 ; 12 TOSC(2 T OSC)JNZ DELAY ; 24 TOSC(3 T OSC) (若 R6,R7 都减到 0,退出)RET ; 24 TOSC(4 T OSC)R6=y,R7=x 时,延迟时间=48+108x+108*256+12* y+12 +24 (T OSC)=84+108*(y*256+x)+12y (TOSC)(或 8+16x +16*256+3 * y +3+4=15+16*(y*256+x)+3y (TOSC)基于 DS18B20 和 STC12C 单片机的高精度温度计附录 A 电阻电

10、容参数识别一、电阻1、电阻的参数标注方法有 3 种,即数标法、色标法和直标法。1) 数标法。主要用于贴片等小体积电路,如:472 表示 47100(即 4.7K) ; 104 则表示 100K2) 色环标注法。常用的有四色环电阻 五色环电阻(精密电阻) 。色环顺序识别技巧:(1 )最常用的表示电阻误差的颜色是:金、银、棕,金环和银环绝少用做电阻色环的第一环,所以电阻上若有金环和银环,则这是最末一环。 (2 )棕色环是否是误差标志的判别。可以根据色环之间的间隔判别:如一个五道色环的电阻,第五环和第四环之间的间隔比第一环和第二环之间的间隔要宽一些。 (3 )利用电阻的生产序列值加以判别。如一个电阻

11、的色环读序是:棕、黑、黑、黄、棕,其值为:100104=1M 误差为 1,属于正常的电阻系列值,若是反顺序读:棕、黄、黑、黑、棕,其值为140100=140,误差为 1。显然后一种排序的电阻值在生产系列中没有,故后一种色环顺序不对。四色环电阻:如“棕 红 红 金” ,则阻值为12102=1.2K,误差为5% 五色环电阻:如“红 红 黑 棕 金” ,则阻值为220101=2.2K,误差为5%二、电容1、电容的参数标注方法有 3 种,即数标法、色标法和直标法。大容量电容的容量值直接标明,如 10 uF/16V小容量电容的容量值用字母表示或数字表示字母表示法:1m=1000 uF,1P2=1.2PF

12、,1n=1000PF 数字表示法:一般用三位数字表示容量大小,前两位表示有效数字,第三位数字是倍率。如:102 表示 10102PF=1000PF,224 表示 22104PF=0.22 uF(其中:1F=10 3 mF =106 uF =109 nF =1012 pF)2、电容容量误差表符号 F G J K L M允许误差 1% 2% 5% 10% 15% 20%如:一瓷片电容为 104J 表示容量为 0. 1 uF、误差为5%。基于 DS18B20 和 STC12C 单片机的高精度温度计附录 B STC12C5608AD 单片机 STC12C5608AD:工作电压 3.5-5.5V,4KB

13、 Flash 程序存储器, 768Bytes SRAM,8 路 10 位 A/D 转换电路等。 若用户板使用外部晶振,必须在下载程序时,在“STC-ISP”下载软件界面设置“外部晶体或时钟”。 STC12C5608AD 是 1T 的 8051 单片机,为了兼容传统的 8051,定时器 0 和定时器 1 在复位后是传统8051 的速度,即 12 分频。 STC12C5608AD 单片机上电复位后为准双向口/弱上拉模式, 2V 以上为高电平,0.8V 以下为低电平。每个 I/O 口驱动能力可达 20mA,但整个芯片不得超过 55mA。I/O 口工作方式设定如下(n=3,2,1,0)P3M07:0

14、P3M17:0 I/O 口模式0 0 准双向口0 1 强推挽输出1 0 仅输入1 1 开漏举例:MOV P3M0,#10100000B; MOV P3M1,#11000000BP3.7 为开漏,P3.6 为强推挽输出,P3.5 为高阻输入,/P3.4/ P3.3/ P3.2/ P3.1/ P3.0 为准双向口。 P3 寄存器可位寻址,P3M1 、P3M0 不可位寻址。P2 口设定:P2M1 ,P2M0。 P2 寄存器可位寻址,P2M1、 P2M0 不可位寻址。P1 口设定:P1M1 ,P1M0。 P1 寄存器可位寻址,P1M1、 P1M0 不可位寻址。P0 口设定:P0M1 ,P0M0。 P0

15、 寄存器可位寻址,P0M1、 P0M0 不可位寻址。附录 C STC12C5410AD 单片机 STC12C5410AD:工作电压 3.5-5.5V,10KB Flash 程序存储器, 512Bytes SRAM,8 路 10 位 A/D 转换电路等。 STC12C5410AD 是 1T 的 8051 单片机,为了兼容传统的 8051,定时器 0 和定时器 1 在复位后是传统8051 的速度,即 12 分频。 STC12C5608AD 单片机上电复位后为准双向口/弱上拉模式, 2V 以上为高电平,0.8V 以下为低电平。每个 I/O 口驱动能力可达 20mA,但整个芯片不得超过 55mA。I/

16、O 口工作方式设定如下(n=3,2,1,0)P3M07:0 P3M17:0 I/O 口模式0 0 准双向口0 1 强推挽输出1 0 仅输入1 1 开漏举例:MOV P3M0,#10100000B; MOV P3M1,#11000000BP3.7 为开漏,P3.6 为强推挽输出,P3.5 为高阻输入,/P3.4/ P3.3/ P3.2/ P3.1/ P3.0 为准双向口。 P3 寄存器可位寻址,P3M1 、P3M0 不可位寻址。P2 口设定:P2M1 ,P2M0。 P2 寄存器可位寻址,P2M1、 P2M0 不可位寻址。P1 口设定:P1M1 ,P1M0。 P1 寄存器可位寻址,P1M1、 P1

17、M0 不可位寻址。基于 DS18B20 和 STC12C 单片机的高精度温度计P0 口设定:P0M1 ,P0M0。 P0 寄存器可位寻址,P0M1、 P0M0 不可位寻址。附录 D DS1820* DQ(引脚 2):数据输入输出引脚,漏极开路。单线总线要求 5k 左右的上拉电阻。* DS1820的两种充电方式:1) DQ充电方式。DQ=H,给内部电容充电; L停止充电。2)用外部 5V 电源供电。* DS1820 8 位数据发送顺序:先低位 D0,再高位图 1 DS1820 方框图DS18B20 内部寄存器阵列1) 暂存存贮器0 Temp_read 低字节1 Temp_read 高字节2 高限

18、报警温度值 TH3 低限报警温度值 TL4 保留5 保留基于 DS18B20 和 STC12C 单片机的高精度温度计* 2、3 字节:是 TH 、TL 的易失性拷贝,在每一次上电复位时被刷新。* 7 字节:是计数寄存器,用于获得较高的温度分辨率。* 8 字节:为循环冗余校验 CRC 字节它,是前面 8 个字节的 CRC 值。* DS1820 在 1 秒(典型值)内把温度变换为数字。温度/ 数据关系(数字输出=(温度/2)的补码)高精度温度计算公式: cpercountmainttreadtmpteprau _25.0_6 计数(Count_remain)7 单位温度计数(Count_per_c

19、 )8 CRC温度 数字输出/二进制 数字输出十六进制+125 00000000 11111010 00FAh+25 00000000 00110010 0032h+1/2 00000000 00000001 0001h+0 00000000 00000000 0000h-1/2 11111111 11111111 FFFFh-25 11111111 11001110 FFCEh-55 11111111 10010010 FF92h 小数:0, 0.0 1, 0.57 位整数8 位符号基于 DS18B20 和 STC12C 单片机的高精度温度计* 访问 DS1820 的协议:初始化ROM 操作

20、命令存贮器操作命令处理/数据1) 初始化:总线主机发一复位脉冲(最短为 480 s 的低电平信号)后,释放总线;DS1820 检测到I/O 引脚的上升沿后,等待 15-60s,接着送出存在脉冲(60-240s 的低电平信号) 。2) ROM 操作命令:主机检测到从属器件存在,可发器件 ROM 操作命令之一:(1) Read ROM(读 ROM) 33h:主机读 DS1820 的 8 位产品系列编码、48 位序列号以及 8 位 CRC。(2) Match ROM( 符合 ROM) 55h:命令后继以 64 位的 ROM 数据序列,允许总线主机对多点总线上特定的 DS1820 寻址,只有与 64

21、位 ROM 序列严格相符的 DS1820 才能对后继的存贮器操作命令作出响应,所有与 64 位 ROM 序列不符的从片将等待复位脉冲;(3) Skip ROM( 跳过 ROM ) CCh:允许主机不提供 64 位 ROM 编码而访问存储器;(4) Search ROM( 搜索 ROM) F0h:允许主机使用一种消去 elimination 处理来识别总线上所有从片的64 位 ROM 编码;(5) Alarm Search(告警搜索) ECh:命令流程与搜索 ROM 命令相同,但仅在最近一次温度测量出现告警的情况下,DS1820 才对此命令作出响应,告警的条件定义为温度高于 TH 或低于 TL。

22、只要 DS1820 一上电,告警条件就保持在设置状态,直到另一次温度测量显示出非告警值或者改变 TH 或 TL 的设置,使得测量值再一次位于允许的范围之内,贮存在 EEPROM 内的触发器值用于告警。3) 存贮器操作命令指令 代码 说明 单总线的操作 注温度变换 44h 启动温度变换读温度转换状态:0,DS1820 忙;1,温度变换完成温度变换需要 2 秒钟读暂存存储器 BEh 从暂存存储器读字节 读 9 字节数据 始于字节 0,直至字节 8(CRC) 。写暂存存储器 4Eh 写字节至暂存存储器 2 和 3 处(TH 和 TL 温度触发器) 写数据至地址 2 和3 的 2 个字节复制暂存存储器

23、 43h 把暂存存储器复制到非易性存储器E2PROM(仅地址 2 和 3) 读复制状态重新调出E2PROM E3h把贮存在非易失性存储器内的数值重新调入暂存存储器(温度触发器) 读温度忙状态读电源 B4h 发 DS1820 电源方式的信号至主机 读电源状态存储器操作举例:温度变换与内插假定采用外部电源,且仅有一个 DS1820主机方式 数据(LSB 在先) 注 释TX CCh 跳过 ROM 命令TX 44h 启动温度变换命令RX 1 个数据字节 读“忙 ”标志 3 次。主机连续读字节或位,直至数据为 FFh(温度变换完成)TX Reset (复位) 复位脉冲(最短为 480 s 的低电平信号)

24、基于 DS18B20 和 STC12C 单片机的高精度温度计RX Presence(存在) 存在脉冲(60-240s 的低电平信号)TX CCh 跳过 ROM 命令TX BEh Read Scratchpad 读暂存存储器命令RX 9 个数据字节 读整个暂存存储器。主机计算从暂存存储器接收到的 8 个数据位的 CRC, 并将它与接收到的 CRC 相比较。如果 CRC 相符,数据有效,主机保存温度的数值,并把计数寄存器和单位温度计数寄存器的内容分别作为 COUNT_REMAIN 和COUNT_PER_C 加以保存TX Reset(复位) 复位脉冲RX Presence 存在 存在脉冲,操作完成附

25、录 E DS18B20TEMPERATURE REGISTER FORMATbit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0LS Byte 23 22 21 20 2-1 2-2 2-3 2-4bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8MS Byte S S S S S 26 25 24TEMPERATURE/DATA RELATIONSHIPTEMPERATURE DIGITAL OUTPUT(Binary) DIGITAL OUTPUT(Hex)+125C 0000 0111 1101 0000 07D0h+85C* 0000 0101 0101 0000 0550h+25.0625C 0000 0001 1001 0001 0191h+10.125C 0000 0000 1010 0010 00A2h+0.5C 0000 0000 0000 1000 0008h0C 0000 0000 0000 0000 0000h-0.5C 1111 1111 1111 1000 FFF8h-10.125C 1111 1111 0101 1110 FF5Eh-25.0625C 1111 1110 0110 1111 FE6Fh-55C 1111 1100 1001 0000 FC90h

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 课程设计

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报