数字温度计的设计毕业论文.doc_第1页
数字温度计的设计毕业论文.doc_第2页
数字温度计的设计毕业论文.doc_第3页
数字温度计的设计毕业论文.doc_第4页
数字温度计的设计毕业论文.doc_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

郑州大学西亚斯国际学院本科毕业论文(设计) 题 目 数字温度计的设计 指导教师 白银生 职称 讲师 学生姓名 万帅 学号 20081521134 专 业电子信息工程 班级 电信(1)班 院 (系) 电子信息工程学院电子信息工程 完成时间 2012年4月30号 数字温度计的设计摘要本文综述了数字温度计的设计与制作过程,详细介绍了设计制作一个完整的数字温度计需要做的前期准备和制作过程。通过对题目的透彻理解以及所要设计的产品的各项性能功能,决定用单片机作为控制内核,其次主要用温度传感器ds18b20,及其他主要电路配合下设计出一套完整的硬件系统和一套满足设计要求的软件系统,最后得到了一款基于at89s52单片机控制的数字温度计。本温度计属于多功能温度计,设计不仅实现了用lcd1602显示器显示温度,而且可以同步显示时间日历,日期和时间都可通过按键校整,以及可以设置上下报警温度,当温度不再设置范围内时,可以报警。关键词:at89s52 单片机;数字温度传感器 ds18b20;显示器lcd1602;the digital thermometer designabstractdigital thermometer was reviewed in this paper the design and manufacture process, detailed introduces the design of a complete digital thermometer need to do preparation and production process. through the thorough understanding of subject and the design products of various performance function, decided to use single chip microcomputer as control core, second main use temperature sensor ds18b20, and other main circuit design with a complete set of hardware system and a set of software system to meet the design requirements, and finally got a at89s52 scm control based on the digital thermometer. the thermometer belongs to the multi-function thermometer, designed with lcd1602 display shows temperature and time to modify functions, the year, month, day and week display function and can be set up and down the temperature alarm, when the temperature is no longer set range, you can call the police.key words:at89s52 single-chip microcomputer; digital temperature sensor ds18b20; display lcd1602.iii目录中文摘要abstract 第一章 绪论11.1 选题背景11.2 数字温度计简介21.2.1数字温度计的特征21.2.2设计实现的目标2第二章 数字温度计的设计方案22.1 设计方案论证与比较2 2.1.1 显示电路方案2 2.1.2 测温电路方案32.2 系统总体方案3第三章 数字温度计的硬件电路的设计43.1 系统硬件框图.432 控制电路4 3.2.1 单片机at89s52芯片的功能特性4 3.2.2 最小系统模块6 3.2.3 系统模块分析6 3.2.4 单片机的复位电路7 3.2.5单片机的晶振电路83.2 温度传感器设计9 3.2.1 ds18b20 简介9 3.2.2 温度传感器与单片机的连接12 3.3 单片机与报警电路123.4 显示电路133.4.1 lcd液晶显示模块133.4.2lcd1602液晶显示屏143.4.3液晶显示器的工作原理153.5 掉电充电电路163.6系统整体硬件电路17第四章 软件设计184.1主程序设计184.2 键盘子程序设计204.3 温度子程序224.4 显示子程序设计 24第五章 数据测试25结束语25致谢26参考文献26附录一 源程序代码27第一章 绪论1.1选题背景国际上从20世纪70年代开始,国内自80年代开始,单片机的应用十分广泛。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹,对各个行业的技术改造和产品智能化的更新换代起着重要的推动作用,而现在最受关注的是单片机广泛用于各种实时测控系统中,对于控制过程中的各种物理参数(如转速,位移,压力,流量,温度等)进行测量和控制.将测量技术,自动控制技术和计算机技术相结合,充分发挥数据处理和实时控制功能,使系统工作在最佳状态,提高系统的生产效率和产品的质量。所以日常生活中各种控制系统都可以使用单片机作为控制器。例如近年来家用电器涉及千家万户,生产规模大。如全自动洗牙机,热水器,高级音响设备和电子游戏机等,配上微电脑后其身价更是提高百倍,深得用户的欢迎。廉价的单片机微机在家用电器中应用前途十分广阔。此外,单片机在工商,金融,科研,教育,国防航天等领域都有着十分广泛的用途。综上所述单片机的应用从根本上改变了传统的控制系统,以前必须由模拟电路和数字电路实现的大部分功能,现在能用单片机通过软件方法实现了。随着现代信息技术的飞速发展和传统工业改造的逐步实现。能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻作为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。与传统的温度计相比,该设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。选用at89s52单片机作为主控制器件,ds18b20作为温度传感器通过lcd1602并行传送数据,实现温度显示。通过ds18b20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在-55125最大线性偏差小于0.1。该器件可以直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。1.2 数字温度计简介1.2.1 数字温度计的特征温度是我们日常生产和生活中实时接触到的物理量,但是它是看不到的,仅凭感觉只能感觉到大概的温度值。数字温度计的出现可以让人们直观的了解自己想知道的温度到底是多少度。数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即ad转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者pc机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如25.0摄氏度,然后通过显示单元,如led,lcd或者电脑屏幕等显示出来给人观察。这样就完成了数字温度计的基本测温。1.2.2 设计实现的目标1) 测温基本范围-55125。2) 测温精度误差小于或等于0.5。3) 超温报警(2030)。4) lcd屏幕显示实时温度,时间,日期。5) 四个按键可以对时间,日期进行调整。第二章 数字温度计的设计方案2.1 设计方案论证和比较2.1.1 显示电路方案 方案一: 用动态数码管显示采用七段led数码管,采用动态显示的方法来显示各项指标,该方案价格成本低,但是显示单一,不具有灵活性,且功耗较大。 方案二:采用1602lcd液晶显示采用该液晶显示,此方案显示内容丰富,灵活性较好,价格不贵,且功耗相对较小。综合上述原因,采用方案二。2.1.2 测温电路方案 方案一: 采用模拟温度传感器测温本设计是测温电路,可以使用热敏电阻之类的器件利用它们的感温效应,把被测温度的电压或电流采集过来,进行a/d转换后,用单片机进行数据处理,被测温度就能够在显示电路中显示出来。但是这种设计需要用到a/d转化电路,感温电路比较麻烦。 方案二:采用数字温度传感器在单片机的设计电路中,大多都是使用传感器,所以可以采用温度传感器ds18b20,此传感器可以很容易直接读取被测温度值,进行转换,电路简单,软件设计也比较简单,满足设计要求。 综合上述原因,采用方案二2.2 系统总体方案根据上述方案之间的比较,结合题目可以将系统分文主控模块,温度采集模块,显示模块,其框图如下:mcuds18b20温度采集模块报警电路显示模块掉电保护电路看门狗第三章 数字温度计的硬件电路的设计3.1 系统硬件框图单片机at89s52开关电路复位电路ds18b20温度采集模块报警电路显示模块按键输入电路时钟电路掉电保护电路3.2 控制电路3.2.1单片机at89s52芯片的功能特性主要性能1)与mcs-51单片机兼容 2)8k字节在系统可编程flash存储器 3)1000次擦写周期 4)全静态操作:0hz33hz 5)三级加密程序存储器 6)32个可编程i/o口线 7)三个16位定时器/计数器 8) 八个中断源9) 全双工uart串行通道10)低功耗空闲掉电模式11) 掉电后中断可唤醒12)看门狗定时器13) 双数据指针14) 掉电标识符at89s52是一种低功耗,高性能的cmos8位微控制器,具有8k在系统可编程flash存储器。使用atmel公司高密度非易失性存储器技术制造,与工业80c51产品指令和引脚完全兼容。片上flash允许程序存储器在系统中可编程,亦适用于常规编程器。在单芯片上,拥有灵巧的8位cpu和在系统可编程flash,使得ats89s52位众多嵌入式控制应用系统提供高灵活,有效的解决方案。ats89s52具有以下功能标准功能:8k字节flash,256字节ram,32位i/o口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及实时时钟。另外,ats89s52可降至0hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu停止工作,允许ram,定时器/计数器,串口,中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 3.2.2 最小系统模块3.2.3系统模块分析在本系统中,最小系统模块居于非常重要的地位。它是整个系统的中枢,系统运行所需的每个操作指令都要由其发出。它一方面控制着测温模块进行温度信息的采集和时钟信息,另一方面也控制着显示模块的工作。最重要的是,由测温模块所采集到的温度信息必须经由主控模块的处理才能在显示模块上显示,从而使整个系统进行正常的运转和工作。针对以上分析本系统主控模块中的单片机芯片采用了at89s52芯片,此芯片功能强大,能够完全满足系统运行的需求。3.2.4 单片机的复位电路单片机复位时reset需要保持96个晶振周期的高电平(即需8个机器周期)。复位以后p0p3口输出高电平,堆栈指针sp指向07h,其他特殊功能寄存器和程序计数器pc清零。只要reset保持高电平,at89s52就会循环复位。reset当由高电平变为低电平后,单片机从程序存储器0地址开始执行程序。但单片机复位不影响内部ram的状态,包括工作寄存器r0r7。常见的复位电路有:上电复位电路和上电按钮复位电路,在本设计中均采用上电复位电路,对于微型单片机而言,复位是一项很重要的归零调整操作。该复位就是将高电平加到reset引脚上,并保持时间超过两个机器周期以上,也就是2s如图2.3所示。 reset复位电路3.2.5 单片机的晶振电路所谓的晶振电路即指单片机的时钟电路。该电路通常有内部时钟电路和外部时钟电路。一般选用前者。单片机芯片内部有一个反相放大器构成的振荡器。反相放大器的输入端为xtal1,输出端为xtal2,把xtal1和xtal2与外部石英晶体及两个电容连接起来可构成一个石英晶体振荡器如图2.4所示。时钟发生器是一个2分频电路。它把晶体振荡器的频率2分频后供给片内其他电路。一般电容c1和c2起到稳定振荡频率、快速起振的作用。晶振电路3.2 温度传感器设计3.2.1 ds18b20 简介引脚说明序号名称引脚功能描述1gnd地信号2dq数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3vdd可选择的vdd引脚。当工作于寄生电源时,此引脚必须接地。1)ds18b20简介(1)独特的单线接口方式:ds18b20与微处理器连接时仅需要一条口线即可实现微处理器与ds18b20的双向通讯。 (2)在使用中不需要任何外围元件。 (3)可用数据线供电,电压范围:+3.0 +5.5 v。 (4)测温范围:-55 +125 。固有测温分辨率为0.5 。 (5)通过编程可实现912位的数字读数方式。 (6)用户可自设定非易失性的报警上下限值。 (7)支持多点组网功能,多个ds18b20可以并联在惟一的三线上,实现多点测温。(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。2)ds18b20的测温原理ds18b20内部结构图ds18b20内部结构主要由四部分组成:64位光刻rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。光刻rom中的64位序列号是出厂前被光刻好的,它可以看作是该ds18b20的地址序列码。64位光刻rom的排列是:开始8位(28h)是产品类型标号,接着的48位是该ds18b20自身的序列号,最后8位是前面56位的循环冗余校验码(crc=x8+x5+x4+1)。光刻rom的作用是使每一个ds18b20都各不相同,这样就可以实现一根总线上挂接多个ds18b20的目的。 ds18b20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/lsb形式表达,其中s为符号位。 这是12位转化后得到的12位数据,存储在18b20的两个8比特的ram中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 例如+125的数字输出为07d0h,+25.0625的数字输出为0191h,-25.0625的数字输出为ff6fh,-55的数字输出为fc90h。 ds18b20温度传感器的内部存储器包括一个高速暂存ram和一个非易失性的可电擦除的e2ram,后者存放高温度和低温度触发器th、tl和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是th、tl的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。该字节各位的意义如下:tm r1 r0 1 1 1 1 1低五位一直都是1 ,tm是测试模式位,用于设置ds18b20在工作模式还是在测试模式。在ds18b20出厂时该位被设置为0,用户不要去改动。r1和r0用来设置分辨率,如表所示(ds18b20出厂时被设置为12位)ds18b20温度转换时间表:r1r0分辨率/位温度最大转向时间00993.750110187.510113751112750根据ds18b20的通讯协议,主机控制ds18b20完成温度转换必须经过三个步骤:每一次读写之前都要对ds18b20进行复位,复位成功后发送一条rom指令,最后发送ram指令,这样才能对ds18b20进行预定的操作。复位要求主cpu将数据线下拉500微秒,然后释放,ds18b20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主cpu收到此信号表示复位成功。3.2.2 温度传感器与单片机的连接温度传感器的单总线(1-wire)与单片机的p37连接,p37是单片机的高位地址线a8。p3端口是一个带内部上拉电阻的8位双向io,其输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对该端口写“1”,可通过内部上拉电阻将其端口拉至高电平,此时可作为输入口使用,这是因为内部存在上拉电阻,某一引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时。如执行movx dptr指令,则表示p3端口送出高8位的地址数据。在访问8位地址的外部数据存储器时,可执行movx ri指令,p3端口内容即为特殊功能寄存器(sfr)区中r2寄存器内容,整个访问期间不改变。在flash编程和程序校验时,p3端口也接收高位地址和其他控制信号。内部结构。3.3单片机与报警电路系统中的报警电路是由发光二极管和限流电阻组成,并与单片机的p2.7端口连接。当温度不再所设定的上下温度范围的时候,发光二极管工作报警。3.4 显示电路3.4.1 lcd液晶显示模块3.4.2 lcd1602液晶显示屏1)lcd1602液晶显示屏主要技术参数主要参数显示容量16x2个字符芯片工作电压4.55.5v工作电流2.0ma(5.0v)最佳工作电压5.0v字符尺寸2.95x4.35(wxh)mm(2)lcd1602液晶显示屏引脚说明smc1602a是lcd1602中的一种,它共有16个引脚,各引脚接口信号说明如下。 引脚说明编号符号引脚说明编号符号引脚说明1vss电源地9d2data 1/02vdd电源正极10d3data 1/03vl液晶显示偏压信号11d4data 1/04rs数据/命令选择端12d5data 1/05r/w读/写选择端13d6data 1/06e使能信号14d7data 1/07d0data 1/015bla背光led正端8d1data 1/016blk背光led负端状态字说明 smc1602a状态字说明表sta7 d7 sta6 d6sta5 d5sta4 d4sta3 d3sta2 d2 sta1 d1sta0 d0smc1602状态字功能表std0-6当前数据地址指针的数值sta7读写操作使能1: 禁止 0:允许其基本操作时序共有4个状态分别是:1读状态:输入:rs=l,rw=h,e=h 输出:d0d7=状态字rsr/wd7d6d5d4d3d2d1d001bfa6a5a4a3a2a1a02 写指令:输入:rs=l,rw=l,d0d7=指令码,e=高脉冲 输出:无rsr/wd7d6d5d4d3d2d1d0001a6a5a4a3a2a1a03 读数据:输入:rs=h,rw=h,e=h 输出:d0d7=数据rsr/wd7d6d5d4d3d2d1d011d7d6d5d4d3d2d1d04 写数据:输入:rs=h,rw=l,d0d7=数据,e=高脉冲 输出:无 rsr/wd7d6d5d4d3d2d1d010d7d6d5d4d3d2d1d03.4.3液晶显示器的工作原理液晶显示器的英文缩写为lcd(liquid crystal display),它是一种数字显示技术,内部有lcd面板、驱动和控制电路组合而成,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图像。液晶是一种呈液体状的化学物质,像磁场中的金属一样,当受到外界电场影响时,其分子会产生精确有序的排列。如果对分子的排列进行适当的控制,光线就可以穿越液晶分子。位于最后面得一层是由荧光物质组成的可以发射光线的背光层。当lcd中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后通过第二层过滤层的过滤在屏幕上显示出来。在单片机应用系统中,液晶显示器主要分为段位式lcd,字符式lcd,和点阵式lcd。而本设计用的是字符式lcd只能显示字符和数字。字符式lcd模块是由字符lcd显示器和专用的行列驱动器、控制器及必要的连接、结构件装配而成,可以显示数字和英文字符,这种字符lcd模块本身具有字符发生器,显示容量大,功能丰富,常用16字2行。3.5掉电充电电路实时时钟电路ds1302是一种具有涓细电流充电能力的电路,采用32.768khz晶振,可为掉电保护电源提供可编程的充电功能。ds1302实时时钟电路如图所示。3.6 系统整体硬件电路第四章 软件设计4.1主程序设计程序才用模块化设计,流程图如图1所示。从上面主程序看出,主程序的组成是通过分别调用各子程序组成总体系统功能,能很直观的看出主程序所要完成的功能,首先是初始化各模块,之后调用键盘完成时间,日历,时钟的初始化和时间数据的读写,调用温度子程序完成温度芯片的初始化和读写,调用显示子程序显示数据,最后又转到键盘程序来回循环。初始化部分主要有初始化定时器部分和和一些寄存器、标志位、初始化时间等对定时器t0初始化时,首先置初值,cpu开中断,定时器t0开中断,并且开始计数,而对定时器t1初始化时,首先置初值,定时器t1关中断,并且停止计数,只有收到命令时才能产生中断。寄存器的初始化主要是初始化执行程序时用到的部分ram空间,防止程序执行时带来混乱。标志位初始化是对时间调整时判断是调分还是调时等而专设的位标志,初始化过程中标志位全部置0,即开始时是处于显示状态,而不是调整状态,这一点在程序中相当明了。初始化时间是开机时显示的时间,并通过调用日历时钟的写程序来完成时间的置初值。开始初始化t0并开中断初始化t1并中断寄存器初始化初始化时间调键盘子程序调温度子程序调显示子程序结束标志位初始化图 1主程序流程图4.2 键盘子程序设计多功能键盘程序的设计是本设计的难点,也是完成本设计的重点,当有键按下时,调用10ms延时程序,再判断是否有键按下无则返回,若有先调用显示程序再判断是否松开,否则再转到显示程序,这样避免了在按键松开之前能正常显示。 k1键按下后对应的位置闪烁。当判断键值为1时则为调秒状态,对应的秒低位闪烁,为2时为调分状态并分闪烁,为3时为调时状态并时闪烁,为4时为调日状态并日闪烁,为5时为调月状态并月闪烁,为6时为调年状态并年闪烁,为7时为调星期状态并星期闪烁。k2为加1键,k3为减1键,k4为总返回键,即在调时间时不用只有按下k1键值为8才返回,而通过按下k4键即可返回。键盘子程序流程图如图2所示。在键盘子程序中当判断键值为17时是对时间秒、分、时、日、月、年、星期调整原理和调秒相同,由于键盘流程图非常复杂,在此省略了调分时等。n开始 有键按下?延时10msk2按下?k3按下?k4按下?k1按下?调显示k1为0?键值加1y调显示有键按下?键值清0标志位清0返回回 nnnynyn下页1yyy下页31键值为1?调显示秒闪烁秒标志位置1k2按下?k3按下?秒减1秒数据送ds1302秒加13yy键值为?n。图2键盘子程序流程图4.3 温度子程序由于ds18b20采用的是单总线协议方式,即在一根数据线上实现数据的双向传输,而对at89s52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对ds18b20芯片的访问。由于ds18b20是在一根i/o线上读写数据,因此,对读写的数据位有着严格的时序要求。ds18b20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。主机发出复位脉冲n主机写“1”时间隙30us15us15us1usds18b20采样最小标准 主机写“0”时间隙图3-4 ds18b20的写时序gndvcc 图3-3 ds18b20的初始化时序gndvccds18b20应答60240us等待1560us主机接收最短时间:480us最小值:480us最大值:960usds18b20采样最小标准 1us15us15us30usvccgnd图3 ds18b20的读时序主机读“0”时间隙1us15us45us主机读“1”时间隙1us15us主机采样主机采样初始化ds18b20发送读温度指令读温度计算温度实际值显示温度启动下次温度转换图4 ds18b20读温度流程图结束输到单总线上。ds18b20在完成一个读时序过程,至少需要60us才能完成。ds18b20转换后的温度值以2字节16位补码形式存放在高速暂存存储器的第1、2个字节里,高位在前,低位在后。所以读取温度时,要分两次进行。读温度子程序如图4所示。4.4显示子程序设计电子产品是否实用其中显示占了很重要的地位,很多数人都渴求用视觉效果好,范围广,直观明了,lcd符合以上的要求,但相应的硬件设计相对复杂。本设计的显示部分具有消隐和闪烁功能,当时分秒等高位为0时显示消隐, 此时在读时间时更加明了,但低位不能显示消隐。闪烁功能也是本设计的一个难点,本设计采用8个位标志位,其中一个标志位通过用定时器0产生一个周期大约为每秒1.5次,使闪烁时效果达到最好。此时定时器采用定时中断的工作方式,这样可以充分利用cpu资源。另外7个标志位是时分秒等的位标志位,当秒标志位置1时即秒开闪烁,与用中断产生的标志位相结合,即在一个周期内为0时此时消隐为1时开显示,这样就使在调时间时对应的位闪烁。第五章 数据测试用手触屏温度传感器,可以发现温度大概显示为32度左右。将温度传感器与塑料袋装的冰水混合物接触,观察液晶显示的温度是否为零度。结束语本论文重点介绍了单片机和数字温度传感器ds18b20的原理和功能,并用ds18b20与at89s52单片机、lcd1602组成数字温度计,有超温报警,日期时间显示功能。在这次课程设计的整个过程中,我做了一次全面、较规范的设计练习,全面地温习了以前所学过的知识,理论联系实际并结合单片机原理课程来解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识。尤其重要的是让我养成了科学的习惯,在设计过程中一定要注意掌握设计进度,按预定计划完成阶段性的目标,在底图设计阶段,注意设计计算与结构设计画图交替进行,采用正确的设计方法。在整个设计过程中注意对设计资料和计算数据的保存和积累,保持记录的完整性。在课程设计的实践中进行了设计基本技能的训练,掌握了查阅和使用标准、规范、手册、图册、及相关技术资料的基本技能以及计算、数据处理等方面的能力。在本次设计的过程中,我发现了很多的问题,虽然以前还做过类似这样的设计但这次设计真的让我长进了很多,让我深刻体会到了单片机课程设计重点就在于软件算法的设计,需要有很巧妙的程序算法,虽然以前写过几次程序,但我觉的写好一个程序并不是一件简单的事。通过对通用89c52单片机、常用元器件的设计,掌握了一般单片机设计的程序和方法,让我对整个单片机程序的设计,c语言有了一个比较深的理解。通过这次的课程设计,让我我真正的意识到,在学习过程中理论联系实际的重要性。只有把所学的理论知识用到实际当中,所学的知识才会有价值,学习单机片机更是如此,软件编程能力只有在经常的写与读的过程中才能得到提高,这是我在这次课程设计中的最大收获。致谢 经过一段时间的努力,毕业设计基本完成了。在毕业设计的实践中,我学到了很多有用的知识,也积累了很多宝贵的经验。 在此要特别感谢白银生老师,本论文是在老师的全面指导中完成的,老师对我非常的严格,毕业设计的顺利完成离不开老师的帮助,老师认真负责的工作态度促使我更好的完成了本毕业设计,和老师相处的时间不多,但老师对专业的态度非常值得我学习,让我对本专业有了更大的学习兴趣。同时感谢身边的同学,他们为我提供了很多宝贵的资料。在论文完成之际,向他们致以最真挚的感谢和最崇高的敬意! 由于自己本身对一些知识的掌握不是很深刻,设计难免会出现一些漏洞,虽然设计做的不是很完美,但是毕竟是自己认认真真做出来的,希望各位老师给予指正。同时感谢母校对我四年来的教育和关心,在这里我不仅学到了专业知识,而且学到了很多做人做事的道理,是我明确了以后发展的方向,树立了良好的价值观,所学到的一切都将使我终身受益。 再次衷心感谢所有关心和帮助过我的老师和同学,谢谢你们!参考文献1 陈永真.全国大学生电子设计竞赛试题精解选.北京:电子工业出版社,20072 李朝青.单片机原理及接口技术.北京:北京航空航天大学出版社,19983 张琳娜,刘武发.传感检测技术及应用.北京:中国计量出版社,19994 李广弟.单片机基础.北京:北京航空航天大学出版社,19945 谢自美. 电子线路综合设计m. 武汉:华中科技大学出版社, 2007.6 康华光. 电子技术基础(模拟部分)(第五版)m. 武汉:华中科技大学出版社, 2007.7 吴微,文军.单片机原理与制作m.武汉:武汉大学出版社,1991.38 梅开乡.数字逻辑电路(第2版)北京:电子工业出版社,20059 马忠梅.单片机的c语言应用程序设计(第3版) .北京:航空航天大学出版社,200310 吉 雷.protel99从入门到精通西安:西安电子科技大学出版社,200411 赵负图.传感器集成电路手册.北京:化学工业出版社,200212 李 华.mcs-51单片机实用接口技术北京:北京航空航天出版社,1997附录一 源程序代码#include #include #define uint unsigned int#define uchar unsigned charsbit ds1302_clk = p36; /实时时钟时钟线引脚 sbit ds1302_io = p34; /实时时钟数据线引脚 sbit ds1302_rst = p35; /实时时钟复位线引脚sbit acc0 = acc0;sbit acc7 = acc7;char hide_sec,hide_min,hide_hour,hide_day,hide_week,hide_month,hide_year; /秒,分,时到日,月,年位闪的计数sbit set = p23; /模式切换键sbit up = p24; /加法按钮sbit down = p25; /减法按钮sbit out = p26; /立刻跳出调整模式按钮sbit dq = p37; /温度传送数据io口sbit led=p27;uchar dat4=0,0,0,0;char done,count,temp,flag,up_flag,down_flag; /uchar temp_value; /温度值uchar tempbuffer5,week_value2; /void show_time(); /液晶显示程序/*1602液晶显示部分子程序*/port definitions*sbit lcdrs= p20;sbit lcdrw= p21;sbit lcden = p22;sfr dbport = 0x80;/p0=0x80,p1=0x90,p2=0xa0,p3=0xb0.数据端口/内部等待函数*unsigned char lcd_wait(void)lcdrs=0;lcdrw=1;_nop_();lcden=1;_nop_(); lcden=0;return dbport;/向lcd写入命令或数据*#define lcd_command0 / command#define lcd_data1 / data#define lcd_clear_screen0x01 / 清屏#define lcd_homing 0x02 / 光标返回原点void lcd_write(bit style, unsigned char input)lcden=0;lcdrs=style;lcdrw=0;_nop_();dbport=input;_nop_();/注意顺序lcden=1;_nop_();/注意顺序lcden=0;_nop_();lcd_wait();/设置显示模式*#define lcd_show0x04 /显示开#define lcd_hide0x00 /显示关 #define lcd_cursor0x02 /显示光标#define lcd_no_cursor0x00 /无光标 #define lcd_flash0x01 /光标闪动#define lcd_no_flash0x00 /光标不闪动void lcd_setdisplay(unsigned char displaymode)lcd_write(lcd_command, 0x08|displaymode);/设置输入模式*#define lcd_ac_up0x02#define lcd_ac_down0x00 / default#define lcd_move0x01 / 画面可平移#define lcd_no_move0x00 /defaultvoid lcd_setinput(unsigned char inputmode)lcd_write(lcd_command, 0x04|inputmode);/初始化lcd*void lcd_initial()lcden=0;lcd_write(lcd_command,0x38); /8位数据端口,2行显示,5*7点阵lcd_write(lcd_command,0x38);lcd_setdisplay(l

温馨提示

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

评论

0/150

提交评论