单片机课程设计数字温度计_第1页
单片机课程设计数字温度计_第2页
单片机课程设计数字温度计_第3页
单片机课程设计数字温度计_第4页
单片机课程设计数字温度计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 数字温度计设计任务、功能要求说明1.1 数字温度计设计任务学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在单片机技术中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。(1) 熟悉单片机的定义、名称、分类方法;(2) 了解单片机的特点、应用范围及发展历史;(3) 熟悉单片机应用系统、单片机开发系统的区别;(4) 了解单片机芯片内部各功能模块的作用;(5) 了解单片机的时序定时单位;(6) 熟悉单片机的信号引脚;(7) 熟悉单片机并行I/O口的结构及特点;(8) 熟悉单片机的不同工作方式;(9

2、) 掌握单片机存储器的分类及特点;(10) 掌握单片机的时钟电路、复位电路的工作原理。1.2 数字温度计设计功能要求说明设计一个具有特定功能的数字温度计。该数字温度计上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。测量温度范围099,测量精度小数点后两位,可以通过开始和结束键控制数字温度计的工作状态。编程语言:汇编或C51。1.3 设计总体方案介绍及工作原理说明采用数字温度芯片DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,此元件线形较好。在0100 摄氏度时,最大线形偏差小于1 摄氏度。DS18B

3、20 的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC 机通信上传数据,另外AT89S51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。系统框图主要由主控制器、单片机复位、时钟振荡、LED显示、温度传感器组成,系统总体框图如图1所示。主控制器AT89

4、S52驱动显示电路DS18B20图1 系统总体框图利用温度传感器DS18B20可以直接读取被测温度值,进行转换的特性,模拟温度值经过DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,处理后的数据送到LED中显示。本课题以是AT89S52单片机为核心设计的一种数字温度控制系统,系统整体硬件电路包括,传感器数据采集电路,温度显示电路,单片机主板电路等组成。系统框图如图2所示。图2 数字温度计系统框图2 数字温度计硬件系统的设计2.1 数字温度计硬件系统各模块功能简要介绍在课题设计的温度控制系统设计中,控制核心是AT89S52单片机,该单片机为51系列增强型8位单片机,它有32个I/O

5、口,片内含4K FLASH工艺的程序存储器,便于用电的方式瞬间擦除和改写,其外部晶振为12MHz,一个指令周期为1S。使用该单片机完全可以完成设计任务,各模块的功能如下:DS18B20测温模块:单片机P3.0口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流。单片机最小系统:由AT89S52单片机、时钟电路和复位电路构成。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。时钟电路由一个12MHz的石英晶体振荡器和两个33pF的的电容组成振荡电路和分频电路。复位电路采用上电复位和按键复位结合的方式对电路进行复位,主要是通过RST引脚送入

6、单片机。单片机最小系统为整个电路的核心。LED显示电路模块:采用两个四位一体共阳型数码管显示器进行显示。由于位控线的驱动电流较大,因此在P2口线上接了8个PNP型三极管提高驱动能力;在单片机的P1口线和P2口线上接了16个470的电阻,这些电阻起限流的作用。将段控口a-dp接在P0.0-P0.7上,位控口接在P2口线上,实现对显示的控制。LED显示电路模块主要用来显示温度及报警信息。蜂鸣电路模块:单片机P3.1口线上接上一个1K电阻然后再通过一个PNP型三极管与蜂鸣器相连接组成蜂鸣器电路,接入PNP型三极管是为了增强蜂鸣器的驱动电流。独立式键盘模块:采用独立式键盘接法,共有8个按键来对电路进行

7、控制。分别通过上拉电阻接在单片机的P1口线上。其中S1S5在本电路中完成各项功能。片内振荡器和时钟产生电路:但石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。SST89V58RD 最高允许振荡频率达40MHz,因而大大的提高了指令的执行速度。2.2 温度检测DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-92小体积封装形式,温度测量范围55125,可编程为912

8、位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,业可采用寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU(Central Processing Unit,计算机中央处理器)只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。DS18B20的内部结构如图3所示。图3 DS18B20的内部结构图在本系统中采用温度芯片DS18B20测量温度。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件

9、线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。该芯片直接向单片机传输数字信号,便于单片机处理及控制。 图4 温度芯片DS18B20在本系统中采用温度芯片DS18B20测量温度。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。该芯片直接向单片机传输数字信号,便于单片机处理及控制。其测温电路如图5所示。图5 18B20测温电路图正确接线的方法如图6所示。左负右正,一旦接反就会立刻烧掉。接反是导致该传感器总是显示85的原因。图6 18B20接线图2.3 AT89S52主控制模块AT89S52 是一个低功耗,高性能CMOS 8位

10、单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及AT89S52引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个1

11、6位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。由于系统控制方案简单 ,数据量也不大 ,考虑到电路的简单和成本等因素 ,因此在本设计中选用 A TMEL 公司的 A T89S52单片机作为主控芯片。主控模块采用单片机最小系统是由于 A T89S52芯片内含有4 kB的 E2PROM ,无需外扩存储器 ,电路简单可靠 ,其时钟频率为 024 MHz ,并

12、且价格低廉 ,批量价在 4元左右。AT89S52内部结构图如图7所示。图7 AT89S52内部结构图其主要功能特性: 兼容MCS-51指令系统 4k可反复擦写(>1000次)ISP Flash ROM 32个双向I/O口 4.5-5.5V工作电压 2个16位可编程定时/计数器 时钟频率0-33MHz 全双工UART串行中断口线 128x8 bit内部RAM 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密 灵活的ISP字节和分页编程 双数据寄存器指针 可以看出AT89S52提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个数据指针

13、,两个16位定时器/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟。AT89S52引角功能说明Vcc:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)

14、4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。P1口第二功能如表1所示。表1 P1口的第二功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平

15、,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问位地址的外部数据存储器(如执行:MOVX Ri 指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。Flash 编程或校验时,P2也接收高位地址和其它控制信号。)P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的P3口将用上拉电阻输出电流I。P3的特殊功能如表2所示。表2 P3的特殊功能口管脚备选功能P3.0 RXD(串行

16、输入口)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(外部数据存储器读选通)RST:复位输入。当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。WDT益出将使该引脚输出高电平,设置SFR AUXR 的 DISRTO 位(地址8EH)可打开或关闭该功能。DISRTO 位缺省为RESET输出高电平打开状态。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位

17、字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:第当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位禁位后,只有一条MOVX 和MOVC指令ALE才会被激活。此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信

18、号。EA/VPP:外部访问允许。欲使CPU公访问外部程序存储器(地址0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上12V的编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。AT89S52单片机引脚图如图8: 图8 AT89S52单片机引脚图 2.4 最小系统电路简介在课题设计的温度控制系统设计中,控制核心是AT89S52单片机,该单片机为51系列增强型8位单片机,它

19、有32个I/O口,片内含4K FLASH工艺的程序存储器,便于用电的方式瞬间擦除和改写,其外部晶振为12MHz,一个指令周期为1S。使用该单片机完全可以完成设计任务,其最小系统主要包括:复位电路、晶振电路、电源电路以及数码管显示电路。2.4.1 复位电路单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器振荡器 振荡器是收发设备的基础电路,它的作用是产生一定频率的交流信号,是一种能量转换装置将直流电能转换为具有一定频率的交流电能。 全文稳定后,如果RST引脚

20、上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。AT89S52单片机基本复位电路共有上电复位、按键电平复位和按键脉冲复位3种。本次课程设计的复位电路采用按键电平复位,按键电平复位是通过使复位端经电阻与vcc电源接通实现的复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经过一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。单片机复位电路参数的选定须在振荡稳定后保证复位高电平持续时间大于2个机器周期。复位电路如图9所示。图9 复位电路2.4.2 晶振电路晶振是石英振荡器

21、的简称,英文名为Crystal,晶振分为有源晶振和无源晶振两种,其作用是在电路产生震荡电流,发出时钟信号。它是时钟电路中最重要的部件,它的作用是向IC等部件提供基准频率,它就像个标尺,工作频率不稳定会造成相关设备工作频率不稳定,自然容易出现问题。由于制造工艺不断提高,现在晶振的频率偏差、温度稳定性、老化率、密封性等重要技术指标都很好,已不容易出现故障,但在选用时仍可留意一下晶振的质量。晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率

22、。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。单片机晶振两个电容的作用:这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮发。它会影响到晶振的谐振频率和输出幅度,一般订购晶振时候供货方会问你负载电容是多少。在本系统中设计电容大小为3pf。其晶振电路图如图10所示。 图10 晶振电路 2.4.3 电源电路 在本系统中使用+5V稳压电源,可以使用USB电源插座。也可以使用下载线口提供电。还可以使用插针供电,电路图如图11所示。图11 电源电路2.4.4 LED显示电路数码管可以分为共阳极与共阴极两种,共阳极就是把所有LED的阳极连接到共

23、同接点vcc,而每个LED的阴极分别为a、b、c、d、e、f、g及dp(小数点);共阴极则是把所有LED的阴极连接到共同接点,而每个LED的阳极分别为a、b、c、d、e、f、g及dp(小数点)。下图中的8个LED分别与上面那个图中的ADP各段相对应,通过控制各个LED的亮灭来显示数字。显示电路有两个四位7段数码管显示。如图12所示。 图12 数码管显示电路2.5 数字温度计电路原理图、PCB图、元器件布局图2.5.1 电路原理图原理图见附录A 。2.5.2 PCB图PCB图见附录B。2.5.3 元器件布局图元器件布局图见附录C。2.6 数字温度计元器件清单元器件清单见附录D。2.7 数字温度计

24、系统仿真设计 利用软件proteus仿真原理图如图13所示。 图13 数字温度计proteus仿真原理图3 数字温度计软件系统的设计3.1 数字温度计使用单片机资源的情况整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控

25、程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。本设计采用独立式键盘,键盘直接接在P1口上且按键的结果存贮在单片机的内部数据存储器里面。用到的LED显示器接到了单片机的P0口线上和P2口线上。DS18B20和蜂鸣器接在P3口线上。3.2 数字温度计软件系统各模块功能简要介绍3.2.1 主程序#include<intrins.h> /包含_nop_()函数定义的头文件/#define T 100unsigned char duan16=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82

26、,#include<reg52.h> /包含单片机寄存器的头文件 0xF8,0x80,0x90,0x8c,0xce,0x86,0xAB,0xA1,0xff;/ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15/ PTEnD灭 unsigned char wei=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe;以下是DS18B20的操作程序 sbit DQ=P30;unsigned char time; /设置全局变量,专门用于严格延时3.2.2 DS18B20传感器初始化bit Init_DS18B20(void) bit fl

27、ag; /储存DS18B20是否存在的标志,flag=0,表示存在;flag=1,表示不存在 DQ = 1; /先将数据线拉高 for(time=0;time<2;time+) /略微延时约6微秒; DQ = 0; /再将数据线从高拉低,要求保持480960us for(time=0;time<200;time+) /略微延时约600微秒 ; /以向DS18B20发出一持续480960us的低电平复位脉冲 DQ = 1; /释放数据线(将数据线拉高) for(time=0;time<16;time+) ; /延时约30us(释放总线后需等待1560us让DS18B20输出存在

28、脉冲) flag=DQ; /让单片机检测是否输出了存在脉冲(DQ=0表示存在) for(time=0;time<200;time+) /延时足够长时间,等待存在脉冲输出完毕 ; return (flag); /返回检测成功标志3.2.3 DS18B20读取字节数据unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat; /储存读出的一个字节数据for (i=0;i<8;i+) DQ =1; / 先将数据线拉高 _nop_(); /等待一个机器周期 DQ = 0; /单片机从DS18B20读书据时,将数据线

29、从高拉低即启动读时序dat>>=1; _nop_(); /等待一个机器周期 DQ = 1; /将数据线"人为"拉高,为单片机检测DS18B20的输出电平作准备 for(time=0;time<2;time+) ; /延时约6us,使主机在15us内采样 if(DQ=1) dat|=0x80; /如果读到的数据是1,则将1存入datelsedat|=0x00; /如果读到的数据是0,则将0存入dat /将单片机检测到的电平信号DQ存入ri for(time=0;time<8;time+) ; /延时3us,两个读时序之间必须有大于1us的恢复期 ret

30、urn(dat); /返回读出的十进制数据3.2.4 DS18B20写入字节数据void WriteOneChar(unsigned char dat) unsigned char i=0;for (i=0; i<8; i+) DQ =1; / 先将数据线拉高 _nop_(); /等待一个机器周期 DQ=0; /将数据线从高拉低时即启动写时序 DQ=dat&0x01; /利用与运算取出要写的某位二进制数据, /并将其送到数据线上等待DS18B20采样 for(time=0;time<10;time+) ; /延时约30us,DS18B20在拉低后的约1560us期间从数据线

31、上采样 DQ=1; /释放数据线 for(time=0;time<1;time+) ; /延时3us,两个写时序间至少需要1us的恢复期 dat>>=1; /将dat中的各二进制位数据右移1位 for(time=0;time<4;time+) ; /稍作延时,给硬件一点反应时间3.2.5 启动温度测量 void ReadyReadTemp(void) Init_DS18B20(); /将DS18B20初始化WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换 for(time=0;time<100

32、;time+) ; /温度转换需要一点时间Init_DS18B20(); /将DS18B20初始化WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器,前两个分别是温度的低位和高位3.2.6 读取温度void display_delay(void) unsigned int time1=100; while(time1) time1- ; void display(unsigned char gewei,unsigned char shiwei ,unsigned char baiwei,unsigned char shi,un

33、signed char bai,unsigned char qian,unsigned char wan) P0=duanwan; P2=wei6; /十分位 display_delay(); P2=0xff; P0=duanqian; P2=wei5; /十分位 display_delay(); P2=0xff; P0=duanbai; P2=wei4; /十分位 display_delay(); P2=0xff; P0=duanshi; P2=wei3; /十分位 display_delay(); P2=0xff; P0=duangewei&0x7f; P2=wei2; /个位 d

34、isplay_delay(); P2=0xff; P0=duanshiwei; P2=wei1; /十位 display_delay(); P2=0xff; P0=duanbaiwei; P2=wei0; /百位 display_delay(); P2=0xff; P0=0xff; void main(void)unsigned char TL,TH,TD,TN; unsigned char gewei,shiwei,baiwei,shi,bai,qian,wan; unsigned int xiaoshu; DQ=1;while(1) ReadyReadTemp(); TL=ReadOneC

35、har(); /先读的是温度值低位TH=ReadOneChar(); /接着读的是温度值高位TN=TH*16+TL/16; /实际温度值=(TH*256+TL)/16,即:TH*16+TL/16 TD=(TL&0x0f);xiaoshu=625*TD;gewei=TN%10;shiwei=(TN/10)%10;baiwei=TN/100;if(baiwei=0) baiwei=15;/灭 if(baiwei=15&&shiwei=0) shiwei=15;/灭shi=(xiaoshu/1000)%10;bai=(xiaoshu/100)%10;qian=(xiaoshu

36、/10)%10;wan=xiaoshu%10;display(gewei,shiwei,baiwei,shi,bai,qian,wan);3.3 数字温度计软件系统程序流程框图 图14 主程序流程框图图15 DS18B20传感器初始化程序流程框图图16 DS18B20读取字节数据程序流程框图图17 DS18B20写入字节数据程序流程框图图18 启动温度测量程序流程框图图19 DS18B20读取温度程序流程框图3.4 数字温度计软件系统程序清单 数字温度计软件系统程序清单见附录F。4 数字温度计设计结论、设计结果、误差分析、教学建议4.1 设计结论本课程设计课题是数字温度计,本课程设计说明书介绍

37、了基于AT89S52单片机的数字温度计控制系统的设计,对整个硬件电路和软件程序设计做了分析,文中介绍了数字温度计的现状及发展,介绍了数字温度计的设计方案选择及原理介绍,加深了51单片机的知识了解,介绍51单片机的结构、特点等。并学习了数字温度传感器DS18B20,设计软件仿真,更直观的反应设计的正确性。本课程设计说明书对其中的一些基本原理也做了简要的概述。其实写完了本课程设计说明书,也仅仅是对数字温度计控制系统做出了一个简单的设计方案,数字温度计科利用在很多领域,在一些人不能直接进入的场所,利用单片机控制的数字温度计,可以设置并控制其中的温度,数字温度计还可以利用在温室中,这样就可以方便的控制

38、温室中的温度,当温度超过所要求的温度时,可发生报警。报警温度范围为(高于23度或低于15度)。数字温度计其利用在很多领域。本课题只是单片机控制数字温度计系统得一种设计方法。4.2 设计结果如图20所示,上电或复位后温度计进入准备状态,显示“P.”。图20 复位显示P.如下图21所示,当按下第1个键时,显示的是此时测量的温度值。图21 温度测量结果图4.3 误差分析在本课程设计中设置DS18B20的分辨率为默认的12位分辨率,其可分辨温度为:0.0625。在课程设计功能要求中,要求精确到小数点后两位,读数精度为0.1。由此可知这中间存在着的误差有可能来源是:对所测温度数据进行处理时进行了四舍五入

39、;由DS18B20的分辨率本身决定。减小误差的方法:从分辨率来看12位分辨率已是DS18B20的最大分辨率,所以无法通过加大分辨率来来减小误差,但我们可以同过显示三位小数,在数据处理过程中减小误差4.4 设计总结在做这次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的实际资料是十分必要的,也是必不可少的。其次,在这次课程设计中,我们运用了以前学过的专业课知识,如:proteus仿真、汇编语言、模拟和数字电路知识等。虽然过去我从未独立应用过他们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计一收获。最后,要做好一个课程设计,就必须做

40、到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在设计程序时,不能妄想一次将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,这样为资料的保留和交流提供了方便;在设计中遇到的问题要记录,以免下次遇到同样的问题。在这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单片机更是如此,程序只有在经常写与读的过程中才能提高,这就是这次课程设计的最大收获。4.4 教学建议与凌云老师一起学习了学期的单片机技术后,我受益匪浅,这不仅在学习上,而且也在

41、做人和生活上。经过这一学期的学习后,我觉得老师有很多教学方法都是十分对学生和老师有意处的,值得在今后的教学中继续推广,比如:能负责本门课程的相关实验和课程设计,而不是只负责理论课或其他任何一项,这样有助于同学们学习的连贯性,同时,老师也可以更好的掌握同学们的学习情况。希望这一点能在跟多的老师中得到推广。把集中在期末的课程设计这个相对的大工程分散化,这样能够减轻同学们在紧张的期末的任务,有利于同学们跟好的调节学习进程。能够积极的参与职教班级的班级活动,有助于老师与同学之间的升入了解,从单纯的师生关系上升到朋友关系,能够缓解相对紧张的教学氛围。结束语通过课程设计的学习,还是学到了不少的知识!不仅纠

42、正了课程学习过程中出现的许多错误,还在试验中验证了自己的一些猜想。在学习的过程中有失败,当然也有困惑,有成功,当然就有喜悦。虽然只是课程设计,但我拿出了自己的全部精力去对待,能学到知识固然值得骄傲,能认识到自己的过错和不足不也是一件幸事吗!做学问也是做人,再作学问的过程中体味做人的道理不也是一种收获吗?记得古语中说:“学,然后知不足”!希望这次学习只是我学习单片机的开始,也算是启蒙吧!我必将更加努力的学习它完善自己。我想这就是我学习这门课的最大感受吧!此次课程设计令我受益匪浅,但遇到的困难也不少。在电路设计上,让我深刻体会到自身在专业知识方面的缺乏,一些专业素语还是第一次接触,这时互联网就很好

43、的发挥了作用,搜一搜,很快就可以得到答案。由于对电路设计缺乏经验,此次设计需要大量借鉴相关专业知识的书籍,并且询问同学老师,请求指导。古人说的好“三人同行必有我师”,不明白的问题,同学间的讨论,老师的用心指导,是我得以顺利完成本次数字温度计设计课题任务的前提。在这个过程中,我体会到了从耕耘到收获的快乐,从遇到困难到解决困难,从提出问题到解决问题,从茫然到明了,这些过程都让我收获甚多,学到了一些未曾涉及到的知识。在此,我要感谢老师的悉心指导,感谢提供帮助的老师和同学。致谢本课程设计是在指导老师凌云老师的细心指导以及同学们的帮助下完成的。从课程设计的选题、具体设计到论文的最后完稿所取得的每一点成绩

44、都倾注了老师的心血。指导老师严谨治学的态度、渊博的学识、对事业执着追求的精神以及对本人在学习、生活等各方面无微不至的关怀和帮助,都将使我终生受益。在此,十分感谢在课程设计中帮助过我的同学!值此论文完成之际,谨向导师致以最崇高的敬意和最衷心的感谢。参考文献1 李广弟,朱月秀,王秀山.单片机基础北京航空航天大学出版社M,2001(07).LiGuangDi, ZhuYueXiu, WangXiuShan. The single chip microcomputer basis of the Beijing university of aeronautics &astronautics pr

45、ess, M2001 (7). (in Chinese)2 蔡美琴,张为民等.MCS-51系列单片机系统及其应用高等教育出版社,M2004(06).CaiMeiQin, ZhangWeiMin etc. The MCS - 51 series microcontroller system and its application "higher education press, M2004 (6). (in Chinese)3 康华光.电子技术基础 模拟部分高等教育出版社 ,M1998(08). Kang hua. "electronic technology foundat

46、ion simulation part of higher education press, 1998 (euro). 4 (6). M (in Chinese)附录A附录B图B 数字温度计PCB图附录C图C1 PCB顶层图图C2 PCB底层图图C3 PCB元器件布局图元器件及材料名称规格数目备注AT89S5240P1DS18B201AT89S52芯片插座40P1四位一体共阳数码管2数码管单排插座(母)40P1晶振12MHz1发光二极管9单排插针(公)40P1三极管90129蜂鸣器1小按键9下载口座子十芯1六脚按键开关1Usb电源线1Usb电源线插座1电阻2001电阻4.7k1电阻1K3电阻47024电解电容22uf1瓷片电容33pf2排阻10k2短路冒2杜邦线8P1PCB板子1附录D表1 数字温度计元器件清单附录E图E1 实物正面图图E2 实物反面图附录FC语言程序清单:/*/项目名:数字温度计设计者:郭盈才时间:2012年12月1日/*/项目功能:设计一个具有特定功能的数字温度计。该数字温度计上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。测量温度范围099,温度高于25报警,低于13

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论