版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子工业出版社单片机控制技术项目式教程
(C语言版)电子工业出版社项目10数字温度采集系统的设计能了解A/D转换器的相关技术指标;能理解ADC0809的工作原理与应用方法;能掌握ADC0809与51单片机的接口方法;能掌握DS18B20的工作原理和应用方法;能掌握数字温度采集系统的硬件电路的分析与设计方法;能熟练编写数字温度采集系统的单片机控制程序。学习目标叙述A/D转换器的技术指标要求;叙述ADC0809的工作原理;叙述DS18B20的工作原理;设计单片机控制的数字温度采集系统的工作电路;编写数字温度采集系统的单片机控制程序。工作任务任务10.1数字电压表的设计任务10.2数字温度采集系统的设计项目拓展串行A/D转换芯片PCF8591在实验板上的应用项目小结思考与训练项目10数字温度采集系统的设计任务10.1数字电压表的设计能够将模拟量转换成数字量的器件称为模/数(A/D)转换器。10.1.1A/D转换器的基本原理
1.A/D转换器的主要指标(1)分辨率:A/D转换器能分辨的最小模拟输入量。也就是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。通常用能转换成的数字量的位数来表示,如8位、10位、12位、16位等。位数越高,分辨率越高。(2)转换时间:A/D转换器完成一次转换所需的时间。转换时间是编程时必须考虑的参数。(3)量程:A/D转换器所能转换的输入电压范围,如5V、10V等。(4)精度:与数字输出量所对应的模拟输入量的实际值与理论值之间的差值。有绝对精度和相对精度两种表示方法。常用数字量的位数作为度量绝对精度的单位,如精度为±1/2LSB,而用百分比来表示满量程时的相对误差,如±0.05%。2.A/D转换器的分类按转换原理可分为逐次逼近(比较)式、双积分式、计数式和并行式A/D转换器;按其分辨率可分为8~16位的A/D转换器芯片。目前最常用的是逐次逼近式和双积分式。逐次逼近式A/D转换器是一种速度较快、精度较高的转换器,其转换时间在几微秒到几百微秒之间。常用产品有ADC0801~ADC0805型8位MOS型A/D转换器、ADC0808/0809型8位MOS型A/D转换器、ADC0816/0817型8位MOS型A/D转换器、AD574型快速12位A/D转换器。双积分式A/D转换器的优点是转换精度高,抗干扰性能好,价格便宜,但转换速度较慢。因此这种转换器主要用于速度要求不高的场合。常用产品有ICL7106/ICL7107/ICL7126、MC14433/5G14433、ICL7135等。3.A/D转换器与单片机的接口方法A/D转换器与单片机的接口主要考虑的是数字量输出线的连接、ADC启动方式、转换结束信号处理方法以及时钟的连接等。A/D转换器数字量输出线与单片机的连接方法与其内部结构有关。对于内部带有三态锁存数据输出缓冲器的ADC(如ADC0809、AD574等),可直接与单片机相连。对于内部不带锁存器ADC,一般通过锁存器或并行I/O接口与单片机相连。在某些情况下,为了增强控制功能,那些带有三态锁存数据输出缓冲器的ADC也常采用I/O接口连接。随着位数的不同,ADC与单片机的连接方法也不同。对于8位ADC,其数字输出线可与8位单片机数据线对应相接。对于8位以上的ADC,必须增加读取控制逻辑,把8位以上的数据分两次或多次读取。
ADC开始转换时,必须加一个启动转换信号,这一启动信号要由单片机提供。不同型号的ADC,对于启动转换信号的要求也不同,一般分为脉冲启动和电平启动两种。对于脉冲启动型ADC,只要给其启动控制端上加一个符合要求的脉冲信号即可,如ADC0809、AD574等。通常用WR和地址译码器的输出经一定的逻辑电路进行控制。对于电平启动型ADC,当把符合要求的电平加到启动控制端上时,立即开始转换,在转换过程中,必须保持这一电平,否则会终止转换的进行。因此,在这种启动方式下,单片机的控制信号必须经过锁存器保持一段时间,一般采用D触发器、锁存器或并行I/O接口等来实现。AD570、AD571等都属于电平启动型ADC。当ADC转换结束时,ADC输出一个转换结束标志信号,通知单片机读取转换结果。单片机检查判断A/D转换结束的方法一般有中断和查询两种。对于中断方式,可将转换结束标志信号接到单片机的中断请求输入线上或允许中断的I/O接口的相应引脚,作为中断请求信号;对于查询方式,可把转换结束标志信号经三态门送到单片机的某一位I/O口线上,作为查询状态信号。A/D转换器的另一个重要连接信号是时钟,其频率是决定芯片转换速度的基准。整个A/D转换过程都是在时钟的作用下完成的。A/D转换时钟的提供方法有两种:一种是由芯片内部提供(如AD574),一般不需外加电路;另一种是由外部提供,有的用单独的振荡电路产生,更多的则是把单片机输出时钟经分频后,送到A/D转换器的相应时钟端。1.ADC0809的性能ADC0809采用+5V电源供电。转换时间:取决于芯片的工作时钟。ADC0809为外接时钟,转换一次的时间为64个时钟周期,当工作时钟为500KHz时,转换时间为128μs,最大允许值为800KHz。8位CMOS逐次逼近型的A/D转换器。三态锁定输出。分辨率:8位。总误差:±1LSB。模拟输入电压范围:单极性0~+5V。10.1.2ADC0809芯片的介绍2.ADC0809的内部结构逐次逼近式A/D转换器,由控制与时序电路、逐次逼近寄存器、树状开关以及256R电阻阶梯网络等组成。
用于存放和输出转换得到的数字量。可实现8路模拟信号的分时采集,转换后的数字量的输出是三态的(总线型输出),可直接与单片机数据总线相连接。ADC0809有8个模拟量输入通道IN0~IN7,在某一时刻,模拟开关只能与一路模拟量通道接通,对该通道进行A/D转换。8路模拟开关与输入通道的关系如表所示。ADDC、ADDB、ADDA是三条通道的地址线。当地址锁存信号ALE为高电平时,ADDC、ADDB、ADDA三条线上的数据送入ADC0809内部的地址锁存器中,经过译码器译码后选中某一通道。当ALE=0时,地址锁存器处于锁存状态,模拟开关始终与刚才选中的输入通道接通。ADC0809是分时处理8路模拟量输入信号的。注意:ADC0809通道的选择比较灵活,根据应用的需要,可以固定选择,也可以用CPU的端口动态选择,这样适合多路转换时应用。IN7~IN0:模拟量输入通道。ADDA、ADDB、ADDC:地址线。ALE:地址锁存允许信号。
START:转换启动信号。D7~D0:数据输出线。OE:输出允许信号。CLK:时钟信号。EOC:转换结束状态信号。Vcc:+5V电源。GND:为地。Vref+、Vref-:参考电压。3.ADC0809的引脚ADC0809的转换时钟CLK由单片机的ALE提供。4.ADC0809与51单片机的接口51单片机通过地址线P2.0和读、写控制线RD、WR来控制转换器的模拟输入通道地址锁存ALE、启动START和输出允许OE。模拟输入通道地址的译码输入ADDA~ADDC由P0.0~P0.2提供。根据P2.0和P0.0~P0.2的连接方法,8模拟输入通道的地址依IN0~IN7顺序为0xFEF8~0xFEFF。AD缺C0搂80冒9工作减时的附时序江关系吩如图全所示姨。在进郑行A/烛D转换萍时,余通道土地址做应先懂送到AD隆DA~AD排DC输入姿端。贫然后遣在AL效E输入摧端加候一个级正跳咽变脉滤冲,消将通熟道地侍址锁含存到AD悉C0巧80宁9内部迫的地册址锁偿存器什中,哪这样芽对应弦的模修拟电织压输简入就假和内尼部变蔬换电班路接恶通。撑为了仰启动斑,必劝须在ST湾AR寸T端加障一个窑负跳扣变信叛号。妇此后呈,变舰换工探作就港开始捕进行丽,标甘志AD梳C0拦80市9正在杏工作恭的状循态信衰号EO封C由高款电平似(空从闲状成态)园变为灰低电按平(动工作景状态街)。都一旦喊变换摇结束客,EO舰C信号圣就又宜由低盲电平凶变成欣高电蚁平,订此时香只要图在OE端加脸一个万高电胀平,煤即可屯打开赔数据神线的尼三态置缓冲诵器从D0~D7数据匆线读追得一钻次变云换后仆的数揉据。注意驱:AD为C0疮80莫9的几水根控券制脚裕和其套工作迅时序啊在应贩用时编非常兔重要仗,一裁定要慢掌握炒,否额则不港能正犹确应毫用AD鲜C0拾80钻9来实河现A/熊D转换些。1.任乏务要兆求用AT权89傻C5择1和AD蜻C0脖80腥9设计刻一只于简单际的数潮字电缸压表根,可袄以测烂量0~病+5病V的电涉压,等并将煎测得卡的电挎压数服值显邀示在4位共絮阴极颈的数帖码管挖上,宵要求倍测量搅精度抢为0.限01仍V,即拳保留推两位忽小数委。10束.1姐.3数字做电压边表的炮设计2.任斜务分草析要实帽现本稻任务嘉的要工求,AD肌C0退80疾9是作命为读假取模杂拟电扁压值焰的A/丘D转换袖芯片精,在肆其输帽入通叔道IN字3上接璃入被脑测电黄压就档可以端了。瞧由于AD驰C0旅80研9的供抓电电务压是+5堪V,所睬以其闸输入蛋通道灭只能顺输入0~漠+5进V的电远压,是正好蔽与任面务要柱求符宰合,愁我们温可以舰用一桐只简叮单的班可调床电阻眯,其狂一端栋接+5取V,一润端接文地,臭中间追的可败调脚萍接入AD骡C0尚80捆9的IN翼3,只罩要滑个动电饺阻的雀可调啊脚,IN枪3上就浅能输想出不琴同的桃电压跑值,扇通过AD墙C0路80阿9A僻/D转换铅成数栏字量野后送据入AT餐89催C5嫁1的P3口,AT竹89夺C5怖1再将铜接收匙到的摸电压倚值的咬数字塘量还投原为稳模拟栏量显色示在莫数码连管上弓。由于0~勒+5鲜V的模惕拟电插压值明转换搏为8位数掉字量00快00寺00拣00添~1帽11危11欧11瓜1(0~次25梨5),追一个活数字锦量单恳位的往电压夜值是5V服/2师55,将胶数字值量还尤原为播模拟灰量时乎只要畅将P3口读像取的斑数值说乘以5V衣/2殿55就可茧以了撞。我浑们可亿以用T0的定住时中摄断为AD毒C0办80嗓9提供CL暗K信号借。3.任截务设期计(1)器郑件的驳选择根据厌任务值的要耐求和造分析估,采柄用AT柿89词C5隙1作为CP贵U,AD惨C0筐80茂9作为A/仇D转换司芯片械,一饿只可缺调电堵阻用浮来获忘取不恩同的垒电压职,一铅只4位的轨共阴钩极数坑码管贱显示腾电压疲,包县括AT颤89妥C5孙1工作倡的外父围电袭路,哀设计孝所用洋器件伤清单辈如表摩所列评。(2)硬蓄件原约理图颠设计(3)软对件程嘴序设让计源程喂序如床下://男**摔**狮**机**凝**匆**性**环**炸**坛**鱼**皂**煤**麦**膊**哈**筒**槽**蜜**糕**冬**蜻**裳**底**衫**体**终**应**秒**天**称**宜**共**条**宪**睡**柿**绵*//宏定置义#i拦nc扶lu刊de兼<r屡eg施51小.h叙>#d蠢ef竹in存euc匆ha负run灵si轻gn徒ed鸦c贫ha慕r#d杯ef倚in织eui源ntun逆si侵gn钳edin鲁t//言**柱**哀**煮**限**楚**茶**速**现**溉**进**逢**航**沟**吗**蛇**践**耐**杂**调**徐**预**鸡**渠**芝**云**早**挥**衬**堆**枕**瞎**来**挠**花**岁**永**分*//数码籍管码述表uc割ha浴r词c赔od仪e算LE标DD牛at也a[羞]夹={押0今x3底F,川0嚷x0像6,湖0覆x5运B,贯0干x4位F,贤0椒x6挣6,乔0绞x6目D,威0蛋x7闷D,若0返x0塔7,胞0构x7铸F,披0星x6闻F}辱;//AD铺C0注80粪9控制协脚定奥义sb缸it辆OE肤=P邻1^灵0;sb杯itEO阁C=彩P1想^1谷;sb花itST柴=P滩1^牵2;sb候itCL捐K=颤P1贯^3圾;//岩**驼**要**猾**焰**满**稍**缺**醒**庆**挎**处**房诚**严**雾**赛**肤**苹**省**水**伍**叫**银**蓝**牧**绸**翁**犹**嫌**迎**油**寨**寨**价**作**贿**庆**肢*//延时1m由s子程虾序vo昂idDe斑la责yM判S(ui匙ntx){勤uc伶ha洪r晴i;wh荒il肺e(捐x-刚-)及fo局r(感i=伐0;摆i耐<1如20吃;盾i+慢+)筛;}//览**腰**娇**阔**奥**前**企**孔**各**还**姨**姜**猜**帐**固**迈**件**浪**雾**尿**学**牵**肌**狸**恼**鼓**都**绘**刻**米**芦**尚**握**略**团**缠**华**畏*//显示宅转换歼结果州子程弹序vo针idDi事sp暂la拌y(台uc陶ha极rd){伯f领lo坝at绩a妹;ui纽奉ntb;a绢=琴d*昏5/随25拣5;//计算税出电爪压模哭拟量球值b支=弟a*牙10餐0+嘱0.隶5燥;//保留拴两位蚀小数崖,四糠舍五休入P2惠=0昆xF添7;//数码挤管第4位显与示个猫位数P0联=LE连DD骆at鼻a[速b%趁10稍];De雪la析yM绒S(辫5)随;P0姓=0乌x0帮0;P2印=0法xF莲B;//数码榴管第3位显暑示十斗位数P0醋=LE竹DD叹at律a[凑b%熔10桥0/牲10提];De煌la狠yM于S(拣5)奶;P0宣=0层x0代0;P2略=0喂xF凑D;//数码带管第2位显塔示百驾位数刷和小皂数点P0狠=LE撇DD然at炸a[居b/屠10吹0]亭|0捎x8鼠0;//把小役数点境加入昂段码De舌la堡yM坡S(件5)遵;P0绍=0苦x0团0;}//主程尾序vo侨id骗m斥ai邻n(刺){泰TM穷OD盏=0膊x0剖2;//定时堡器0工作造在方肆式2TH灵0=授0x插14辫;TL娘0=侨0x布14形;IE械=0爪x8缓2;//开T0中断TR通0=谊1;P1研=0伐x3倘F;//选择AD冤C0却80说9的通徒道3(贴01宏1)//高4位设唤通道遇地址坊为01永1(特3)赌,低4位为ST,EO旁C,OE等wh信il声e(良1){姥ST激=0仍;ST箱=1尽;ST骨=0供;//启动巾转换wh但il叹e(叛EO境C==支0)割;//等待琴转换叫结束OE乐=1篮;//允许滋输出Di宿sp丢la详y(盖P3汽);//显示A/腿D转换消结果OE洞=0嚷;//关闭蕉输出}}//么T0中断简子程饼序vo点id踪蝶T跌im画er左0_甜IN盛T(务)除i责nt更er影ru携pt窗1{武CL嫩K=脑!C费LK所;//餐AD催C0坏80细9时钟稿信号}(4)软候硬件纤联合幸调试将编脱写的最程序趴在Ke刊ilC5趣1中编削译成误*.h怎ex后调滔入Pr茂ot底eu渡s硬件喇电路耗图的AT峡89恒C5煤1中运吹行,丑就能宜实现挥简单兔的数禾字电续压表箩功能龟。运猪行后毕,滑勿动RV序1的可吗调脚莫,数芒码管院会显辅示不轿同的相电压贡值,欧测量缸范围走为0~糠+5吐V,精伯确度捞为0.郊01稿V。注意漏:在运解用AD虏C0铅80闪9与51单片和机配喂合完西成A/稍D转换婶时要鸣注意握单片煎机对AD苹C0乓80训9的控丽制信扣号的是控制芬过程谜。任务10流.2数字费温度忙采集愿系统宾的设动计DS备18门B2攻0是美桥国DA智LL指AS(达景拉斯克)公拍司生忘产的申一款单总尸线(1-Wi剥re)数撤字温雪度计磨,具判有硬贯件线梯路简掏单、测体积坡超小援、功菊耗低云、抗妄干扰倡能力降强、径精度揉高、敌附加舍功能县强、势易配备微处文理器江等特工点,承可直绵接将塞温度胸转化输成串狮行数蛮字信闭号供亮处理惨器处伟理。DS有18悦B2遵0将温杨度传绳感器丹、A/赠D转换页器等庸集于绒一身,从丸环境昆中采陵集了绸模拟脱的温太度,旧输出顷数字愈温度谷信号璃。DS萍18餐B2替0具有汪唯一外的序块列号,在搏一根袖通信明线上沸,可秤以挂翻很多忠这样扶的数堡字温冬度计悉,十般分方抢便。10包.2锹.1卸D蚁S1均8B蔑20的工僵作原辛理DS躁18醉B2掩0的主放要特展性全数申字温说度转漫换及锹输出先进唐的单嗓总线冲数据兴通信可编句程分墨辨率9~着12可选倍,精城度可祥达土0.苗5°题C12位分样辨率候时的担最大壮工作球周期额为75溜0m期s电压沿适应茂范围队宽,+3撒.3汉V~傻+5算.5桌V,可狸选择角数据碑线寄乏生电顷源工普作方越式检测崖温度虑范围注为–5浴5°趟C沈~+克12定5°耽C内置EE好PR蒙OM,限锈温报冒警功郊能64位光圾刻RO况M,内阔置产握品序浅列号凶,方录便多雹机挂继接多样值封装吉形式宪,适衔应不黑同硬彩件系晒统DS革18船B2摄0引脚惑介绍两种迁封装射形式:DS清18铲B2佛0的引冒脚定稀义:TO吗-9需2直插告式八脚SO或SO添P贴片气式序号名称功能1GND电源地2DQ为数据(数字信号)输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源3VDD为外接供电电源输入端(在寄生电源接线方式时此引脚必须接地)2.疑D功S1敏8B好20内部隶结构DS渠18盲B2柴0主要悉由64位光陈刻RO弦M、高魂速缓化存RA估M(Sc绳ra库tc浙hp肺ad)、镇温度融传感兔器、略非易子失性鲁温度糠报警棵触发饺器TH和TL及配嗓置寄闪存器(EE技PR沟OM)等宾组成墓。(1)64位光组刻RO雁M出厂刘前被点光刻浸好。低8位为址产品动类型之号:沈单线钩系列仙编码统(DS牌18愁B2欺0为19钉H)中间48位为愿产品音唯一须的序驾列号高8位是贫前面56位的CR然C循环卷冗余趣校验夹码光刻RO恒M的作舅用:惹使每滚一个DS区18蛇B2铅0各不辞相同抚,这忧样可认以实们现一登个总绸线上珍挂接船多个DS解18悔B2概0。8位检验CRC48位序列号8位工厂代码(10H)MS供B填L恐SB(2)DS睬10渣B2献0内部岔存储晕器包含棚一个9字节列高速菊缓存RA扑M和一碰个3字节贷非易指失性决的电截可擦骗除EE偶PR侦OM。DS益18浪B2抱0有9个字敏节的RA欧M,每声个字妇节是8位。第2、3、4字节疲的上晶电状笋态依湖赖于EE益PR驴OM的值测得榆的温怀度值存储热温度蔽报警移值设置仔温度颂分辨取率镜像DS商18潮B2舍0的配糊置寄树存器肺(by蜡te键4)通过夺设置赌配置劲寄存仙器的R0、R1来确孔定精妹度。注:精度刺和转讨换时服间有耳直接挠关系。(3)DS杆18肃B2仍0温度星数据果值格恨式DS万18乳B2泄0接收沉到温滔度转真换命董令后插,启娱动温军度转向换,后并将聚转换亏后的寸温度码值以16位带昂符号货二进柳制补用码形毫式存腔储在节高速侧缓存丈存储舍器的刊每1、2字节塘,单驾片机薪可通勇过单偷线接支口读适到该冲数据穴,读功取时袖低位吴在前加,高座位在浅后。出厂尤默认荷配置贤为12位,身高5位为五符号搅位,禁单片题机读仗取数虑据时兽,一衫次会种读取2字节泛,读丘完后拐将低11位的亩二进担制数奖转化满为十赏进制甩数后疑再乘酿以0.徒06宇25才得蚕到实县际温阔度值拿。当前5位为1时,诵读取瘦的温霜度为交负值井,测治得数漆据值串需取起反加1再乘辣以0.慢06腔25才得沿到实膨际温嫁度值笋。注:(1平)温度捞以补没码形牧式存挪放;(2吴)9位分萝辨率股时,晕得到吩的十扰进制泰数乘迈以0.乞5;10位分崇辨率凯乘0.洞25辽;1晒1位分航辨率内乘0.敢12森5DS框18小B2沸0温度怒值格粱式温度/数据故关系睁表注意业:从DS祝18川B2牺0读取仙的数得字信羞号转消换成兰温度赌值是售我们场应用DS泛18宜B2浇0的关摄键。DS访18杏B2抛0完成信温度喘转换劲后,皮就把情测得育的温蛮度值屠与TH、TL做比肤较,枝若T>TH或T<TL,则炉将该羡器件皮内的轧告警腿标志福置位响,并此对主扒机发凤出的昼告警改搜索亲命令侍做出呆响应挽。3.营DS光18剧B2贿0的指裙令1)控拿制DS络18像B2须0的指策令(对RO蛾M操作)①33葡H-读RO索M读DS糟18火B2射0温度离传感咐器RO嚼M中的粱编码②55竞H-匹摸配RO拦M发出湖此命兄令后蒙,接泡着发找出64位RO汁M编码摔,访尽问单她总线疏上与伐该编娱码相映对应DS箭18堂B2朵0并使帅之做笔出响或应,楼为下虾一步弟对该DS搂18套B2饶0的读/写做杨准备劫。③CC忠H-跳酷过RO更M。忽略64位RO叨M地址制,直缎接向18其B2诵0发送氧温度炒变换陪命令败。适马用于句一个DS界18日B2巴0的情类况。DS季18骄B2撇0工作讯时,竿控制乞其工掉作的CP估U(单杰片机路)可料以使朗用各保种命贺令对DS盒18砌B2曲0进行播操作熄,操石作过翁程为直:初能始化烫、发杜功能隙命令奇、发汗存储朴器操绍作命锈令。④F0喜H-搜以索RO扔M用于卫确定轧挂接熔在同虹一总考线上DS筋18屡B2拿0的个熊数,高识别64位RO祸M地址般,为鼻操作坚各器孩件做辱好准桨备。⑤EC柜H-告陆警搜纱索命腿令执行喊此命奶令后驼,只腾有温佛度超趣过设承定值莫上限尾或下布限的睛芯片殿才做秒出响堂应。注:只有搭一个DS芦18伤B2裁0时,收不需谢读取RO泛M编码心和匹约配RO令M编码签,只骡要用把跳过RO慨M(CC盗H)的姨指令弓就行窜了。2)温进度转太换和冤读取伸指令(对RA档M操作)指
令
约定代码
操
作
说
明
写暂存器
4EH将数据写入暂存器的TH、TL字节,可以在任何时刻发出复位命令来中止写入。
读暂存器
BEH读取暂存器的内容。读取将从第一个字节开始,一直进行下去,直到第九(CRC)字节读完。复制暂存器48H把暂存器的TH、TL字节写到EEPROM中。温度转换44H启动DS18B20进行温度转换。重新调出B8H把报警触发器里的值拷贝回暂存器。这种拷贝操作在DS18B20上电时自动执行,这样器件一上电暂存器里马上就存在有效的数据了。
读电源供电方式
B4H启动DS18B20发送电源供电方式的信号给主CPU。4.归D祝S1册8B湾20的工火作时淡序作为印单总那线器第件,DS年18阴B2罩0与单挺片机域间采柏用串搁行数妻据传让输方罩式,磨要求伸严格旧按照发时隙电进行蝴操作姥。主挠机使备用时催间隙宏来读鹿写DS家18毛B2母0的数亡据位虑和写下命令杠字的罢位。(1酱)初始堤化DS唐18缩慧B2竹0单片寄机发霜出复仇位脉院冲,DS烘18供B2户0以存牲在脉疏冲响阁应。柴当DS榨18灭B2横0发出吗存在煤脉冲赞对复距位脉叫冲响讨应时热,表要明该蝇器件券已在幻玉总线手上并挖作好协操作杠准备注。初始慢化时扩序图主机活总线禽发送填一复娃位脉刊冲(刊最短话为48垫0μ尽s的低仙电平贞信号倡),径接着然释放聪总线戒并进徐入接盆收状尊态。DS损18湾B2苍0在检绪测到皮总线狐的上必升沿修之后引等待15~60付μs,接辩着DS休18功B2烘0发出烧存在封脉冲尸(低晕电平配持续60~24暗0μ呼s),暴主机刚接收各到高爬电平宝后初辽始化路成功棚。(2)写DS蛾18颂B2池0当主辆机总茅线从棵高拉杯至低宗电平倡时就岗产生阻写时合间隙副。从忧开始15则μs之内收应将豆所需甩写的启位送喜到总渴线上埋,DS歼18后B2俊0在15~60率μs间对畅总线酷采样正,若械为低划电平预,则灰写入届的位阿是0;若缎为高祸电平诱,则纯写入云的位收是1。连休续写2位间捉的间诱隙应蜡大于1μ叉s。每挪一位弯的发珍送都泰应该党有一弓个至义少15顿μs的低播电平系起始农位,馅随后修的数需据“0”或“1”应该巡寿在45冰μs内完霞成。继整个柳位的哭发送陷时间盗应该他保持笋在60稠~1窝20育μs,否冈则不房诚能保妥证通胃信的件正常注。DS孔18抱B2峰0有两默种类宋型的丝式写时协序:店写0时序非和写1时序父,如犯图。(3)读DS泛18种B2棍0当单豆片机那发出填读时锹序时崖,DS押18垒B2本0可发洞送数望据到解单片蛛机。州读时心间隙悬时控阔制的智采样轰时间绍应该盏更加平的精梅确才移行,闹所有效读时参序必而须持盘续60臂μs以上板,每吐个时选序之怒间必拔须有溉至少1μ膏s的恢处复时冠间。注:必须墙在读游间隙哈开始背的15援μs内读膝取数餐据位蠢才可殊以保星证通阁信的览正确垦。主机农在将骗总线菌从高卧电平另拉至尖低电泳平时予,至别少在1μ此s后将巧总线创拉高口,表蒙示读闷时间展隙的散起始运,随哈后在获总线资被释忠放后深的15哨μs中DS毁18购B2法0会发技送内脖部数湿据位马,这解时控题制如刊果发花现总红线为醒高电锋平表长示读登出“1”,如敲果总稀线为页低电谋平则洲表示枕读出蓝数据必“0”,主吉机必水须在45缘瑞μs内完佳成读诊位,千并在60~12离0μ禽s内释规放总我线。注意鼠:主机种(单点片机鸦)对纤于DS哥18即B2肾0的操朝作都车必须参严格竭按照姨其初眨始化勉、读轧时间签隙和破写时吃间隙疏来完惑成,乎否则揉不能沙正常爹通信匪。在貌通信呈时是耍以8位“0”或“1”为一制个字枕节,颈字节哄的读速或写健是从羊低位划开始葱的,棵即D0到D7。5.饲D荒S1涨8B潮20与单蹄片机块的连沃接通常丧用单聚片机轮来控控制DS峡18故B2召0,它俩们的萝连接烤非常法简单拳,如耐图,沃只要秘用单榴片机锋的1根I/请O口线落连接购到DS丘18寸B2隐0的DQ脚上涌就可扔以了记,但胃是需易要1只电便阻上盆拉。图中讽的DS源18吼B2史0采用勤的是秋外部寄供电矿,将VD触D脚接槐外部普电源启(+5凭V)。疗单总盘线上押可以爽同时兵挂接蝴其它馋的单亡总线卫器件巴。10茫.2龙.2数字都温度析采集积系统杏的设泊计1.任碍务要艳求设计概一个拍数字面温度腐采集板系统刺,用AT另89煤C5奥1来控拒制DS杜18鞋B2狱0采集凳环境拐温度绿,用年一只唇共阴占极的4位数毛码管葱显示概采集押的温枣度,耗要求些显示遣的温串度精挡确到0.外1℃,也唇就是梨保留忘一位缴小数泛位。2.任不务分疮析根据盟任务援要求孕,采拔用AT咬89月C5踢1单片牲机来诞控制DS免18著B2贵0,任宫意用勿一个吵端口御线与DS云18猾B2侧0的DQ连接既,这挺里我杂们用P3搜.0口,脸对DS稼18伴B2雕0写数买据和韵读数腰据都肿从P3呆.0口串符行读衡写。恨单片伶机的划外接汽晶体聋采用扒实际偶中常墓用的22馋.1头18青4M蛙Hz,这困样1个机直器周凶期是0.纺54闯μs左右殖,在班控制DS镇18牲B2斧0的初冷始化锤、读解数据禽和写求数据竭时注犬意时盆间隙扣的长绢短。按照劳前面单介绍服的DS筝18葬B2价0的操关作命住令,AT裂89洁C5激1从P2拘.7口将孩相应融的命抛令字亚写给DS量18肚B2群0,在削按照阀初始址化的哑过程孝对DS撒18循B2裁0进行抵初始供化之夜后,AT羊89猎C5耳1将温崖度数脑据从P3雷.0口读霜入,席每次获顺序鬼将8位组宽合成1字节屈,温疼度数器据的随高8位和遥低8位都矩读出红后组跳合成16位的天温度果数据趴,按谋照12位分岭辨率厦,将该数据腊乘以0.折06表25,就涨得到港实际渔的温叶度值袖。将续温度豪值四鲜舍五方入保量留一巷位小递数后指,按避位送俭到数阴码管扩显示沟。3.任计务设鉴计(1)器效件的姥选择根据防任务驳的要页求和爬分析凡,采养用AT汗89它C5兄1作为CP移U,DS绩18乐B2还0作为钳温度梦采集漏芯片雪,一缘瑞只4位的社共阴感极数莲码管预显示抄温度奏,包甚括AT谷89酱C5秧1工作田的外律围电违路,闸设计瞒所用粗器件台清单佛如表钟所列衫。器件名称数量(只)AT89C51122.1184MHz晶体122pF瓷片电容210uF电解电容110kΩ电阻14.7kΩ电阻11kΩX8排阻14位共阴极数码管1DS18B201(2)硬姐件原插理图岔设计(2)软仅件程提序设换计开始初始化DS18B20跳过ROM(0xCC)启动温度转换(0x44)读RAM(0xBE)获取温度并转换结束温度砖采集回系统宋软件抄流程衣图软件废源程府序如营下://发**免**历**弄**芒**喇**崇**网**积**蜓**班**乓**止**样**恶**湾**料**领**兴**蜂**沉**趁**石**悟**暮**远**忘**脊**猫**帝**播**绘**度**笼**浸**节**漠**中*//宏定输义#i健nc禽lu体de那<r居eg绕51险.h萄>#d碗ef烂in苹euc特ha泪run惧si苏gn臂ed米c炎ha才r#d吩ef助in工eui遵ntun抛si纽奉gn样edin减t//谦**税**井**屈**耀**医**挣**在**聚**牲**北**僚**纺**烛**赴**判**砌**莫**棋**啊**敞**历**妻**毯**呈**夏**冷**猜**竹**浙**昼**吨**侧**胸**皆**搁**骡**畅*//测温劲口定痕义sb林itte师mp符_d瞧s=P啊3^敲0;//定义态全局佛变量ui喷ntte蝇mp营;//存储俊整型岔温度环值fl隶oa葱tf_撒te咬mp;//存储肢浮点病型温炸度值//定义谢共阴页极段机码表un延si衫gn宰ed窄c凝ha叼r亩co素de茎t摔ab轰le挡[]绸={虫0x和3F替,0薯x0闸6,姑0x闻5B岗,0狮x4系F,庙0x会66饭,0泻x6握D,蒙0x钉7D悦,0野x0匪7,辆0x易7F绞,0枯x6求F}胀;//铸ms延时帖子程正序vo锤idde爽la甲y(肿ui巩ntx){ui虽nty;wh锄il歌e(英x--辞)fo瓜r(死y=1绘60缩慧;y父>0虎;y宰--行);}//纳DS第18静B2皮0初始遥化子债程序赵,成葵功返镜回1,否磨则返昏回0in闪tDS苗18压B2厚0_毯in瓣it插(v邮oi素d){ui相nti;te居mp紫_d寨s=0伯;//发复震位脉季冲i=渴16甘0;wh恰il光e(药i>辛0)蹈i饰--乐;te屡mp街_d杜s=疲1;i=努8;wh秧il伯e(铃i>0剑)i练--刷;}//从DS惊18爆B2康0读1位数颗据bi魂tte燥mp单re遵ad混bi诉t(持vo厅id){ui摇nti;bi深tda加t;te吃mp财_d彻s=0皮;//拉低乱控制哀线i+仙+;te政mp裤_d慢s=1芽;//拉高侵控制沙线i+辟+;i+捷+;da提t=包te组mp作_d算s;//读1为数络据i=撒10谢;wh待il唉e(恭i>抱0)图i鹿--逐;te鸡mp其_d止s=骑1;//拉高督控制饿线re颤tu茄rn嘴(斤da受t)析;}//从DS员18刚B2创0读一终个字疮节uc矿ha涂r还te拉mp瘦re总ad早by舅te当(v跪oi左d){径uc营ha摇r弱i,奥j,有da仆t;da杆t=讯0;fo滑r(拘i=鼻1;姓i<妈=8看;i梳++僵)//读到叨的8位组杯成1字节{j=窝te朱mp退re秤ad背bi郑t(垦);da桶t=鸭(j炕<<归7)漫|(有da应t>涝>1谣);}re击tu拘rn铅(d泻at莫);}//向DS魂18牺B2激0写一马位数梦据vo着idte摄mp兆wr病it绩eb赵it崇(b准itin划st挪ru歇c_精da蚁ta){文i融nt堂t肉im伙e;if辞(i看ns楼tr慕uc乎_d丈at黑a){株te袖mp怠_d出s=墓0;//拉低匹控制润线ti触me骡=3滚;wh爪il租e(盈ti记me>0锁)轧ti我me怖--揪;te构mp渡_d扩s=1站;//拉高样控制剑线ti苏me镰=8臭;wh脂il邪e(刷ti填me>0甘)币ti点me凶--枝;}el音se{te影mp脂_d怎s=0钳;//拉低爱控制骡线ti记me洁=1励4;wh母il新e(得ti批me>0染)登ti博me截--祥;ti予me珍--岩;}te坊mp芬_d隔s=1斩;//拉高医控制驻线ti披me泊++贺;ti发me返++秤;}//向DS码18痰B2蒜0写一多个字军节数浪据vo励idte伤mp摄wr胀it驰eb探yt原e(汤uc洞ha腥rin毁st娱ru){数i问nt剑i凤;fo摊r(撒i=帖1;例i<撇=8绑;i裳++遮)//将1字节腿拆分烛位8位,1位1位地颗写给DS遣18石B2福0{涝t扰em酿pw墙ri携te蚀bi旁t(醒in父st代ru荣&0铸x0描1)混;in住st相ru=in接st始ru>>放1;}}//读取雨寄存璃器中盆存储话的温莫度数舅据ui漠ntge茎t_舌te虚mp(){价uc蛋ha斗r挡te距mp晚_L杏,t闲em虎p_切H;DS粗18御B2都0_包in佣it放()仅;de爽la令y(都1)欢;te慎mp通wr魄it吵eb捡yt敌e(誓0x烧cc车);//写跳屠过RO磁M指令te自mp广wr染it疲eb星yt补e(附0x腹be魂);//写入纳读暂扬存器扭指令te溜mp耀_L=te殿mp档re脖ad溉by卧te()氏;//读温听度低8位te浙mp局_H=te豪mp绿re坟ad誉by昌te()却;//读温缓度高8位te辉mp启=te参mp栽_H<<沫8|太te楼mp额_L敢;//获取希温度袄数据f_释te浑mp=t讯em念p*汪0.竭06沸25料;//疯12位温测度数膊据,倍分辨恼率为0.滩06坑25;te品mp厅=f_恒te肉mp*1弓0+禁0.识5;//乘10是小患数点驻后保壶留一驱位,抵加0.宽5是减侄小误堪差re庙tu耳rn规t圣em虑p;}//显示胆子程摧序vo朝iddi谜s_嫩te渣mp盆(u界in贡tt){ui幅nti;i=里t/灵10蓄0;//将百乎位显叹示在报数码识管第2位P0澡=ta嘉bl凉e[爬i];P2袍=0天xF士D;de铺la壳y(省5)漠;P0柳=0奴x0狂0;//消隐i=每t%隆10众0/央10胞;//将十应位和另小数狸点显扭示在蔑数码醉管第3位P0危=t朽ab撕le会[i姻]|目0x求80典;P2浊=0衔xF挖B;de孤la蒸y(笔5)膝;P0障=0赢x0无0;//消隐i=汁t%允10凶;//将个馋位显须示在众数码芬管第4位P0森=ta瓦bl妖e[钳i];P2狐=0忽xF估7;de万la纱y(最5)填;P0棕=0也x0姿0;//消隐}//主函碑数vo废id素m滴ai间n(斯){晕DS凳18唤B2岁0_伸in诉it希()束;wh硬il果e(猎1){DS陷18事B2笛0_宫in牲it峡()照;de鞋la葬y(浴1)削;te戚mp允wr启it摧eb技yt父e(融0x慢cc烛);//写跳仙过RO经M指令te绪mp级wr宿it费eb临yt尾e(轧0x缘瑞44哪);//启动鼓转换di裁s_阿te靠mp涉(g泳et鄙_t秩em杂p()唉);//调用窝显示铺子函烟数}}(4)软配硬件英联合创调试把编搁写好传的温杆度采棚集系娱统软阻件在Ke革ilC5问1中编身译成艳*.h盈ex文件胞调入Pr昼ot接eu趟s绘制攻的电夜路中都,仿屋真运鞋行电供路,书看到醉数码株管显衬示的精温度瓜与DS枕18撑B2寄0上调彼节的坊温度盾一致秃,如积图所轿示。熄调节DS皂18抖B2托0的两臣个“-”、“+”按钮杰改变明温度耻,数体码管椅上的估温度棚值会线随之度变化枝。注意即:在温干度采讨集系震统中宗,单编片机抓与DS摔18饶B2匀0的硬改件连禾接非持常简冻单,豆但是生控制锄器工超作的当软件蔬相对弓复杂荡,尤削其要市严格汇遵循DS惰18差B2袜0的工荷作时粗序。项目爹拓展概串行A/蹈D转换作芯片PC山F8竖59佣1在实营验板言上的夜应用在项窝目拓珠展9中我务们用透实验钞板上灯的PC拍F8领59猾1设计拌了信果号发印生器腰,那乏时采势用的讲是PC撇F8牺59辅1的D/钟A转换轧功能觉。其崭实PC撤F8豪59息1是一春只带敏有1路D/秒A转换括和4路A/匀D转换页的综执合数楼模/模数松转换惜芯片朗。在捐这个感项目夕拓展总中我惊们运外用它际的A/徒D转换迫功能蒙。附录B中“昌数模/模数顺转换披”电覆路为垒实验狐板上蓬的PC羊F8乏59收1的连唇接图秒,如企下图胜。虽锡然有AI辞N0尸~A欺IN鹊3慨4路模赴拟输洁入,铸但只津有W3和W4两只嗽可调叙电阻影来改姻变模沾拟电补压值莲的输酒入,踪蝶所以辞每次替只能屿有2路工碎作,若由J3愈1和J3臭2来选圾择。我们厘用实桥验板鹅的PC浓F8辫59愉1来实冒现1路A/颠D转换胶,将J3车1的跳召线连庙接2、3,W4调节墓的电碎压值嫩(0~饶+5飘V)从AI责N0输入潮,有PC盏F8傅59旁1A汁/D转换则后数望字信樱号从I2虾C总线垄输出委传送真给ST站C8曾9C焦52的P2舰.0、P2暑.1脚,嫩由ST程C8哑9C兼52控制翼的共选阴极置数码恒管显太示转龙换的谊数值受(0~摇25杨5)。实验漠板的融连接抽方法惭如下扶:用腊杜邦跟线将J2笼3的P2猜.0与J8的SC勒L相连絮,J2缴3的P2苏.1与J8的SD失A相连榴,J2仁3的P0与J3相连叼,J2励3的P2薪.2与J2的B相连锅(段怒锁存畅),J2书3的P2绍.3与J2的A相连畅(位蛮锁存逝),J3颤1用跳艺线连秧接2、3选择AI甘N0输入贯。用鬼跳帽尊将J5宪0连接射给数痒码管谦电路寄供电予,如左附录B中“8位共析阴极淡数码土管”言电路崭所示描。这政样硬婶件电脸路就神连接呀好了砍。PC拒F8聚59哑1进行A/项D转换忍并将撑转换降的数楚值显婚示在沉数码兆管上暑的程尖序如下线:①主杀函数ma未in妨()蓄://宏定之义#i浸nc康lu吐de器<掘re输g5絮2.建h>#i杠nc漫lu痒de令"苹i2支c.倍h"#i话nc烘lu存de朵"de孕la披y.惩h"#i亩nc抹lu挣de阴"di怕sp止la屑y.印h"#d景ef错in躬eAd击dW哈r0x听90//写数贝据地隆址#d照ef绞in精eAd阔dR塞d0x珍91//读数晃据地继址ex稿te顽rn站b轻itac笋k;un诊si硬gn纹ed委c执ha哪rRe卧ad晒AD此C(恼un机si坛gn帝edch济arCh爸l);bi秃tWr毕it多eD协AC你(u浸ns绸ig获ne轻dch诉arda斧t);//菊PC惧F8俭59热1胳AD转换墙主函节数ma哭in屑(){版un瘦si港gn丑ed学c拌ha谊r献nu谷m=系0;In诸it横_T欢im杨er淘0(狸);wh凳il响e蛛(1任)//主循约环{n其um偷=R览ea券dA平DC梅(0害);Te版mp稻Da座ta存[0殿]=篮do章fl枝y_稻Du棋an需Ma镰[n锡um鼓/1园00碌];Te芒mp骗Da抛ta摊[1鼓]=邪do川fl猜y_梅Du意an徐Ma冰[(党nu枝m%逝10博0)案/1炼0]于;Te劳mp刘Da别ta茅[2怜]=券do苹fl姑y_愚Du障an歪Ma忆[(刷nu较m%扮10盾0)蛛%1樱0]亩;//主循只环中竖添加愁其他湾需要声一直抛工作轰的程袍序De蕉la保yM逆s(僵10稍0)仙;}}//读AD转值叔程序下,输钥入参待数Ch嫌l表示工需要挠转换漏的通每道,配范围肠从0-悼3,返伐回值判范围0-昼25鬼5un千si捞gn掀ed抵c炉ha坦rRe娘ad贫AD溉C(继un堆si筑gn芽edch笑arCh杏l){狡un赔si识gn钞ed仪c弯ha桥r搜Va扛l;St饿ar笨t_虾I2槽c(行);//启动幕总线Se认nd资By旦te梳(A塞dd糕Wr);//发送束器件严地址if刃(a纯ck==是0)颗r梢et涨ur贱n(常0)退;Se井nd纸By捡te教(0杏x4猾0|女Ch培l)夫;//发送掉器件塑子地泳址if羞(a啦ck==崭0)题r根et惯ur葬n(稻0)寸;St左ar熊t_炕I2肯c(仿);Se该nd堡By槐te听(A绪dd晓Wr令+1欺);if辫(a纱ck==凉0)悼r世et项ur白n(瓜0)倾;Va倍l=Rc已vB吊yt纯e()喂;No托Ac辛k_济I2体c(躬);//发送批非应专位St畏op否_I拦2c茅()岩;//结束亦总线re跌tu番rn逢(V编al);}②延季时子美函数贵:#i扫nc先lu妻de丧"de泳la溪y.践h"//帖**逗**锹**盗**待**肿**准**光**蒜**眯**慈**哲**抹**应**匪**雄**顺**冷**邀**滔**名**榴**测**晨**明**屡**匠**役**珠**绝**纸**庄**诸**斩**宰**御**赞**刊*//uS延时铅函数vo恩id织D嚼el床ay赤Us泡2x去(u垮ns螺ig历ne缸d锤ch卧ar佛t挠){典w据hi园le认(-束-t扣);}//唇**宗**微**享**射**使**胞**蚁**摩**设**制**棒**箩**竭**用**父**止**夏**旁**败**柱**倘**末**毯**息**穴**骡**呈**洪**死**路**耽**修**怎**景**舞**逆**俊*//mS延时羞函数vo丛idDe渠la族yM沈s(瘦un数si隆gn禾edch饰ar刚t铲){wh陪il白e(朴t--膏){震De波la怪yU孤s2鸟x(遗24积5)鹅;De亮la炎yU秩s2瞎x(膀24白5)制;//大致浙延时1m援S}}③数斧码管残显示拣子函屯数:#in赔cl累ud说e"挽di缴sp辫la殿y.贸h"#in钻cl咳ud职e"靠de吸la姿y.杀h"#d菜ef弊in帮eDa爪ta土Po亩rtP0//定义虎数据石端口庄程伏序中叹遇到Da受ta恒Po砌rt则用P0替换sb倒itLA盆TC嫂H1乖=P满2^质0;//定义塞锁存羞使能联端口河段般锁存sb蔽itLA条TC爬H2枪=P湾2^乞3;//位锁话存un惠si宁gn届ed窝c埋ha烤r犹co作de潮d携of变ly旅_D络ua次nM孔a[元10掉]=判{0幸x3奶f,巴0x斤06羽,0棉x5家b,仇0x妨4f晚,0午x6殊6,0x戏6d朵,0皂x7把d,垃0x何07疤,0巧x7踏f,婶
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版青岛住宅销售合同3篇
- 2024年度汽车内饰制造合同:内饰设计与生产协议3篇
- 2024年技术改进与合作合同3篇
- 二零二四年度股权转让合同下载3篇
- 2024年企业内部承包经营责任合同范本版B版
- 2024年幕墙装饰工程分包合同2篇
- 2024年度风机运行效率提升合同2篇
- 2(2024版)智能交通管理系统研发与实施合同
- 2024年度建筑工程索赔处理及维修服务合同协议3篇
- 2024年度债权转让定金合同属性解析3篇
- 2024普通话命题说话50篇
- 《义务教育道德与法治课程标准(2022年版)》
- 14《故都的秋》《荷塘月色》联读课件统编版高中语文必修上册
- 2024年废矿物油行业分析报告及未来发展趋势
- 招聘公众号策划方案
- 高温合金材料行业报告
- 选品与采购全套教学课件
- 建筑施工安全生产责任制矩阵表(项目级)
- 中国画的基础知识-(2)-
- 数学跟岗教师培训心得体会
- 骨科护士总结与计划
评论
0/150
提交评论