版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.z:TP单位代码:107密级:一般学号:本科毕业论文〔设计〕题目:基于51单片机的数字温度计专业:姓名:指导教师:职称:辩论日期:二〇一三年五月二十七日-.z基于51单片机的数字温度计的设计摘要:本系统采用AT89C51型单片机作为数字温度计控制核心,采用DS18B20温度传感器作为测温电子元件,通过LED显示管传输数据,实现温度的测量,并用发光二极管的灭和亮进展报警。整个系统包含两局部,一是硬件局部,另一个是软件局部。硬件采用常用的器件单片机和温度传感器,软件用C语言进展编程,从而实现所需功能。此系统是软硬结合,传感器测温,单片机处理,显示管显示,最终完成电子温度计的总体设计。此系统小巧紧促,控制精度高,信号采集效果好,便于实际的应用。关键词:温度计单片机温度传感器Designofdigitalthermometerbasedon51singlechipMicroputerAbstract:ThesystemusesAT89C51microcontrollerasadigitalthermometertocontrolcore,DS18B20temperaturesensorfortemperaturemeasurementofelectronicponentsandtransmitdatathroughLEDdisplaytransistors,andtemperaturemeasurement,Realizationoftemperaturemeasurement,andledoutandlightalarm.Thewholesystemconsistsoftwoparts,thatishardware,otherissoftware.monlyusedbyhardwaredevicesandsingle-chipmicroputertemperaturesensors,softwareprogrammingintheclanguage,inordertoachievetherequiredfunctionality.Thissystemisabinationofsoftandhard,temperaturemeasurementsensor,MCU,displaydisplay,finalizetheGeneraldesignoftheelectronicthermometer.Thissystemissmall,jincu,highcontrolprecision,signalacquisitioneffects,easeofpracticalapplications.Keywords:ThermometerSingle-chipmicroputerTemperaturesensor目录1绪论11.1题目背景及目的11.2国内外研究状况11.3课题主要工作 ….….....…….22开发工具keil简介22.1keil的介绍22.1.1系统概述22.1.2整体构造33数字温度计方案可行性分析44.系统硬件选择与设计55系统软件的设计16结论18参考文献18谢辞19附录201绪论1.1课题的背景和目的温度对于生物的生存起着重要的作用,而人们对环境的感知也从单纯的身体感感官开展到今天的用各种温度计来对周围的环境进展准确的测量。过去的温度测量方法不仅耗时耗力,而且精度差,但单片机的出现使得温度的采集和数据的处理得到了很好的解决。过去的温测装置主要以热敏电阻为测温元件,其本钱低,但需用一些信号处理电路,并且可靠性相对较差,准确度低。与过去的测温装置比拟,这里设计的电子温度计具有测温准确,便于读数,适用*围广等等。单片机自1976年由Intel公司推出MCS-48开场,迄今已有三十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,以广泛应用到各种行业。这次设计选用的是最常用的51系列,便于实现和应用。测温传感器采用美国DALLAS半导体公司的智能温度传感器DS18B20,测温*围为﹣55~﹢125℃,最大分辨率可达0.0625℃,可以直接读出被测温度值,采用单线制与单片机相连,具有低本钱和易使用的特点,同时它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,特别适合于构成多点温度测控系统,可直接将温度转化成串行数字信号供微机处理。从DS1820读出或写入DS1820信息仅需要一根口线,其读写及温度变换功率来源于数据总线,该总线本身也可以向所挂接的DS18B20供电,而无需额外电源。DS18B20能提供12位温度读数,它无需任何外围硬件即可方便地构成温度测量系统。课题的设计目的1深入学习单片机应用的知识,提高综合及灵活运用所学知识的能力。2学习DS18B20数字温度传感器的测温原理。3通过对课题设计方案的分析、选择、比拟、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。4学会用Proteus7Professional进展电路的仿真。5学会使用KeiluVision3软件,进一步学会用c语言进展单片机的编程。1.2国内外研究状况虽然我国这几年在温度控制领域有很大突破,但综其实力还不能和欧美以日本相比。我国一般的温控技术比拟成熟,但就智能方面,我国还不是非常成熟的。但随着国家资金的投入,以及工程的研究使我国的温控逐步得到很好的开展。单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能〔可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路〕集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8位单片机,开展到现在的32位300M的高速单片机。1.3课题的主要工作本课题的重点是应用单片机和温度传感器,进展温度的转换及测量。主要工作如下:1选好单片机和温度传感器,用Proteus进展仿真,及其PCB的焊接和调试。2温度传感器采用DS18B20。3温度的显示用数码管。4用c语言编写好程序,调试,最后完成设计要求。2开发工具keil2.1keil的介绍编程使用的软件是KEIL,编程使用C语言。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、构造性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境〔uVision〕将这些局部组合在一起。假设运用C语言编程,Keil的使用十分方便,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也能发挥很大作用。2.1.1系统概述KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能表达高级语言的优势。下面详细介绍KeilC51开发系统各局部功能和使用。2.1.2KeilC51单片机软件开发系统的整体构造C51工具包的整体构造,uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创立生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的He*文件,以供调试器dScope51或tScope51使用进展源代码级调试,也可由仿真器使用直接对目标板进展调试,也可以直接写入程序存贮器如EPROM中。3方案的设计与论证3.1显示电路方案方案一:采用LCD液晶显示采用1602LCD液晶显示,此方案显示虽然内容相对丰富,但价格高。方案二:采用数码管动态显示使用七段LED数码管,采用动态显示的方法来显示各项指标,此方法价格本钱低。综合上述原因,采用方案二,使用数码管作显示电路。3.2测温电路方案方案一由于本设计是测温电路,可以使用热敏电阻之类的器件,在将随被测温度变化的电压或电流采集过来,A/D转换后,就可以用单片机进展处理,在显示电路上,就可以显示出来,但这种设计需要用到A/D转换电路,其中还涉及到电阻与温度的对应值的计算,比拟麻烦。而且在对采集的信号进展放大时容易受温度的影响出现较大的偏差。方案二用温度传感器,在单片机电路设计中,大多都是使用传感器,所以可以采用一只温度传感器感器DS18B20,此传感器,可以很容易直接读取被测量温度值,进展转换,电路简单,精度高,如硬件都可以实现,而且使用单片机的接口便于系统的在扩展,满足设计要求。以上两种方案,很容易看出,采用方案二,电路比拟简单,费用较低,可靠性高,软件设计也比拟简单,故采用方案二。4元器件介绍4.1核心处理器的设计4.1.1单片机STC89C52RCSTC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下:增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.工作电压:5.5V~3.3V〔5V单片机〕/3.8V~2.0V〔3V单片机〕工作频率*围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz用户应用程序空间为8K字节片上集成512字节RAM通用I/O口〔32个〕,复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。ISP〔在系统可编程〕/IAP〔在应用可编程〕,无需专用编程器,无需专用仿真器,可通过串口〔R*D/P3.0,T*D/P3.1〕直接下载用户程序,数秒即可完成一片具有EEPROM功能具有看门狗功能共3个16位定时器/计数器。即定时器T0、T1、T2外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒通用异步串行口〔UART〕,还可用定时器软件实现多个UART工作温度*围:-40~+85℃〔工业级〕/0~75℃〔商业级〕PDIP封装STC89C52RC单片机的工作模式掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序空闲模式:典型功耗2mA正常工作模式:典型功耗4Ma~7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备STC89C52RC引脚图STC89C52RC引脚功能说明VCC〔40引脚〕:电源电压VSS〔20引脚〕:接地P0端口〔P0.0~P0.7,39~32引脚〕:P0口是一个漏极开路的8位双向I/O口。作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。在外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。此时,P0口内部上拉电阻有效。在FlashROM编程时,P0P1端口〔P1.0~P1.7,1~8引脚〕:P1口是一个带内部上拉电阻的8位双向I/O口。P1的输出缓冲器可驱动〔吸收或者输出电流方式〕4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流。此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入〔P1.0/T2〕和定时器/计数器2的触发输入〔P1.1/T2E*〕,具体参见下表:在对FlashROM编程和程序校验时,P1接收低8位地址。P1.0和P1.1引脚复用功能引脚号功能特性P1.0T2〔定时器/计数器2外部计数输入〕,时钟输出P1.1T2E*〔定时器/计数器2捕获/重装触发和方向控制〕P2端口〔P2.0~P2.7,21~28引脚〕:P2口是一个带内部上拉电阻的8位双向I/O端口。P2的输出缓冲器可以驱动〔吸收或输出电流方式〕4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在外部程序存储器和16位地址的外部数据存储器〔如执行“MOV*DPTR〞指令〕时,P2送出高8位地址。在8位地址的外部数据存储器〔如执行“MOV*R1〞指令〕时,P2口引脚上的内容〔就是专用存放器〔SFR〕区中的P2存放器的内容〕,在整个期间不会改变。在对FlashROM编程和程序校验期间,P2也接收高位地址和一些控制信号。P3端口〔P3.0~P3.7,10~17引脚〕:P3是一个带内部上拉电阻的8位双向I/O端口。P3的输出缓冲器可驱动〔吸收或输出电流方式〕4个TTL输入。对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。在对FlashROM编程或程序校验时,P3还接收一些控制信号。P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:P3口引脚复用功能引脚号复用功能P3.0R*D〔串行输入口〕P3.1T*D〔串行输出口〕P3.2〔外部中断0〕P3.3〔外部中断1〕P3.4T0〔定时器0的外部输入〕P3.5T1〔定时器1的外部输入〕P3.6〔外部数据存储器写选通〕P3.7〔外部数据存储器读选通〕RST〔9引脚〕:复位输入。当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。ALE/〔30引脚〕:地址锁存控制信号〔ALE〕是外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚〔〕也用作编程输入脉冲。〔29引脚〕:外部程序存储器选通信号〔〕是外部程序存储器选通信号。当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而外部数据存储器时,将不被激活。/VPP〔31引脚〕:外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。注意加密方式1时,将内部锁定位RESET。为了执行内部程序指令,应该接VCC。在Flash编程期间,也接收12伏VPP电压。*TAL1〔19引脚〕:振荡器反相放大器和内部时钟发生电路的输入端。*TAL2〔18引脚〕:振荡器反相放大器的输入端。4.1.280C51单片机的中断系统80C51系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断效劳嵌套。由片内特殊功能存放器中的中断允许存放器IE控制CPU是否响应中断请求;由中断优先级存放器IP安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。4.1.380C51单片机的定时/计数器在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进展计数。80C51单片机内集成有两个可编程的定时/计数器:T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。4.1.4复位电路的设计单片机复位电路的设计如图4-3所示。该复位电路采用上电复位的方式,实现上电复位功能。上电复位是利用电容来实现的,即上电瞬间RST端的电位与VCC一样,随着充电电流的减少,RST的电位逐渐下降。图中的R是施密特触发器输入端的一个10KΩ下拉电阻,时间常数为10×10-6×10×103=100ms。只要VCC的上升时间不超过1ms,振荡器建立时间不超过10ms,这个时间常数足以保证完成复位操作。上电复位所需的最短时间是震荡周期建立时间加上2个机器周期的时间,在这个时间内RST的电平应该维持高于施密特触发器的下阀值。图4-3单片机复位电路4.1.5晶振电路的设计单片机晶振电路的设计如图4-4所示。*TAL1〔*1〕为反向振荡放大器的输入及内部时钟工作电路的输入。*TAL2(*2)是来自反向振荡器的输出。按照理论上AT89C51使用的是12MHz的晶振,但实测使用11.0592MHz。所以设计者通常用的是12MHz。图4-4单片机晶振电路4.2数字温度传感器DS18B20Dallas公司的数字温度传感器DS18B20是世界上第一片支持一线总线接口的温度传感器。一线总线具有独特而经济的特点,用户可轻松地组建传感器网络,为测试系统构建引入了全新的概念。其测量温度的*围为﹣55~﹢125℃,在﹣10~﹢85℃*围内,可以程序设定9~12bit的分辨率。现场温度直接以一线总线的数字方式传输,大大提高了系统的抗干扰能力,适合于恶劣环境的温度测量。4.2.1DS18B20的引脚描述DS18B20的引脚图如图3所示。图3DS18B20的引脚图GND:电源地DQ:数据输入/输出脚。VDD:可选电源脚,电源电压*围3~5.5V。4.2.2DS18B20主要由以下四局部组成〔1〕温度传感器〔完成对温度的测量〕〔2〕非挥发的温度报警触发器TH和TL〔3〕配置存放器〔出厂时被设定为12位数据格式〕〔4〕64位光刻ROM。〔其中的64位序列号是出厂前被光刻好的〕,它可以看作该得地址序列码,并且其中的48位为该得自身惟一序列号。其作用就是使每一个温度传感器都不一样,这样就可以实现一根总线上挂多个DS18B20的目的。4.2.3温度数据格式及数值转换以12位转换为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃表示,12位二进制温度数据代码存储在两个8bit的RAM中,二进制的前两位的前五位是符号位,如果测得的温度大于零,这五位为零。只要将测得的数值转化为十进制数值乘以0.0625即可以得到实际的温度;如果温度小于零,这五位为1,测得的数值转化为十进制乘以0.0625即可得到实际温度。具体的实际温度值和两字节数据对应关系如表4所示。表4实际温度值和两字节数据对应关系温度/℃数字输出数字输出〔十六〕+125000001111101000007D0H+10.125000000001010001000A2H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFF8H-10.1251111111101011110FF5EH-551111110010010000FC90H4.2.4操作和控制DS18B20工作过程中的协议如下:初始化→ROM操作命令→RAM操作命令→处理数据〔1〕初始化。单总线上的所有处理均从初始化开场。〔2〕ROM操作命令。总线主机检测到DS18B20的存在便可以发出ROM操作命令,这些命令如表5所示。表5ROM操作命令ROM操作命令指令代码ROM操作命令指令代码ReadROM(读ROM)[33H]SearchROM(搜索ROM)[F0H]MatchROM(匹配ROM)[55H]Alarmsearch(报警搜索〕[ECH]SkipROM(跳过ROM)[CCH]〔3〕RAM操作命令如表6所示。根据DS18B20的通信协议,主机控制DS18B20完成温度转化必须经过以下3个步骤。每次读写之前都要对DS18B20进展复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进展预定的操作。复位要求CPU将数据线下拉500μs,然后释放,DS18B20收到信号后等待16~60μs,发出60~240μs脉冲,CPU收到此信号表示复位成功。表6RAM操作命令RAM操作指令指令代码RAM操作指令指令代码WriteScratchpad(写暂存存储器)[4EH]ConvertTemperature(温度变换)[44H]ReadScratchpad(读暂存存储器)[BEH]RecallEPROM(重新调出)[B8H]CopyScratchpad(复制暂存存储器)[48H]ReadPowerSupply(读电源)[B4H]4.2.5系统总体构成图和系统总电路图如图4-1和图4-2STCSTC89C52RCMA*282电平转换PC机DS18B20温度传感器数码管显示晶振电路发光二极管图4-1系统总体构成图图4-2系统总电路图4.3数码管显示模块数码管是一种半导体发光器件,其根本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元〔多一个小数点显示〕;按能显示多少个“8〞可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极()的数码管。共阳数码管在应用时应将公共极接到+5V,当*一字段发光二极管的阴极为低电平时,相应字段就点亮。当*一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极()的数码管。共阴数码管在应用时应将公共极接到地线GND上,当*一字段发光二极管的阳极为高电平时,相应字段就点亮。当*一字段的阳极为低电平时,相应字段就不亮。数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。1、静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进展驱动,或者使用如BCD码二-十进制译码器译码进展驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,个数码管,实际应用时必须增加译码驱动器进展驱动,增加了硬件电路的复杂性。2、数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到一样的字形码,但终究是那个数码管会显示出字形,取决于单片机对位选通端电路的控制,所以我们只要将需要显示的数码管的选通控制翻开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。4.4发光二极管报警模块发光二极管(LightEmittingDiode,LED),是一种半导体组件。初时多用作为指示灯、显示发光二极管板等;随着白光LED的出现,也被用作照明。发光二极管的两根引线中较长的一根为正极,应接电源正极。有的发光二极管的两根引线一样长,但管壳上有一凸起的小舌,靠近小舌的引线是正极。与小白炽灯泡和氖灯相比,发光二极管的特点是:工作电压很低〔有的仅一点几伏〕;工作电流很小〔有的仅零点几毫安即可发光〕;抗冲击和抗震性能好,可靠性高,寿命长;通过调制通过的电流强弱可以方便地调制发光的强弱。由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。把它的管心做成条状,用7条条状的发光管组成7段式半导体数码管,每个数码管可显示0~9十个数目字。图4-3发光二极管5系统软件设计5.1DS18B20的工作过程DS18B20复位初始化程序→读出转换后的温度值→写DS18B20程序→读DS18B20程序。DS18B20实现温度转换读取温度数值程序流程图如图5-1所示。开场开场DS18B20的初始化启动温度转换读取温度存放器跳过读序列号的操作跳过读序列号的操作DS18B20的初始化RETLOW-低八位HIGH-高八位图5-1DS18B20实现温度转换读取温度数值程序流程图5.2主程序设计主程序的主要功能是负责温度的实时显示,读出并处理DS18B20的测量的当前温度值,温度测量1s进展一次。这样可以在一秒之内测量一次被测温度,其程序流程如5-2所示:判断温度判断温度正温度负温度读出温度的地位LSB,读出温度的高位MSB取出tempH的最高位判断是否为1补码转换,取反加一读取DS18B20温度数据将十六进制数转换成十进制输出显示YesNo图5-2对DS18B20读出温度处理程序流程图总结本文重点介绍了单片机和数字传感器DS18B20的原理和功能,并用DS18B20与STC89C52RC单片机、数码管、发光二极管组成数字温度计。该系统具有更高速、更灵敏、更简捷地获取被分析、检测、控制对象的温度信息的能力,同时具有良好的抗干扰及环境适应能力。通过这次毕业设计使我学习到了很多的东西,不仅加深了对专业知识的理解,而且更好地把理论知识与实践相结合,提高了自身的动手能力和实践水平,增强了学习单片机系统开发与设计的兴趣。由于本人的知识有限,在本设计中不可防止存在一些缺乏之处,我会在后的学习生活中不断加以完善。参考文献[1]**大学本科毕业论文〔设计〕指导手册[N].教发〔2006〕61号[2]童诗白.模拟电子技术根底[M].:高等教育,2001.1.[3]阎石.数字电子技术根底[M].:高等教育,1998.11.[4]余锡存.单片机原理及接口技术[M].**:**电子科技大学,2000.7.[5]*法制.常用电子元器件及典型芯片应用技术[M].:机械工业,2006.12.[6]党丰,王敬农,高国旺.基于DS18B20的数字式温度计的实现[J].应用实践,2003,〔6〕:167-173.[7]江世明,*先任.基于DS18B20的智能温度测量装置[N].**学院学报〔自然科学版〕,2004-12-25〔10〕.[8]李正浩,姜宝钧,邓兴成.51单片机在LED数码管显示中的应用[J].实验科学与技术,2005,〔3〕:68-72.[9]王明慧.数字温度传感器DS18B20在化学工业现场温度检测中的应用[J].计算机与化学应用,2007,〔8〕:82-87.[10]ShaZhanyou,Wang*iaojun.OptimizeDesignofMultipleChannelDustlikeObjectTemperatureMeasureandControlSystem[M].2003.6.谢辞首先,感谢我的指导教师,在整个设计过程中对我的热心指导和严格要求。在选题、技术方案和系统总体设计上给了我许多珍贵的建议,帮助我建立了正确的设计思想,保证了课题的顺利完成。我从他那里不仅学到了学术方面的知识,更重要的是学到了严谨的教学态度。再次,我还要感谢学院的各位教师,正是由于他们一丝不苟、任劳任怨的付出,才会使我,通过四年的理论学习,完成了今天的毕业设计,感谢学院为我们毕业设计提供的良好环境和仪器设备,有了这些,我们才能高效的完成毕业设计任务。最后,对毕业设计中,给于我帮助的教师和同学,致以诚挚的谢意。(全文总共9168字)附录:程序清单*include<reg52.h>*include<intrins.h>*defineuintunsignedint*defineucharunsignedcharsbitPOINT=P0^7;sbitDQ=P3^6;//温度输入口sbitMOTOR=P1^5;sbitLAMP=P1^4;sbitSPEAK=P3^7;ucharcodeLEDData[]={ 0*3f,0*06,0*5b,0*4f,0*66,0*6d,0*7d,0*07,0*7f,0*6f}; ///数码管voidDelayMS(uintms){ uchari; while(ms--) { for(i=0;i<120;i++); }}voidDisplay_Result(ucharkey){ P2=0*f7; P0=LEDData[disbuf[1]]; DelayMS(5); P2=0*fb; P0=LEDData[disbuf[2]]; POINT=1; DelayMS(5); P2=0*fd; if(disbuf[3]>0) { P0=LEDData[disbuf[3]]; }else{ P0=0*00; } DelayMS(5); P2=0*fe; if(key==1) { P0=0*40; }else{P0=0*00; } DelayMS(5);}voidDelay(uint*){ while(--*);}/***********************************************************************************函数名称:Init_DS18B20(void)**函数功能:初始化*********************************************************************************/voidInit_DS18B20(void){unsignedchar*=0;DQ=1;//DQ先置高Delay(8);//稍延时DQ=0;//发送复位脉冲Delay(80);//延时〔>480us)DQ=1;//拉高数据线Delay(5);//等待〔15~60us)*=DQ;//用*的值来判断初始化有没有成功,18B20存在的话*=0,否则*=1Delay(20);}/***********************************************************************************函数名称:ReadOneChar()**函数功能:读一个字节*********************************************************************************/ucharReadOneChar()//主机数据线先从高拉至低电平1us以上,再使数据线升为高电平,从而产生读信号{unsignedchari=0;//每个读周期最短的持续时间为60us,各个读周期之间必须有1us以上的高电平恢复期unsignedchardat=0;for(i=8;i>0;i--)//一个字节有8位{DQ=1;Delay(1);DQ=0;dat>>=1;DQ=1;if(DQ)dat|=0*80;Delay(4);}return(dat);}/***********************************************************************************函数名称:WriteOneChar(unsignedchardat)**函数功能:写一个字节*********************************************************************************/voidWriteOneChar(unsignedchardat){unsignedchari=0;//数据线从高电平拉至低电
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中历史选择性必修2《生产工具与社会变迁》教学设计(艺考生专版)
- 小学一年级数学(北京版)上册知识清单:20以内数的认知与加减法(二)
- 小学五年级英语上册Unit 2 My Week Part B第三课时教案
- 幼儿园大班艺术领域:幼儿审美感知能力培养教学设计
- 初中音乐·八年级 西部民歌意象化教学课例-《在那遥远的地方》审美感知与文化理解深度研习教案
- 人教版初中英语八年级上册Unit 1快乐假期:语法聚焦教案
- 初中一年级信息技术《探秘计算机系统:硬件与软件的协同共生》教案
- 初中八年级物理《开启科学之旅:探索物理世界》单元教学设计
- 2026年长春市二道区政务服务中心(窗口人员)招聘笔试模拟试题及答案详解
- 2026年省直辖行政单位神农架林区工会人员招聘考试参考试题及答案详解
- (正式版)HGT 6313-2024 化工园区智慧化评价导则
- 商贸有限公司产品质量管理制度
- 电路分析基础(第5版)PPT完整全套教学课件
- 2022年08月中国国新控股有限责任公司公开招聘国新证券总经理笔试题库含答案解析
- 盾构机拆机吊出安全技术交底
- FZ/T 70010-2006针织物平方米干燥重量的测定
- 阿特拉斯使用说明书(全) - 图文-
- 鼻咽癌指南教学课件
- 植物生理学(全套PPT课件)
- 中国气血健康白皮书
- 《短歌行》《归园田居(其一)》对比阅读课件【知识建构+备课精研】统编版高中语文必修上册
评论
0/150
提交评论