基于51单片机智能温度控制器设计与实现毕业论文.doc

上传人:laozhun 文档编号:3937915 上传时间:2023-03-28 格式:DOC 页数:48 大小:1.13MB
返回 下载 相关 举报
基于51单片机智能温度控制器设计与实现毕业论文.doc_第1页
第1页 / 共48页
基于51单片机智能温度控制器设计与实现毕业论文.doc_第2页
第2页 / 共48页
基于51单片机智能温度控制器设计与实现毕业论文.doc_第3页
第3页 / 共48页
基于51单片机智能温度控制器设计与实现毕业论文.doc_第4页
第4页 / 共48页
基于51单片机智能温度控制器设计与实现毕业论文.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基于51单片机智能温度控制器设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于51单片机智能温度控制器设计与实现毕业论文.doc(48页珍藏版)》请在三一办公上搜索。

1、题目 基于51单片机智能温度控制器设计与实现 本题目要求设计者以智能温度控制器为对象,完成硬件系统和软件设计并实现其功能。1. 熟悉任务,分析课题要求,熟悉温度控制器的原理,进行方案设计; 2. 熟悉硬件设计技术基础、单片机应用系统设计要领,根据本课题的特点选择相应器件;3. 搜集素材,优选素材,整理素材;4. 完成所硬件电路的装配和调试,编写程序实现其功能;5. 撰写毕业设计论文。6. 参加毕业设计论文答辩。毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外

2、,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人

3、郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规

4、定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日摘 要 近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟,应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色.单片机应用技术已成为一项新的工程应用技术.本毕业设计正是以AT89S51单片机为中心设计的温度控制器.虽然温度控制器电路功能比较简单,但是设计它的意义在于能使学生将所学到的知识综合应用,提高动手实践能力.本系统采用AT89S51单片机作为核心,控制系统的模块分别为:单片机最小系统、显示模块、温度设定模块。当温度传感器感应到温度变化时,本设计可以判断温度是否设定范围之内,

5、若不在,蜂鸣器发出警报。本设计的系统实用性强、判断精确、操作简单、扩展功能强.关键词: 温度控制器 单片机 AT89S51ABSTRACTIn recent years, with the continuous improvement of the microcontroller class, functional improvement, its application matures, application field, especially the increasing industry measurement and control, cutting-edge weapons and

6、 daily household appliances, etc but because a single-chip microcomputer and brightness graces. Microcomputer application technology has become a new engineering application technology. This graduation design is designed for the center with AT89S51. Although temperature controller is simpler, but de

7、sign its meaning lies in the can make students will learn knowledge comprehensive application, improving practical capability. This system uses AT89S51 as the core, the control system of the modules are respectively:single chip minimize system, display module, temperature-setting module. When the te

8、mperature sensors induction to temperatures variation the design can judge whether the tempertaure comes within the range.If not,the buzzer alarms.This design system accurately strong practicality, judgment, simple operation,and function expansion is strong.keywords: Temperature controller single-ch

9、ip microcomputer AT89S51目录第一章 绪论.31.1 单片机的发展.31.2 智能温度控制器的背景.41.3 智能温度控制器的意义.4第二章 整体设计.72.1 单片机的选择.7 2.1.1 单片机管脚功能说明.72.2 模块性能分析.9 2.2.1 按键.9 2.2.2 数码管.9第三章 硬件电路设计.133.1 最小系统设计.13 3.1.1 时钟电路.13 3.1.2 复位电路.133.2 数码管显示电路.143.3 按键电路的设计.143.4 DS18B20 的简介.15 3.4.1 DS18B20 概述.15 3.4.2 DS18B20 技术性能描述.15 3.

10、4.3 DS18B20 引脚.163.5 智能温度控制器实物图.16第四章 软件设计.194.1 流程图设计.194.2 主程序.214.3 Protel99SE 的简介.29第五章 软硬件调试.315.1 硬件调试.315.2 软件调试.31 第六章 总结与展望.33第七章 结束语.35致谢.37参考文献.39附录.41附录A.41附录B.42第一章 绪 论1.1 单片机的发展单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路

11、转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。 单片机也被称为微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。 早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在80

12、31上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已

13、经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。 由于单片机具有控制功能强,体积小,成本低,功耗小等一系列的特点,使它在工业控制,智能仪器,节能技术改造,通信系统,信号处理及家用电器产品中都得到广泛的应用,随着数字技术的发展及单片机在电子系统中的广泛应用,在很大程度上改变了传统的设计方法。以往采用模拟电路,数字电路实现的电路系统,大部分功能单元都可以通过对单片机硬件功能的扩展及专用程序的开发来实现系统提出的要求,这意味着许多电路设计问题将转化为程序设计问题。

14、这种用模拟技术,数字技术的综合设计系统,用软件取代硬件实现和提供系统系能的新的设计思想体系,一般称之为微控制技术。在微控制系统的设计中,系统设计和软件设计起着关键性的作用。1.2 智能温度控制器的背景二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑

15、的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。在实际生活中,比如空调的温度控制系统等,为了使其能够周围环境温度在适宜温度之内,必须要有一个系统来完成这个任务。若在实际生活之中,只靠人的感觉是很难判断出温度的确定值的。利用单片机编程来设计智能温

16、度控制器,可以使以上问题得以解决,即使两个温度仅仅相差零点几度,也能轻松的判断出目前温度是否在适宜温度范围。本文主要介绍了智能温度控制器的工作原理及设计,以及它的实际用途。1.3 智能温度控制器的意义本系统采用单片机作为整个控制核心。控制系统的模块为:单片机最小系统模块、显示模块、温度设定模块。该系统利用一个数码管来完成显示功能;用温度传感器来获取外界温度,在数码管上显示此时温度值,从而实现温度测量的过程。在设计应用中,为了知道此时确定的温度值是否处于所设定的理想范围,必须要设计一个系统来完成这个任务。如果在温度测量中,靠自身感觉是几乎无法判断出此时的确切温度的。利用单片机系统来设计温度器,使

17、以上问题得以解决,即使两个时刻的温度相差为零点几度,也可测量出准确温度。系统工作原理本系统采用AT89S51单片机作为核心。控制系统的模块分别为:单片机最小系统模块、显示模块、温度设定模块。本文主要介绍了单片机智能温度控制器设计及工作原理,以及它的实际用途。第二章 整 体 设 计2.1 单片机的选择AT89S51是一个低功耗,高性能COMS8位单片机,片内含4K Byte ISP(In-system programmable)的可反复擦写1000次的Flash的只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通

18、用8位中央处理器SP Flash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。2.1.1 单片机管脚功能说明2VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 图2.1 AT89S51的管脚图P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后

19、,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和

20、校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了作为普通I/O口,还有第二功能:P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时

21、为闪烁编程和编程校验接收一些控制信号。 I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。只有读端口时才真正地把外部的数据读入到内部总线。89C51的P0、P1、P2、P3口作为输入时都是准双向口。除了P1口外P0、P2、P3口都还有其他的功能。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频

22、率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否

23、有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2.2 模块性能分析基于单片机的智能温度控制器的设计的主要模块为AT89S51、按键及数码管显示部分.AT89S51在上一部分已经介绍,这一部分主要介绍按键及数码管显示部分.2.2.1 按键本模块中的按键由设定键、上调键、下调键、确定键和复位键构成。设定键用来设定温度上下限,上调下调键用来设置温度上下限的准确数值。2.2.2 数

24、码管数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平

25、时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。译码器的逻辑功能是将每一个输入的二进制代码译成对应的输出高、低电平信号,是编码器的反操作。数码管可以用TTL或CMOS集成电路直接驱动,所以使用译码器将BCD编码译成数码管所需要的驱动信号,以便使数码管用十进制数字显示出BCD编码表示的数值。图2.2 七段数码管应根据实际情况决定究竟采用共阳还是共阴方式,其基本原则是:若单片机口线直接驱动数码管各段,最好采用共阳极数码管,因为8051系列单片机口线输出高电平时,输出的电流很小,数码管不会太亮。若数码管通过驱动芯片与单片机相连,就要看驱动芯片对数码管极性的要求了点亮显示器分为静态和动

26、态显示两种方法。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或是截止。例如,其段数码管的a、b、c、d、e、f导通,g截止,则显示0.这对这种显示方式每一位都要有一个8位输出口控制,所占硬件较多,一般用于显示位数较少(很少)的场合。当位数较多时,用静态显示所需的I/O过多,一般采用动态显示方法。所谓动态显示,就是逐位地轮流点亮各位显示器(扫描),对于每一位显示器而言,每个一段时间点亮一次。显示器的点亮既与点亮时的导通电流有关,也与点亮时间和间隔时间比例有关。调整电流和时间参数,可是实现亮度较高、较为稳定的显示,同时可减少工作电流中的COM是选通位,对于共阳极数码管,当a

27、、b、c、d、e、f、g、h端接低电平时,COM位高电平,数码管各段全部点亮。例如,想让数码管显示“1”,就必须使数码管的b、c段点亮,其它段熄灭;所以使b、c段为低电平,其它各引脚均为高电平。在设计电路时,可将这几位分别接到单片机的引脚上,还要加上限流电阻,这样就可由程序控制数码管的工作情况了。但是如果用一个端口驱动一个数码管,四位数码管就需要四个空闲端口,而在许多系统中并无四个端口可用。此外,使用四个端口往往使得每一个数字都需要独立驱动(缓冲)电路和排阻,这将大大增加系统的成本。最常见的解决方案是采用多路复用显示。这是指对于每一个显示只驱动1/4时间。只要在20Hz-50Hz之间循环所有显

28、示,由于人眼存在视觉残留,在这样的显示方式下,数码管看起来时同时点亮的。在这次课程设计中根据实际需要采用了七段数码管共阴极和静态显示方式。单片机体积小价格低,应用方便,稳定可靠。单片机将很多任务交给了软件编程去实现,大大简化了外围硬件电路,使外围电路的实现简单方便。由于单片机本身不具有软件编译测试的功能,我们需要借助其他软件编译,将编译好的程序“烧”入单片机内。在实际电路设计中,需要先通过仿真软件测试电路以及编译的程序,检查外围电路设计是否合理,软件编译是否正确,以及软件和硬件电路能否正常配合工作,能否准确的实现所设计的功能。如果测试通过,电路仿真没有问题能完全实现功能的话就可以实际的做板子的

29、焊接工作了。第三章 硬 件 电 路 设 计3.1 最小系统设计时钟电路及复位电路是单片机工作的基本电路,单片机加上这两部分电路就构成了单片机最小系统,即单片机系统就可以工作了。3.1.1 时钟电路AT89S51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。AT89S51单片机的时钟产生方法有两种。内部时钟方式和外部时钟方式(如图3-6所示)。本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。 图3.1 AT89S51时钟产生电路3.1.2 复位电路

30、复位电路通常采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。除了上电复位外,有时还需要按键手动复位。本设计就是用的按键手动复位。按键手动复位有电平方式和脉冲方式两种。其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。按键手动复位电路见图3-2。时钟频率选用12MHz。图3.2 手动复位电路3.2 数码管显示电路图3.3 共阴极七段数码管显示电路使用了七段数码管,它是共阴极的,由高电平点亮。3.3 按键电路的设计温度设定按键的输入按钮使用常规开关。图3.4 温度上下限设定按键这些常规开关组成了温度上下限设定按键,硬件电路简单

31、,在程序设计上也不复杂。3.4 DS18B20的简介43.4.1 DS18B20概述DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 图3.5 DS18B20实物图3.4.2 DS18B20技术性能描述 、 独特的单线接口方式,DS1

32、8B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 、测温范围 55+125,固有测温分辨率0.5。 、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。 、工作电源: 35V/DC。、 在使用中不需要任何外围元件。、 测量结果以912位数字量方式串行传送。、 不锈钢保护管直径 6。 、 适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温。 、 标准安装螺纹 M10X1, M12X1.5, G1/2”任选。 、 PVC电缆直接出线或德

33、式球型接线盒出线,便于与其它电器设备连接。图3.6 DS18B203.4.3 DS18B20引脚 (1)DQ为数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。3.5 智能温度控制器实物图图3.7 智能温度控制器实物图第四章 软件设计4.1 流程图设计什么是流程图?以特定的图形符号加上说明,表示算法的图,称为流程图或框图。 流程图是流经一个系统的信息流、观点流或部件流的图形代表。在企业中,流程图主要用来说明某一过程。这种过程既可以是生产线上的工艺流程,也可以是完成一项任务必需的管理过程。 例如,一张流程图能够成为解释某个零件的制造工序

34、,甚至组织决策制定程序的方式之一。这些过程的各个阶段均用图形块表示,不同图形块之间以箭头相连,代表它们在系统内的流动方向。下一步何去何从,要取决于上一步的结果,典型做法是用“是”或“否”的逻辑分支加以判断。 流程图是揭示和掌握封闭系统运动状况的有效方式。作为诊断工具,它能够辅助决策制定,让管理者清楚地知道,问题可能出在什么地方,从而确定出可供选择的行动方案。 流程图有时也称作输入-输出图。该图直观地描述一个工作过程的具体步骤。流程图对准确了解事情是如何进行的,以及决定应如何改进过程极有帮助。这一方法可以用于整个企业,以便直观地跟踪和图解企业的运作方式。 流程图使用一些标准符号代表某些类型的动作

35、,如决策用菱形框表示,具体活动用方框表示。但比这些符号规定更重要的,是必须清楚地描述工作过程的顺序。流程图也可用于设计改进工作过程,具体做法是先画出事情应该怎么做,再将其与实际情况进行比较。本设计程序的流程图为: 图4.1 流程图4.2 主程序我所设计的智能温度控制器的程序采用的是C程序设计,C语言的显著特点是二进制来编写程序,程序的各个部分除了必要的信息交流外彼此之间相互独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。虽然C语言也是强类型语言,但它的语法比较灵活,

36、允许程序编写者有较大的自由度。程序设计如下:#include#include #define uchar unsigned char #define uint unsigned intuchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;/共阴极字型码int temp; int ss;int dd;int j;uchar data b;uchar data buf4;int alarmH=500; int alarmL=-10;sbit k1=P25;sb

37、it k2=P26;sbit k3=P27;sbit k4=P24;sbit bell=P10;sbit HLight=P12;sbit LLight=P13;sbit Red=P16;sbit Green=P17;bit set=0;bit Flag=0;void key_to1();void key_to2();void delay(uint);void key();void Show();void delay(uint num)while(num) ;Init_DS18B20(void) uchar x=0; DATA = 1; delay(10); DATA = 0; delay(80

38、); DATA = 1; delay(20); x=DATA; delay(30);ReadOneChar(void) uchar i=0;uchar dat = 0;for (i=8;i0;i-) DATA = 0; dat=1; DATA = 1; if(DATA) data=0x80; delay(8); return(dat);WriteOneChar(unsigned char dat) uchar i=0; for (i=8; i0; i) DATA = 0; delay(10); DATA = 1; dat=1; delay(8);int ReadTemperature(void

39、) uchar a=0;uchar b=0;int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); WriteOneChar(0x44); Init_DS18B20();WriteOneChar(0xCC); WriteOneChar(0xBE); a=ReadOneChar();b=ReadOneChar();t=b;t=8;t=t|a;tt=t*0.0625;t= tt*10+0.5; return(t);void display00() dd=(temp-1); buf1=dd/100;buf2=dd/100;buf3=dd%100/10;buf0=dd%10;for(j=0;j5) P2=0xff; P0=0x00;P2=0xfd; P0=0x80; delay(100); P2=0xff; P0=0x00; P2=0xf7; P0=0x40;delay(100); P2=0xff; P0=0x00; P2=0xfb; P0=tablebuf2;delay(100);P2=0xff; P0=0x00;P2=0Xfd; P0=tablebuf3;delay(100);P2=0xff;P0=0x00;P2=0Xfe;P0=tablebuf0

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号