




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 设计题目:高精度电子温度计 DS18B20和数码块等,设计一个智能温度检测器。设计要求:利用单片机STC12C5608AD、温度传感器元件清单: 元件型号、参数 T0 T0溢出中断,并启动开图中标号 令发跳过ROM命CCH 数量10uF电解电容 C5,C7,CR1 N 到否?1s44H 发启动转换命令3 0.1 uF电容 C6,C8 Y 2 3位单排针座 调整显存CON3 N 1 39 pF 电容(贴片) N CY1,CY2 1采样标志置 转换结束否否?2 发光二级管 采样时间到否?D17 Y 1 3位单排针座(DS18B20) Y JK1 位数,并准备下显示1 DS18B20发复位信号 次
2、显示数的序号1 2位共阴数码块 (禁止中TR0=0LED1, LED2 2 2位单排针座(电源) 断)POWER1 令ROM命发跳过 返回1 8050 NPN三极管 对温度采样Q2,Q3,Q4,Q5 4 BEH 发读温度命令 开始开始 10k/5.1k 电阻(贴片)R17,RST132 1k电阻RS1,RS2,RST2,RST3,RST9,RST106 510 电阻RST1,RST4,RST5,RST6,RST7,RST8,RST11,RST12, R189 拨动开关S11 复位按钮ST11 STC12C5608ADU21 STC12C5608AD插座1个 12MHz 晶振Y11 电源线1根
3、下载器 个1 硬件电路: 程序设计:1、数码块驱动 ? STC12C5410AD单片机上电复位后为准双向口/弱上拉模式,2V以上为高电平,0.8V以下为低电平。每个I/O口驱动能力可达20mA,但整个芯片不得超过55mA(或90mA)。I/O口工作方式设定如下(n=3,2,1,0) P3M07:0 P3M17:0 I/O口模式 0 0 准双向口 0 1 强推挽输出 1 0 仅输入 1 1 开漏 ? P3寄存器可位寻址,P3M1、P3M0不可位寻址。 P2口设定:P2M1,P2M0。P2寄存器可位寻址,P2M1、P2M0不可位寻址。 P1口设定:P1M1,P1M0。P1寄存器可位寻址,P1M1、
4、P1M0不可位寻址。 P0口设定:P0M1,P0M0。P0寄存器可位寻址,P0M1、P0M0不可位寻址。 P2M0=0x00。 /P2口设为推挽模式,提高数码块亮度 P2M1=0xff。 P3M0=0x00。 /P3口设为推挽模式 P3M1=0xff。 访问DS18B20、2 复位信号发DS18B20定T0初始化,实现4ms 时 ) (每个数码块显示时间 开始 中断服务子程序图3 T0(开中TR0=1 接收并保存温度数据 断), 对采样数据进行处理 返回 采样标志清零 温度采样流程图图2 主程序流程图图1 ? INITIALIZATION TIMING ? READ/WRITE TIME SL
5、OT TIMING DQ0=0,之后延时2us ,之后延时2usDQ0=0发送1位数据,之后延 ,之后延时2usDQ0=1时120us 位数保存接收到的1 据,之后延时120usDQ0=1,之后延时2us N N 位否?发送完8 位否?接收完8Y Y 返回返回 个字节图4读1个字节1图5写 +1=负数原码大小 负数补码取反 TTEMPERATURE REGISTER FORMA(负数补码-1)取反=负数原码大小 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 LS Byte23 22 21 20 2-1 2-2 2-3 2-4 bit15 bit14 bit13
6、 bit12 bit11 bit10 bit9 bit8 MS ByteS S S S S 26 25 24 TEMPERATURE/DATA RELATIONSHIP TEMPERATURE DIGITAL OUTPUT(Hex)DIGITAL OUTPUT(Binary) +125°C 07D0h0000 0111 1101 0000 C*+85° 0550h0000 0101 0101 0000 C+25.0625° 0191h0000 0001 1001 0001 +10.125°C 00A2h0000 0000 1010 0010 C+0.5&
7、#176; 0008h0000 0000 0000 1000 0°C 0000h0000 0000 0000 0000 -0.5°C FFF8h1111 1111 1111 1000 C-10.125° FF5Eh1111 1111 0101 1110 C-55° FC90h 1111 1100 1001 0000开发工具 Keil开发工具 选择Intel80C51芯片,在源文件中加“#include<STC12C5608AD.H>” STC-ISP-V4.83下载工具 打开程序文件 下载 CP2102下载器驱动软件 程序1.C #inclu
8、de <reg51.h> #define uint unsigned int void delay(uint i)/延时函数 while(i-)。 void main() delay(1000)。 程序1.C的反汇编程序:传统12T的8051模式(1T模式) LJMP STARTUP STARTUP :MOV R0,#0X7F CLR A IDATALOOP:MOV R0,A DJNZ R0, IDATALOOP MOV SP,#0X07 LJMP MAIN MAIN:MOV R7,#0xE8 。 12TOSC(2 TOSC) MOV R6,#0x03 。 12TOSC(2 TOS
9、C) LJMP DELAY 。 24TOSC(4 TOSC) DELAY: MOV A,R7 。 12 TOSC(1 TOSC) DEC R7 。 12 TOSC(3 TOSC) MOV R4,0X06 。 24TOSC(4 TOSC) JNZ D1 。 24 TOSC(3 TOSC) DEC R6 。 12 TOSC(3TOSC) D1: ORL A,R4 。 12 TOSC(2 TOSC) JNZ DELAY 。 24 TOSC(3 TOSC)(若R6,R7都减到0,退出) RET 。 24 TOSC(4 TOSC) R6=y,R7=x时,延迟时间=48+108x+108*256+12*
10、y+12 +24 (TOSC)=84+108*(y*256+x)+12y (TOSC) 8+16x +16*256+3 * y +3+4=15+16*(y*256+x)+3y (TOSC) 或(附录A 电阻电容参数识别 一、电阻 1、电阻的参数标注方法有3种,即数标法、色标法和直标法。 1)数标法。主要用于贴片等小体积电路,如: 472 表示 47×100(即4.7K); 104则表示100K 2)色环标注法。常用的有四色环电阻 五色环电阻(精密电阻)。色环顺序识别技巧: (1)最常用的表示电阻误差的颜色是:金、银、棕,金环和银环绝少用做电阻色环的第一环,所以电阻上若有金环和银环,则
11、这是最末一环。 )棕色环是否是误差标志的判别。可以根据色环之2(间的间隔判别:如一个五道色环的电阻,第五环和第四环之间的间隔比第一环和第二环之间的间隔要宽一 些。)利用电阻的生产序列值加以判别。如一个电阻的3(:值为其黄、棕,序是:棕、黑、黑、色环读,属于正常的电阻系列误差为1100×104=1M值,若是反顺序读:棕、黄、黑、黑、棕,其值为。显然后一种排序的电,误差为1140×100=140 阻值在生产系列中没有,故后一种色环顺序不对。 为值,则阻金 红 ”棕四色环电阻:如“ 红5% ±12×102=1.2K,误差为为值则阻 金”, :电阻如“红 红 黑
12、棕色五环5% ,误差为±220×101=2.2K 二、电容 3种,即数标法、色标法和直标法。1、电容的参数标注方法有10 uF/16V 大容量电容的容量值直接标明,如 小容量电容的容量值用字母表示或数字表示1n=1000PF ,1m=1000 uF,1P2=1.2PF字母表示法: 数字表示法:一般用三位数字表示容量大小,前两位表示有效数字,第三位数字是倍率。104PF=0.22 uF 表示22×224102表示10×102PF=1000PF,如: 1F=103 mF =106 uF =109 nF =1012 pF)(其中: 、电容容量误差表2 F G
13、J K L M 符号20% 10% ±15% ±2% ±允许误差 ±1% ±5% ± 。±0. 1 uF104J如:一瓷片电容为表示容量为、误差为5% 附录B STC12C5608AD单片机 ? STC12C5608AD:工作电压3.5-5.5V,4KB Flash程序存储器,768Bytes SRAM,8路10位A/D转换电路等。 ? 若用户板使用外部晶振,必须在下载程序时,在“STC-ISP”下载软件界面设置“外部晶体或时钟”。 ? STC12C5608AD是1T的8051单片机,为了兼容传统的8051,定时器0和定时器
14、1在复位后是传统8051的速度,即12分频。 ? STC12C5608AD单片机上电复位后为准双向口/弱上拉模式,2V以上为高电平,0.8V以下为低电平。每个I/O口驱动能力可达20mA,但整个芯片不得超过55mA。I/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,#11000000B P3.7为开漏,P3.6为强推挽输出,P3.5为高阻输入,/P3.4/ P3.3/ P3.2/ P3.1/ P3.0为准双向口。 ?
15、P3寄存器可位寻址,P3M1、P3M0不可位寻址。 P2口设定:P2M1,P2M0。P2寄存器可位寻址,P2M1、P2M0不可位寻址。 P1口设定:P1M1,P1M0。P1寄存器可位寻址,P1M1、P1M0不可位寻址。 P0口设定:P0M1,P0M0。P0寄存器可位寻址,P0M1、P0M0不可位寻址。 附录C STC12C5410AD单片机 ? STC12C5410AD:工作电压3.5-5.5V,10KB Flash程序存储器,512Bytes SRAM,8路10位A/D转换电路等。 ? STC12C5410AD是1T的8051单片机,为了兼容传统的8051,定时器0和定时器1在复位后是传统8
16、051的速度,即12分频。 ? STC12C5608AD单片机上电复位后为准双向口/弱上拉模式,2V以上为高电平,0.8V以下为低电平。每个I/O口驱动能力可达20mA,但整个芯片不得超过55mA。I/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,#11000000B P3.7为开漏,P3.6为强推挽输出,P3.5为高阻输入,/P3.4/ P3.3/ P3.2/ P3.1/ P3.0为准双向口。 ? P3寄存器可位寻址
17、,P3M1、P3M0不可位寻址。 P2口设定:P2M1,P2M0。P2寄存器可位寻址,P2M1、P2M0不可位寻址。 P1口设定:P1M1,P1M0。P1寄存器可位寻址,P1M1、P1M0不可位寻址。 不可位寻址。P0M0、P0M1寄存器可位寻址,P0。P0M0,P0M1口设定:P0附录D DS1820 * DQ(引脚2):数据输入输出引脚,漏极开路。 5k单线总线要求左右的上拉电阻。 * DS1820的两种充电方式:停止,给内部电容充电;L1) DQ充电方式。DQ=H 充电。 5V 电源供电。2)用外部 D0,再高位* DS1820 8位数据发送顺序:先低位 方框图图1 DS1820 DS1
18、8B20 内部寄存器阵列暂存存贮器1) * 2、3字节:是TH 、TL 的易失性拷贝,在每一次上电 0Temp_read低字节 复1Temp_read高字节 位时被刷新。2高限报警温度值TH 字节:是计数寄存器,用于获得较高的温度分辨率。* 73低限报警温度值TL 个字字节它,是前面8 8* 字节:为循环冗余校验CRC 4保留 节5保留 6 的CRC 值。计数(Count_remain) 7单位温度计数(Count_per_c) CRC8 秒(典型值)内把温度变换为数字。1 在* DS1820 温度/数据关系(数字输出=(温度/2)的补码) 数字输出十六进制二进制/温度数字输出 00FAh00
19、000000 11111010+125 0032h+2500000000 00110010 小数:0, 0.0 0001h00000000 00000001+1/2 1, 0.5 0000h+000000000 00000000 FFFFh-1/211111111 11111111 7位整数 FFCEh-2511111111 11001110 FF92h11111111 10010010-558 位符号 高精度温度计算公式: * 访问DS1820 的协议:初始化ROM 操作命令存贮器操作命令处理/数据 1) 初始化:总线主机发一复位脉冲(最短为480 s 的低电平信号)后,释放总线;DS182
20、0检测到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 位ROM 序列严格相符的DS1820 才能对后继的存贮器操作命令作出响应,所有与64位ROM 序列不符的从片将等待复位脉冲; (3) Skip
21、ROM( 跳过ROM ) CCh:允许主机不提供64 位ROM 编码而访问存储器; (4) Search ROM( 搜索ROM) F0h:允许主机使用一种消去elimination 处理来识别总线上所有从片的64 位ROM 编码; (5) Alarm Search(告警搜索) ECh:命令流程与搜索ROM 命令相同,但仅在最近一次温度测量出现告警的情况下,DS1820才对此命令作出响应,告警的条件定义为温度高于TH 或低于TL。只要DS1820 一上电,告警条件就保持在设置状态,直到另一次温度测量显示出非告警值或者改变TH 或TL 的设置,使得测量值再一次位于允许的范围之内,贮存在EEPROM
22、 内的触发器值用于告警。 3) 存贮器操作命令 指令代码说明单总线的操作 读温度态: 0,DS18201,温度变换完成读9 字节数据写数据至地址3处和 3的2 个字节2和读复制状态读温度忙状态读电源状态温度变换44h启动温度变换 读暂存存储器BEh从暂存存储器读字节 写字节至暂存存储器2 和写暂存存储器4Eh (TH 和TL 温度触发器)把暂存存储器复制到非易性存复制暂存存储43h储器E2PROM(仅地址 器 3) 把贮存在非易失性存储器内的重新调出 E3h数值重新调入暂存存储器(温 E2PROM 度触发器) 发DS1820 电源方式的信号至读电源B4h 主机 温度变换需2秒忙始于字,直至字CR) 存储器操作举例:温度变换与内插假定采用外部电源,且仅有一个DS1820主数据注 释 机(LSB方在先) 式 TXCCh跳过ROM命令 TX44h启动温度变换命令 RX1 个数读“忙”标志3 据字节为FFh(温度变换完成) TXReset 复位脉冲(最短为 (复位) RXPresence存在脉冲(60-240 (存次。主机连续读字节或位,直至数480 s的低电平信号s的低电平信号 在) TX TX RX CCh 跳过 BEh Read Scratchpad 读整个暂存存储器。主机计算从暂存存储器接收到9 个数的8 据字节ROM命令 读暂
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 供应链管理风险评估与应对工具
- 服装技工考试题及答案
- 物流规划与成本优化工具介绍
- 春雨中的故事写景作文11篇
- 发酵工程考试题及答案
- 我的好友小李写人作文(12篇)
- 项目资金落实承诺书8篇
- (正式版)DB15∕T 3377-2024 《油莎豆脱脂粉生产加工技术规程》
- 农村生态旅游资源开发合作合同
- (正式版)DB15∕T 3260-2023 《河流湖泊代码》
- 第9课《天上有颗“南仁东星”》课件 2025-2026学年统编版八年级语文上册
- 早读的好处教学课件
- 人教版高一上学期数学(必修一)《1.3集合的基本运算》同步练习题及答案
- 大店童装开业活动方案
- 储冷培训课程
- 神经外科护理质量改善十佳案例
- 体育培训行业合伙协议书
- 农发行退休中人待遇新政
- 食品异物赔偿协议书
- 老年社会支持网络的构建与效果评估-全面剖析
- 学生午托安全管理制度
评论
0/150
提交评论