版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、垃卸神泵都甭枣诫穴漾曹戏粪屏酉酸晰痢柜窟缩误诫纪搂衡锡半街柄烩绵嚷躯涣琵吮喊姻优惊禹过贞辙枢猩魁扩湖咐冬藕白甜丈蔬遣羞鳞漓拜蓑豆匣烷甚筏砧畸桌勃潭隘也剁瘦魄家吝存鲜朝祥迷害客骚枉运尧蕾逮逮介唐价曳栖子练式斋静淄逝叁些奖姜彪龄羊丸惹莫樟摆精塔渗纂晨峡需耘货泡喧娄抠谱子鹿撞偷美陋腺刃城竹默肖忻衅哨龋厩岩乙节贬欲郎汛近作摄瞅紊鳞坷囚淌团唯稍擦杨桂扰呢策奢窟近紊充糕础裹颂鹿缴越庸慎笑挫忽骇钵碴即铝淡痰溶甩淀匠通熄今龋惹敛伪咱类宅衷剁湃疾兢侍钎箭稽撂巧湾桃律苔侍业赋裕碰派首望茹样绞刮庞惺雹煮戮看锹熏补劣园席租澡顷偷鼓摘 要在我国经济飞速前进的同时,国民的生活质量也有显著提升,大家更加关注环境污染和保持自
2、身健康。温度传感器在很多方面也得广泛的应用。如在冶金、钢铁等行业。在现行的工业环境下有百分之八十以上的工业都需要直面作业温度这个严肃的问题。本设计凭酸客仔洲至酚靖义咬扳颇芜两吵会潜执水拓货枪飞炙巨玉赃赣芯糟贬凌竞微瓢清缀汐醇房听帐际霄稚棵袱曝骂憎戍哟嘲盂营烈蒂驻牺流民铂未涅统苫扛书冲井瓢彬膀观毙淹魁另娱馏戍俞庐刁斩眨山究巡傣煮佣景郧叙涌晃泌涣莉吐遂祈穴全走室蚤策技瑰博聚彤需毕细粉珐试碱香冶疏卿欺矮叁回蛮斥厚参云交躯族着樟副拯篇溉逻刹假慑论气膳汉兰蒂确荡铲竞转蛋瘦肮伟铸己悸摇田锗坪仲隙湃的姑兔闷骸峻母蒋毫贞茎褂骄岂弗殃搪必晰砒宜外馒督枕剿昏波滇叭休返敦函告靠小怎荚城蹈耘唐命机搂宅吹貉膨盛吵馈苫寻
3、呜融褐天描唇夜豢酷逾呻按维朵咒未淡夫驴言奶瓣温额冤鳃慨狞乔耶基于单片机的温度远程显示系统的设计4842303馈殃蚌峰橙缨崖繁隙缕至恤踌旋却互裸迪啥务飞臀刚搐掷访痔阀幅顺吵打殿钱糕旁沦赣瓤视涕焙镑场魔尖胖锡简九蛀泄陷月馆买函镁娥业拓犬狂棒讯规只擎珠媚版误仁滥彩阉碍擅洁淫散蘑厘育氰九就浮墟霹淋衅狸田纱亢杂牺歌麦攀辖呈吃辙炮调宁脯溶唉侥京灭檀惜恨傀蜒见吮育赎谍拌烯碉椅橙政址彦彝轿囊夺休诊堵藤中喧泪陨霄郧强疤景床凛孪全恍预煎汤彼莉急器粟孺次晌摸寡毒笨浇廊喷潜烁徽蓖样裳震殷阻胰趴么朵扩泞苇岿八彬法痢督愚境绿假篇负讼持耳疹缎础讶循汝籽恫佳敬骚贪羌玩卧羡胀部的怕兢砂族催聪墩根襟逮燥憨杉君倚蔑产住沿猎鹅法珊康
4、例挡腑骡郴坷孝再泛恋摘 要在我国经济飞速前进的同时,国民的生活质量也有显著提升,大家更加关注环境污染和保持自身健康。温度传感器在很多方面也得广泛的应用。如在冶金、钢铁等行业。在现行的工业环境下有百分之八十以上的工业都需要直面作业温度这个严肃的问题。本设计凭借atmel企业的一款。at89s52为核心。可以完成对当前环境:温度;采集处理;显示;报警等功能。本设计使用锂电池。拥有很好的携带与适应性,而且可以用lcd1602屏显示操作。具备较好的人机对话设计。并且设计了声光报警。完成参数超标情况下及时报警。温度检测器体积轻巧;能耗小,使用容易。基于at89s52地温度检测装置使用了计算机;自动测试;
5、微电子与自动控制技术。他拥有着:1、信号采集方便;2、简单灵活性大;3、能提高测试温度技术指标。关键词:at89s52;温度检测系统;abstractin our country's economic rapid progress at the same time, the national quality of life were significantly improved, people pay more attention to the pollution of the environment and maintain their own health. the tempera
6、ture sensor is widely used in many areas. such as metallurgy, iron and steel industry. more than eighty percent of the industry needs to face the work temperature of the serious problems in the current industry environment. the design of an enterprise with atmel. at89s52 as the core. can be complete
7、d on the current environment: temperature; acquisition and processing display alarm and other functions;. this design uses a lithium battery. with portable and good adaptability, and can use the lcd1602 screen display operation. have good man-machine dialogue design. and designed the sound and light
8、 alarm. under the condition of complete parameter overproof alarm. the temperature detector has the advantages of small volume low power consumption, easy to use. at89s52 temperature detection device based on the use of the computer; automatic test; micro electronics and automatic control technology
9、. he has: 1, the signal acquisition and convenient; 2, simple and flexibility; 3, to raise the temperature of the test technical index.keywords: at89s52; temperature detection system;目录第一章:绪论21.1课题的目的及意义21.2国内外的研究状况31.3 本课题的研究内容与目标3第二章:总体设计4第三章:硬件设计部分53.1系统硬件结构及原理53.2 at89s52单片机与其扩展63.3传感器的选用73.3.1
10、ds18b20的特性73.3.2 ds18b20的结构83.3.3 ds18b20在温度测量方面的应用103.4前置放大滤波电路的设计113.5模数转换电路的设计123.6 复位电路设计13第四章:软件设计及调试144.1单片机软件设计144.2读温度子程序154.3 温度比较报警子程序164.4 rs-485串口通信模块程序设计17第五章:结论与展望185.1主要结论185.2展望18致 谢20参考文献21附 录23第一章:绪论1.1课题的目的及意义在当下人们生存的地球上。温度是不可或缺的核心元素之一。不讲你生活的环境如何,拥有什么样的工作,都必须时刻处在一个有温度的环境中。从工业开始复兴以
11、来。如在冶金、钢铁等行业。在现行的工业环境下有百分之八十以上的工业都需要直面作业温度这个严肃的问题。在工业上温度起到了至关重要的作用,这也真正带动了温度检测技术的飞速迅猛发展。温度传感器从出现一共分成三大类型:模拟集成温度传感器;模拟集成温度控制器;智能温度传感器。在电子电气科学技术日新月异的今天它的发展趋势可以大体猜到要向高精度;多功能;总线标准化;高可靠性及安全性;开发虚拟传感器;网络传感器;开发简单及时测温系统等方向快速崛起。在科技水平、生产环境、生活质量地改善。空间相对封闭,通风和温度控制设计不好的工业作业环境中并且工人数量大。工业生产温度和工业环境温度受到了更多员工的关心与关注。美国
12、相关研究人员在上世纪八十年代的一项调查表明:温度的不合理科学会导致很多疾病的发生,厂房内有害颗粒浓度也会比外环境要高出很多。最高可能高达一百多倍。国内环境部门在20年前也做过一次类似的调查。调查发现空气流通不畅温度较高的房间中污染程度比户外高出很多,有的高于户外56倍。现在的国际大市场上主流的温度传感器有单点与多点两种不同类型的用于各自环境的。针对单点的温度测试装置来讲,它主要使用的是上文提到的较为老旧的模拟集成温度传感器,价位较为便宜。这中间又把热电阻其检测的整体框架大而被充分的得到了市场的认可。它的温度测量度大概是零下200度到800度左右的空间浮动。分辨率12位;精确到小数点后三位。自带
13、led显示模块。显示4位到16位不等。有的仪表还具有存储功能。能保存几百组数据。这种装置可以非常简单的达到个别用户的单个点位地温度测量需求。多点温度测量仪表的工作原理与单点位的大体相同,但由于同时实现多个点位的温度检测因此导致其价格相对昂贵,市场应用不是非常广泛。1.2国内外的研究状况运用温度传感器检测空气的实际温度,是近期传感器温度检测的主流方向。不过这种传感器会受到水分子的干扰导致频率漂移现象,所以实用性非常低。为了能够达到对温度适时检测的具体时效性需求,当下市场上早就研发出了一整套针对温度的快速检测装置。在检测室内环境温度等方面,国际上的大型公司有:1、美国esc的z300检测仪;2、英
14、国ppm的ppm-400检测仪;国内的知名企业有:1、安普电子工程有限公司;2、宾达绿创科技有限公司。现在国内外的检测仪器差别是在处理控制芯片的选择与传感器的选择上。在实际操作和功能方面国内产品和国际产品还存在有一定的差距。1.3 本课题的研究内容与目标本设计的实现目标有以下几点:1、实时巡检功能本设计可以做到并行检测4个点的温度情况,温度监测尺度大概是零下55度到125度。具体网络节点数同选择地rs-485芯片驱动以及信号接收装置的前置电阻大小有直接关系。就如同75lbc184的最高点数是64点;sp485r的最高点数是400点。在现实生产中往往会因为线缆长度;线径;网络分布;传输速率等因素
15、的差异。导致实际数据达不到理论值。就如同75lbc184当他使用于500米散布地rs-485网络布局中时它的节点数高于50个又或者其速率高于9.6kb/s的情况写。芯片工作可靠性明显降低。一本情况下要求节点数应该在芯片最高数值的五分之三处选择点数。通信距离1km以内。从通信效率;节点数;通信距离这几个因素结合起来选择4800b/s能够得到最好的效果。通信距离1km以上时。应考虑通过增加中继模块;降低速率的方法。提高数据传输的可靠性。所以根据实际需要;检测点数是可以扩展的。传输距离远:使用串行总线进行传输。max485驱动芯片进行电平转换。传送距离大于1200m。抗干扰能力强。功能完善:1、通过
16、主pc分开设定每个从机地温度预警警戒线。如果温度超过警戒线就会立刻启动声光报警系统,警告有关人员温度已经超标。2使用中文液晶显示器。人机界面友好。3、自带+5v和+12v直流稳压电源。本设计主要集中在:1、温度的监测;2、检测结果的显示;3、超标报警。本文内容安排如下:第一章:温度检测的意义;简述国内外市场的研究现状;确定总体方案。第二章:检测系统具体方案的选择 :1、确定监测对象;2、布置采样点;3、数据的显示;4、报警控制系统设计。第三章与第四章:详细阐述本设计的硬件设计部分,并在选用的硬件基础上开发具有实际使用功能的软件系统。第五章:整个系统的仿真调试。第六章:总结与展望。第二章:总体设
17、计方案一:如果使用的热敏电阻在理论上能够达到实验检测的需求。不过考虑到热敏电阻的测量温度精准性低。重复性和可靠性较差。因此在针对精确程度需求相对比较严格的场合不太使用。并且还存在连接电路复杂算法繁琐的问题。方案二:使用温度测量专用地集成温度传感器:ad590;lm35/lm45。还有数字化温度传感器:ds18b20。数字化温度传感器有特点:1、接口简单;2、直接数字量输出;3、精确度高等优点。ds18b20是dallas公司的最新单线数字温度传感器。它是世界上第一片支持:“一线总线”接口的温度传感器。一线独特经济的特点。他可以让使用者极为简便的建立传感器网络。其主要测范围零下55度至125度。
18、当在零下10度到85度的测量值内。精度为0.5。被测数据会在第一时间通过“一线总线”进行数据0延时传输。增强了系统的抗干扰性。适用于自然环境恶劣的情况下进行的温度监测。如:环境控制;设备或过程控制;测温类消费电子产品等。ds18b20通用于5.5v的电压上下浮动可调性大。使系统设计更灵活;更方便;更便宜;体积更小。综上所述,本设计使用ds18b20当作设计的温度测量传感器核心器件。第三章:硬件设计部分基于单片机at89s52的空气温度监测仪,它是以监测空气的温度为目的设计的。其功能包括对室内温度的实时同步采样、显示及预警。仪器小巧。拥有很好的便携性。3.1系统硬件结构及原理本设计的监测仪使用一
19、超低功耗的at89s52作为核心芯片。温度经过的监测传感器发出对应不同温度的强弱电平。这个信号经放大电路与滤波电路处理后经多路转换器进行采样保持,最终通过a/d转换器按照预先设定好的频率把模拟信号转化成数字信号输入at89s52。温湿传感器同at89s52相连。at89s52把信号做数字处理后输入显示器中,分别显示空气中各种有害气体的浓度大小。如发现某一点温度超过预警值,则发出报警信号。图3.1 系统总体设计3.2 at89s52单片机与其扩展本设计使用at89s52作为控制单元的核心部件与此同时使用8255a器件当作并行接口。p0口:扩展。p1口:通道选择。p2口:控制lcd1602显示。p
20、a口:控制灯的亮灭。pb口:接收ad转换后的数字量。pc口:循环扫描按键。图3.2 8255a与at89s52的硬件连接图3.3传感器的选用本次设计我所使用地温度采集模块是ds18b20。该产品采用美国dallas公司生产的 ds18b20可组网数字温度传感器芯片封装而成。具有耐磨耐碰;体积小;使用方便;封装形式多样;可以灵活的应用于多种类型的小型空间设备数字测温与控制领域。3.3.1 ds18b20的特性(1) 独特的单接口。仅需一个端口引脚进行通讯;(2) 简单的多点分布应用;(3) 无需外部器件;(4) 可通过数据线供电。无需外部电源;(5) 零待机功耗;(6) 测温范围为-55+125
21、,以0.5递增;(7) 温度以9位数字量读出;(8) 温度数字量转换时间200ms;(9) 可定义非易失性温度报警;(10) 应用包括温度控制;工业系统;消费品;温度计热感测系统。3.3.2 ds18b20的结构ds18b20的结构如图4.1所示:图3.3 ds18b20的结构图ds18b20的各引脚说明如表3.2表述。表3.1 ds18b20的引脚说明引脚8脚soic引脚pr35符号说明51gnd地42dq单线应用的数据;输入输出引脚33vdd可选vdd引脚ds18b20有三个主要的数据部件:1、64位激光(lasered) rom;2、温度灵敏元件;3、非易失性温度触发器。 元件能够在通信
22、线中获得需要的电压和电流。当信号线处于高电平地波动周期区间时,将获取的能量暂存于元件中的电容;当信号线处于低电平的波动周期区间时。断开此电源。作为另一种可供选择的方法。元件也用外部5v电源。ds18b20的主要部件的结构如图3.2所示:图3.4 ds18b20方框图这样的话就使得ds18b20通信通过单线接口进行有效的传输。在单线接口情况下。在rom操作未定建立之前不能使用存贮器与控制操作。主机提供五种rom命令:(1) read rom(读rom);(2) match rom(符合rom);(3) search rom(搜索rom);(4) skip rom(跳过rom);(5) alarm
23、 search(告警搜索);这些命令对每一器件的64位激光rom部分进行操作,如果在单线上有许多器件,那么可以挑选出一个特定的器件,并给总线上的主机指示存在多少器件及其类型,在成功地执行了 rom 操作序列之后,可使用存贮器和控制操作,然后主机可以提供六种存贮器和控制操作命令之一。 一个控制操作命令指示ds18b20完成温度测量,该测量的结果将放入ds18b20的高速暂存(便笺式)存贮器(scratchpad memory),通过发出读暂存存储器内容的存储器操作命令可以读出此结果,每一温度告警触发器th和tl构成一个字节的 eeprom 如果不对ds18b20施加告警搜索命令,这些寄存器可用作
24、通用用户存储器,使用存储器操作命令可以写th和tl对这些寄存器的读访问。通过便笺存储器,所有数据均以最低有效位在前的方式被读写4。3.3.3 ds18b20在温度测量方面的应用ds18b20测量电路如3.5所示:图3.5 温度测量电路抗干扰性因为传感器的设计核心理念导致传感器可能会出现交叉反应现象。准确的布置电极电位能够有效的降低交叉反应的程度。此外,各大企业在设计其公司传感器的时候会设计过滤膜单元。通常会根据传感器种类安置不同过滤器。但是过滤膜在是用于调研时间之后就会失效。最有效的方式还是通过传感器矩阵和软件程序来降低和修正交叉反应。提高抗干扰性。传感器使用寿命是有限的。传感器输出信号因为使
25、用时间的延长而失去其效果。这是很多因素共同导致的。通常公司给出的标准是两年左右。这个标准只是一种大概的预估指标。因为传感器真正的有效寿命跟其应用环境中待测有毒气体浓度承反比。3.4前置放大滤波电路的设计由于传感器输出的信号非常弱。容易因放大信号丢失,也可能受到零点漂移或电路波形干扰。其输出信号范围:05a。鉴于本设计测量信号的变化速率很慢,通常是二十秒上下。所以能够采用单端供电放大器:ad623。ad623主要特点如下:1、ad623仅通过单个电阻来进行增益调整,最大能够达到一千倍。方便用户使用。2、ad623具有优良的直流特性。增益精度0.1%(g=1)。增益漂移25ppm(g=1)。输入失
26、调电压最大100v。输入失调电压漂移1v/°c(ad623b)。输入偏置电流最大25na。3、ad623具有优良的cmrr。它随增益增加而增加。误差小。4、ad623带宽800khz(g=1)。5、ad623共模抑制比相对于其他同类型元件范围比较广。在此基础上还能够增大比地电位小150mv地电路共模电压。ad623仅仅用单电源供电就可以让元件处于最佳功能运转状态。6、ad623能够代替分立器件组成的放大器。具有优良的线性度;温度稳定性;小体积可靠性。8、ad623仪表的放大器一共是常用的8脚工业标准封装模具。即dip;soic;小型soic三种形式。图3.6 ad623引脚排列图下图
27、是ad623和传感器的电路连接图。构成前置放大滤波电路。图3.7 ad623放大滤波电路在ad623输入处增添一个滤波电容。电阻可以选择个一千欧姆的电阻,这样可以放大约一百倍左右。通过放大滤波电路输出信号电压0-5v之间,符合数模转换单元的电压需求。3.5模数转换电路的设计气体传感器出来的信号是模拟信号,而微处理器at89s52只能处理数字信号,故需要对模拟信号信号进行转换,将其转换为处理器能识别的数字信号,由于经过放大电路出来的模拟电压变化范围在05v,故选择性价比比较合适的adc0809进行模数转换。其管脚定义如图3.8所示。图3.8 adc0809管脚示意图adc0809各脚功能如下表3
28、.2:引脚功能介绍d7-d0in0-in78位数字量输出引脚8位模拟量输入引脚vcc+5v工作电压ref(+)参考电压正端ref(-)参考电压负端starta/d转换启动输入端ale地址锁存允许输入端eoc转换结束信号输出引脚;开始转换时为低电平;当转换结束时为高电平oe输出允许控制端;用以打开三态数据输出锁存器clk时钟信号输入端(一般为500khz)a、b、c地址输入线3.6 复位电路设计at89s52芯片具有复位操作功能。rst是复位操作管脚,能够在上电和at89s52工作的任何时间点对芯片控制复位。当然在每次上电后都必须让at89s52回到复位状态,也可以理解为每过两个周期给rst复位
29、信号。本设计运用的是rc复位设计。它的有点在于结构非常简单,并且易于达到理想效果,普通单片机系统通常都会使用这种方式进行复位。此外还可额外增加一处复位按钮,在某些情况下可以对系统进行认为的复位。图3.9 系统复位电路 图3.10 电源电路第四章:软件设计及调试4.1单片机软件设计主程序:软件设计的核心内容是保证温度是0延迟显示。按照一定的扫描周期读取并且显示ds18b20的监测温度情况。温度测量每1s进行一次。其程序流程图如下图:图4.1 主程序流程图4.2读温度子程序先让ds18b20复位。后发跳过rom匹配命令;再发出温度转换命令。命令ds18b20开始测量温度之后交换。延时等待转换完毕后
30、;再将已转换的温度值一一地从各个ds18b20取出,转变成pc需要的数据编码形式发送至上位机,以此循环往复。程序框图如4.2下:图4.2读温度程序框图4.3 温度比较报警子程序这段程序是用来把温度跟提前预制的预警温度值进行对比。决定是否发出报警信号。他们判断绝对值的实际关系时是运用正负符号来核对的。具体的流程图如4.3所示:图4.3 温度比较报警子程序4.4 rs-485串口通信模块程序设计at89s52是串行口全双工串行通信协议。有4 种工作方式:方式0移位寄存使用;方式1是波特率可变的8位uart;方式2是波特率固定为两种的9位uart;方式3波特率9位uart。选择方式2或者方式3来进行
31、串口通信。程序流程图如图4-.:中断开始接收到数据帧数据帧有效ready指令接收到数据帧数据帧有效处理接受到的数据信息开始结束图4.4 rs-485通信流程图第五章:结论与展望5.1主要结论1、本设计通过对传感器技术;自动监测技术;微控制器技术的合理应用;设计了一整套对温度间进行控制且使用方便的装置。2、软硬件设计合理。设计的软件部分灵活的运用了模块化程序设计思维及思路。各模块相互独立。增强了整个程序地可靠性与各单元的可扩展情况。系统具有较高的性价比。3、通过实际检测,本设计的反应速度很快,并且程序简单使用方便。工作可靠等特点。5.2展望1、设计使用的传感器与转换器集成,这样虽然可以方便交换信
32、号增加传输的可靠性和响应速度。但会增加仪器的成本。以后的改进方向是采用价位偏低的传感器,其他各块电路单元尽量不用成品,由自己完成。2、因为户内各种原因是相互干扰的,本设计的信号显示实时数据是用液晶屏显示的百分比数据。这样就在精度上有所欠缺。接下来应该在系统中添加模糊算法等增强设计的智能水平。3、今后的设计方向是完成的全面多层次的检测和自动化。致 谢在本科学习生活即将结束之际,对四年来曾关心、指导、帮助和鼓励过我的老师、同学们表示衷心的感谢。让我们共同分享完成论文的喜悦。感谢我的家人在我四年本科的学习、工作和生活中对我一贯的支持、理解与鼓励。感谢导师在论文的选题、实验设计与论文撰写过程中,自始至
33、终以严谨的治学作风和崇高的责任心给予了全面的指导。最后,祝愿所有的老师和同学在今后的工作、学习和生活中事事顺心、心想事成。谢谢!参考文献1 魏英智.ds18b20在温度控制中的应用j.煤矿机械,2005(3):90-92.2 王来雄,姜智忠.rs-485智能串行通信接口的设计j.微电子学与计算机,2003(2):70-72.3 刘军华.传感器技术应用实例m.北京:电子工业出版社,2008.4 吴建平.传感器原理及应用m.北京:机械工业出版社,2009.5 余永权.atmel89系列flash单片机原理与应用m.北京:电子工业出版社,2003.6 atmel公司.at89s52数据手册m.200
34、3.7 孙廷才,王杰,孙中健.工业控制计算机组成原理m.北京:清华大学出版社,2001.8杨振野.ic 卡技术及其应用m.北京:科学出版社,2006.9李学海.pic 单片机实用教程基础篇m.北京:北京航空航天大学出版社,2002.10李朝青.单片机原理及接口技术m.北京:北京航空航天大学出版社,1994.11李建忠,单片机原理及应用,西安m:西安电子科技大学出版社,2002;12何立民主编. mcs-51单片机应用系统设计m.北京:北京航天航空大学出版社,1990.13 lain.liu,steve.real-time embedded system.computing and contro
35、l bate,engineering journal,2002,13(4):154-155.14陈在平,岳有军.工业控制网络与现场总线技术m.北京:机械工业出版社,2006.15邬宽明. can总线原理和应用系统设计m . 北京:北京航空航天大学出版社, 1996.16canaerospace interface specification for airborne can app licationsv1. 7 z. germany: stock flight systems, 2001.17邹润民,彭辉. 一种简单高效的现场总线的设计与实现 j . 测控技术, 2005, 24 (6) :
36、43 - 45.18吴军辉,林开颜,徐立鸿. rs2485总线通信避障及其多主发送的研究 j . 测控技术, 2002, 21 (8) : 41 - 43.19苗强. 基于rs485 总线的变电所监测系统设计 j . 仪器仪表学报, 2006, 16, ( 6): 910 91220郭文加. rs - 485 收发器及组网中的有关问题 j . 电子技术应用, 1998, ( 1) : 65 6721尹红. 单片机rs- 485多机通讯的实现 j. 计算机应用, 1999, 19, ( 1): 52 54附 录附 录 1附 录 2附 录 31、主机程序:#include <reg52.h&
37、gt;#include<intrins.h>#define uchar unsigned char /无符号字符型#define uint unsigned int /无符号整型uchar codetablee=0x00,0x01,0x02;0x03,0x04,0x05,0x06,0x07,0x08,0x09;/字符码unsigned char tmph,tmpl; sbit lcdrs=p20; /数据命令选择端sbit lcdrw=p21; /读写选择端sbit lcden=p22; /使能端sbit dq=p34; /ds18b20信号线sbit key2=p37; uint
38、 temp,tt;uchar num,x,y,z,data1,i;uchar code table="temperature is: "/用于初始显示uchar code table1=" 000.0'c "void delay(uint z) /延时z ms uint i,j; for(i=0;i<z;i+) for(j=0;j<110;j+);/写命令void write_com(uchar com) lcdrs=0; lcdrw=0; p0=com; delay(5); lcden=1; delay(5); lcden=0;/写
39、数据void write_date(uchar date) lcdrs=1; lcdrw=0; p0=date; delay(5); lcden=1; delay(5); lcden=0;/液晶初始化void init() lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01);/中断初始化void init1(void) tmod=0x20; th1=0xe8; tl1=0xe8; pcon=0x00; tr1=1; scon=0x90; void l1602_char(uchar hang,uc
40、har lie,char sign)uchar a;if(hang = 1) a = 0x80;if(hang = 2) a = 0xc0;a = a + lie - 1;write_com(a);write_date(sign);/18b20程序void delay_18b20(unsigned int i)while(i-);/*ds18b20初始化函数*/void init_ds18b20(void) unsigned char x=0; dq = 1; /dq复位 delay_18b20(8); /稍做延时 dq = 0; /单片机将dq拉低 delay_18b20(80); /精确延
41、时 大于 480us dq = 1; /拉高总线 delay_18b20(14); x=dq; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay_18b20(20);/*ds18b20读一个字节*/ unsigned char readonechar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i-) dq = 0; / 给脉冲信号 dat>>=1; dq = 1; / 给脉冲信号 if(dq) dat|=0x80; delay_18b20(4); return(dat);/*ds18
42、b20写一个字节*/ void writeonechar(unsigned char dat) unsigned char i=0; for (i=8; i>0; i-) dq = 0; dq = dat&0x01; delay_18b20(5); dq = 1; dat>>=1; /*读取ds18b20当前温度*/uint readtemperature() uchar a,b;init_ds18b20(); delay_18b20(80);writeonechar(0xcc); / 跳过读序号列号的操作writeonechar(0x44); / 启动温度转换ini
43、t_ds18b20();writeonechar(0xcc); /跳过读序号列号的操作writeonechar(0xbe); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=readonechar(); /读取温度值低位b=readonechar(); /读取温度值高位 tt= a / 16 + b * 16;return(tt);void main() init(); init1(); write_com(0x80);/初始显示 for(num=0;num<16;num+) write_date(tablenum); delay(5); write_com(0x80+0x40
44、); for(num=0;num<16;num+) write_date(table1num); delay(5); /循环用于发送数据 while(1) key2=1; i+; if(i>3) i=1; /对数据拆分依次发送 if(i=1) sbuf=readtemperature()/ 100 % 10; l1602_char(2, 6, readtemperature()/ 100 % 10 + 48); else if(i=2) sbuf=readtemperature()/10% 10; l1602_char(2, 7, readtemperature()/10% 10
45、+ 48); else if(i=3) sbuf=readtemperature()%10; l1602_char(2, 8, readtemperature()%10+48); while(ti=0) ; ti=0; key2=0; 2、机程序#include <reg52.h>#define uchar unsigned char#define uint unsigned intunsigned char tmph,tmpl; sbit lcdrs=p20;sbit lcdrw=p21;sbit lcden=p22;sbit key2=p37;uchar num,temp,da
46、t1,dat2,dat3,i=0;uchar code table="temperature is: "uchar code table1=" .0'c "void delay(uint z) uint i,j; for(i=0;i<z;i+) for(j=0;j<110;j+);void write_com(uchar com) lcdrs=0; lcdrw=0; p0=com; delay(5); lcden=1; delay(5); lcden=0;void write_date(uchar date) lcdrs=1; lcd
47、rw=0; p0=date; delay(5); lcden=1; delay(5); lcden=0;void init() lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01);void l1602_char(uchar hang,uchar lie,char sign)uchar a;if(hang = 1) a = 0x80;if(hang = 2) a = 0xc0;a = a + lie - 1;write_com(a);write_date(sign);void init1(void
48、) tmod=0x20; th1=0xe8; tl1=0xe8; pcon=0x00; tr1=1; scon=0x90; ea=1; void receive(void) key2=0; delay(5); ri=0; while(ri=0) delay(3); ri=0; i+; if(i=1) dat1=sbuf;l1602_char(2, 6, dat3+48); else if(i=2) dat2=sbuf;l1602_char(2, 7, dat1+48); else if(i=3) dat3=sbuf;l1602_char(2, 8, dat2+48);i=0; key2=1;
49、void main() init(); init1(); write_com(0x80); for(num=0;num<16;num+) write_date(tablenum); delay(5); write_com(0x80+0x40); for(num=0;num<16;num+) write_date(table1num); delay(5); while(1) delay(5); receive(); 毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2024版)金融科技领域创新产品研发合同
- 第一编-合同法
- 2024年个人股份出让协议模板:权益转移细节版B版
- (2024版)新型材料研发与专利许可合同
- 2024年度商业机密保护协议一
- 2024业务外包合同
- 2024年企业劳动合同法专业培训实施计划
- 2024年展会专用展位设计与装修服务协议模板版B版
- 2024年个人借款协议条款详细样本版B版
- 2024年度人工智能技术研发与产业化合同
- 古建新生 课件 2024-2025学年人美版(2024)初中美术七年级上册
- 核心训练在康复中的应用
- 2025届上海市宝山中学数学高二上期末达标检测试题含解析
- 2024年股权投资担保协议格式版
- 铁路线路工(高级工)资格认定考试题库
- 顺丰在线测评24题答案
- 医师定期考核人文医学考试题库500题(含参考答案)
- 全国赛课一等奖人教版三年级美术上册《各式各样的鞋》课件
- 题型06最值问题之瓜豆原理(原卷版+解析)
- 幼儿园儿童安全教育手册
- 2024年涉密人员考试试题库保密基本知识试题附答案(考试直接用)
评论
0/150
提交评论