




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常州工学院毕业设计论文基于LCD1602的电子时钟和温度计的设计目 录摘 要IIAbstractIII第一章 绪论11.1 开发背景及研究意义11.1.1 LCD数字温度计的研究背景及研究意义11.1.2 LCD电子钟电路的研究背景及研究意义11.2 研究进展及成果21.2.1 LCD数字温度计的研究进展及成果21.2.2 LCD电子钟的研究进展及成果31.3 课题来源与主要内容和技术参数31.3.1 课题来源31.3.2 课题的主要内容和技术参数41.4 主要工作和工作难点5第二章 系统的总体结构62.1 系统的总体设计方案62.1.1 设计总体设计思路62.1.2 方案论证62.1.3 功能介绍72.2 设计思路步骤82.2.1 下载线部分的设计82.2.2 LCD电子时钟系统的设计82.2.3 LCD数字温度计系统的设计92.3 本章小结10第三章 硬件电路设计113.1 下载线电路的设计113.1.1 主要器件简介113.1.2 MAX232电平转换电路的设计123.1.3 监控电路的设计133.2 LCD电子时钟系统的设计143.2.1 主要器件简介143.2.2 蜂鸣器电路的设计143.2.3 DS1302电路的设计153.2.4 按键电路的设计163.2.5 单片机与液晶屏LCD1602的接口电路163.3 LCD数字温度计系统的设计173.3.1 主要器件介绍173.3.2 LCD数字温度计的设计203.4 AVR单片机最小系统的设计223.4.1 系统时钟223.4.2 AVR的复位源和复位方式233.5 本章小结26第四章 软件设计274.1 概述274.2 系统软件开发环境274.3 软件程序设计294.3.1 监控程序流程图及ATtiny2313监控程序通信协议294.3.2 ATmega16单片机串行编程314.3.3 LCD电子时钟流程图设计324.3.4 LCD数字温度计流程图设计354.4 本章小结38第五章 仿真与调试395.1 系统仿真395.1.1 Proteus软件简介395.1.2 系统仿真405.2 程序下载及实物调试465.3 本章小结50结论51参考文献52致谢53附录1 硬件电路图及实物照片54附录2 程序清单5865第一章 绪论1.1 开发背景及研究意义1.1.1 LCD数字温度计的研究背景及研究意义1、研究背景随着新技术的开发和不断运用,今年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到各个行业。传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。2、研究意义温度是工业对象中的一个重要的被控参数,然而所采集的测温元件和测量方法也不相同;产品的工艺不同,控制温度的精度也不同。因此对数据采集的精度和采用的控制方法也不同。传统的控制方式已经不能满足高精度,高速度的控制要求,如温度控制表、温度接触器,其主要缺点是温度波动范围太大,由于它主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。近几年来快速发展了多种先进的温度控制方式,如:PID控制,模糊控制,神经网络及遗传算法控制等。这些控制技术大大的提高了控制精度,不但使控制变得简便,而且使产品的质量更好,降低了产品的成本,提高了生产效率。本设计使用AVR单片机作为核心进行控制。AVR单片机具有集成度高,通用性好,功能强,特别是体积小,质量轻,耗能低,可靠性高,抗干扰能力强和使用方法方便等独特优点,在数字、智能化方面有广泛的用途。1.1.2 LCD电子钟电路的研究背景及研究意义1、研究背景目前,单片机正朝着高性能和多品种方向发展,趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。2、研究意义数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,广泛用于个人家庭、车站,、码头、办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便。1.2 研究进展及成果1.2.1 LCD数字温度计的研究进展及成果1、LCD数字温度计的研究进展虽然LCD数字温度计在低功耗及高性能方面取得了很大的进展,温度控制系统在国内各个行业的应用已经十分广泛,但从国内生产的温度控制器来看,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着较大的差距。成熟的温度产品主要以“点位”控制及常规的PID控制器位主,它们只能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。随着我国经济的发展及加入WTO,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些国家、企业的研发中心,开展创新性研究,使我国仪表工业得到了迅速的发展。2、LCD数字温度计的成果由于数字温度计的广泛应用,给人们的生活带来了诸多方便,并为国内生产厂家带来丰富的经济效益。LCD数字温度计已被用于:冰箱、冰柜、冰库、食品展示柜、恒温箱、水槽、孵化器、海水养殖、冷气温度显示、热电偶双金属温度计等。1.2.2 LCD电子钟的研究进展及成果1、电子钟的研究进展近十年来随着数字技术的迅速发展,这种中、大规模集成电路在数字系统、控制系统、信号处理等方面都得到了广泛的应用。现在的电子采用了石英技术,走时精度高、稳定性好、不需要经常调校,使用携带方便。有些产品还具备了防水、耐磨、轻便等特点。2、电子钟的成果数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。1.3 课题来源与主要内容和技术参数1.3.1 课题来源单片机是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O接口和中断系统集成于同一硅片的器件。单片机发展迅速,各类产品不断涌现,出现了许多好性能新兴机种,现已成为工厂自动化和各控制领域的支柱产业之一。由于生产工艺和设计能力的不断提高,单片机也在向着更高集成化、更多位多功能,更强化处理控制问题的能力、更快的运算速度、更廉价低功耗、更兼容开发和更好的软件固有化的方向发展。单片机是所有微处理机中性价比最高的一种,随着种类的不断增加,功能不断加强,其应用领域也迅速扩大。单片机在智能仪表、实时控制、机电一体化、办公机械、家用电器等方面都有相当的应用领域。当前,8位单片机主要用于工业控制,如温度、压力、流量、计量和机械加工的测量和控制场合;高效能的16位单片机(如MCS-96、MK-68200)可用在更复杂的计算机网络。单片机用于控制有利于实现系统控制的最小化和单片化,简化一些专用接口电路,如编程计数器、锁相环(PLL)、模拟开关、A/D和D/A变换器、电压比较器等组成的专用控制处理功能的单板式微系统。随着电子技术的飞速发展,电子控制器件不断向着小型化、智能化方向发展,同时可靠性不断提高,单片机由于具有集成度高、功能强、通用性好、可靠性高、抗干扰能力强、体积小、使用方便灵活等特点,无论是在国防工业、通讯尖端技术领域,还是在智能仪器、民用电器中都使用的越来越多。可以说,微机测控技术的应用已渗透到国民经济的各个部门,微机测控技术的应用是产品提高档次和推陈出新的有效途径。1.3.2 课题的主要内容和技术参数 温度信息由温度传感器测量并转换成毫伏级的电压信号,经过信号放大电路将弱电压信号放大到单片机可以处理的范围内,输入到A/D转换器(ADC0809)转换成数字信号输入单片机。在单片机中对信号进行采样。为进一步提高测量精度,采样后对信号再进行数字滤波。此信号经过数字滤波、标度转换后,一方面通过LCD将温度显示出来;另一方面,将该温度值与设定值进行比较,根据其偏差值的大小按积分分离的PID控制算法得到的输出控制量。根据输出控制量控制SSR固态继电器来控制电加热炉丝的通电时间,就可以控制电炉丝的加热功率大小,从而调节环境温度的变化,使其逐渐趋于给定值且达到平衡。导通时间长,输出功率大,温度升高快;导通时间短,输出功率小,温度升高慢。电子钟一般由振荡器、分频器、计数器、译码器、显示器等几部分组成。这些都是数字电路中应用最广泛的基本电路。石英晶体振荡器产生的时标信号送到分频器,分频电路将时标信号分成每秒一次的方波信号。秒信号送入计数器进行计数,并把累计的结果以“时”、“分”、“秒”的数字显示出来。“秒”的显示由两级计数器和译码器组成的六十进制计数电路实现;“分”的显示电路与“秒”相同,“时”的显示由显示两级计数器和译码器组成的二十四进制电路来实现。1.4 主要工作和工作难点1、设计基于串口的ISP下载线串行下载线下载速度快且能够在线直接写入目标板上单片机,其主要工作如下:1) 确定监控芯片的型号,了解监控系统的作用,完善监控电路的设计。2) 考虑设计过程中是否要使用电平转换芯片,如何融合到本研究课题中,并查找有关电平转换芯片的型号和功能。3) 完成目标板的最小系统的设计,编写秒闪的程序,了解有哪些熔丝位,及各个熔丝位的作用,从而调节LED灯的闪烁的频率。2、LCD数字温度计的主要工作本课题的研究重点是设计一种基于ATmega16单片机的数字温度计控制系统。利用数字温度传感器DS18B20来接收外部温度值,并进行相应转换。主要工作如下所示:1) 温度测试范围-55125。2) 精度误差小于1。3) LCD液晶显示。4) 可以设定温度的上下限报警功能。5) 实现报警提示。3、电子钟的主要工作本课题利用DS1302时钟芯片来对年、月、日、周、时、分、秒来进行计时。主要工作如下所示:1) 能够显示时、分、秒。2) 能够具有掉电保护功能。3) 能够对时间进行调节。4、工作难点虽然对51内核的单片机有一定了解,但是对AVR系列的单片机了解不深;关于AVR编程的软件第一次接触,不怎么会使用;市场上器材买家很多,如果购买少量器材的,商家不怎么肯出售;焊接工艺不成熟。第二章 系统的总体结构2.1 系统的总体设计方案2.1.1 设计总体设计思路此设计即液晶屏上显示英文字母、时、分、秒、温度等,原理框图如图(2-1)所示,电路一般包括以下几个部分:按键、单片机、温度传感器、时钟芯片及显示电路。图2-1 单片机实现显示时间和温度总框图各部分简介:1) 为使时钟走时与标准时间一致,校时电路是必不可少的,按键用来校正液晶上显示的时间。2) 单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。3) 温度传感器用来显示当天的确定温度值。4) 单片机发送的信号经过显示电路通过译码最终在液晶上显示出来。2.1.2 方案论证1、总体方案选择方案一 用EDA技术及VHDL语言控制来实现显示及测温度,且显示也可以用数码管,但是数码管屏幕有限不是很方便的显示很多的数据以及文字等。对于VHDL语言也不够了解,故不采用此方案。方案二 用C语言编程来控制单片机,让它在液晶屏上显示数据及文字。由于单片机结构简单、控制功能强、可靠性高、体积小、价格低等优点,以及液晶屏幕可以完整的显示数据及文字等内容,综合上述方案的选择与比较,选择方案二主要是由于电器元件的熟悉程度以及市场的供求关系。在方案二中,大部分的电器元件我们较熟悉并且更容易获得。2、单片机的选择方案一 用51内核系列的AT89S52单片机来控制实现温度和时间的控制。AT89S52是一款低能耗、高性能的8位CMOS微处理器,芯片内部具有8K字节闪速存储器,允许在系统内改写或用常规非易失性存储器编程器编程。芯片采用51系列指令集并与51系列单片机引脚兼容。方案二 用AVR系列的ATmega16单片机来控制实现温度和时间的控制。ATmega16是AVR系列单片机中比较典型的芯片,不仅适合应用于产品设计,同时也方便初学入门。其主要特点有:宽电压、高速度、低功耗等。ATmega16单片机具有在线编程功能,即在RESET引脚为低电平的情况下,利用PB5/MOSI(串行数据输入端),PB6/MISO(串行数据输出端),PB7/SCK(同步时钟信号输入端)三个引脚的数据设置或传送实现程序下载的功能。通过一系列的比较得出以下结论:AVR的指令系统比较精简,总线结构也与51内核不同,因此速度比51内核更快。其次,如果说性能的话,至少是ARM更优。因为ARM是32位处理器,频率可达百兆赫兹,速度和处理能力远远优于AVR和51。但是就性价比而言,还是AVR系列的单片机更优。2.1.3 功能介绍本次设计主要用单片机控制程序让它在液晶上显示时、分、秒,同时用DS18B20温度传感器来接收外面的信号,通过相应的处理,传送给单片机,并通过单片机的控制,让它在液晶上显示所测得的温度。时、分、秒的计数结果经过数据处理可直接送显示器显示。当计时发生误差的时候可以用校时电路进行校正。时计数器计满24小时后自动复位,分计数器计满60分后自动向时计数器进一,秒计数器计满60秒后自动向分计数器进一。设计采用的是时、分、秒以及温度同时显示。2.2 设计思路步骤2.2.1 下载线部分的设计图2-2 下载线设计框图如上图(图2-2)所示,在基于串口的AVR单片机串行下载线系统正常工作时,程序可以通过串口,经MAX232电平转换电路把电平转换成适合Attiny2313的监控芯片正常工作的电压,传送到监控芯片中,监控芯片对接收到的数据进行分析,再通过输出口传送到目标板上,从而完成和上位机的通信并实现对目标板上的AVR单片机编程。2.2.2 LCD电子时钟系统的设计如图(2-3)所示,当输入口接收到下载线传来的编程命令和数据后,传送给AVR单片机,AVR单片机通过相应的程序控制着蜂鸣器电路、晶振电路、复位电路、和液晶屏显示电路,同时DS1302时钟芯片对时、分、秒计时,将计时得到的数据传送给AVR单片机,使得其在液晶屏上显示出来。系统能够实现LCD电子时钟功能:开机后,LCD上显示以下内容并开始走时,并且断电后走时依然准确:“-LCD Clock-”“*XX:XX:XX*”按下K1键(设置键)走时停止,蜂鸣器响一声,此时,按下K2键(小时加1键),小时加1,按下K3键(分钟加1键),分钟加1,调整完成后按K4键(运行键),蜂鸣器响一声后继续走时。图2-3 LCD电子时钟系统总框图2.2.3 LCD数字温度计系统的设计图2-4 LCD数字温度系统的设计如图(2-4)所示,当输入口接收到下载线传来的编程命令和数据后,传送给AVR单片机,AVR单片机通过相应的程序控制着蜂鸣器电路、晶振电路、复位电路、和液晶屏显示电路,同时温度传感器DS18B20把外界接收到的温度,经过处理后传送给AVR单片机,最终在液晶屏上显示出来。系统能够实现LCD数字温度计功能:开机后,若DS18B20正常,LCD第一行显示“DS18B20 OK”,第二行显示“TMEP:XXX.X”(XXX.X表示显示的温度值);若DS18B20不正常工作,LCD第一行显示“DS18B20 ERROR”,第二行显示“TMEP:”。2.3 本章小结本章对本次课程设计作了多方面的考虑,首先通过设计总体思路,对本毕业设计做了粗略的构思,把设计分为了按键、单片机、时钟电路、温度传感器电路、液晶屏显示电路这五大块;然后,按照构思,在网上搜集了相关资料,通过学习,发现实现以上构思有多种方案。为了确定本设计的最终方案,通过更加细致的学习,多方面的比较,排除了几项不适合的方案。确定方案后,对此次毕业设计所要实现的功能作了简要的介绍;最后,分各个小部分构思和设计系统模块。通过以上的工作,我学习到了很多以前上课所学不到的知识,增长了自己的见识,丰富了自己的视野,经过一步一步细致的探究与比较,使得原来粗心大意的我变得细腻了,做事更加踏实。由于以前只是对书本上的知识进行学习,没有什么动手的机会,这次通过以上内容的学习,内心迫切的想要去实践,这是对自己一种挑战,内心中非常想要看看自己能不能实现设计的方案,因此在指导老师的指导下,本人决定开始边做实物边研究。第三章 硬件电路设计3.1 下载线电路的设计3.1.1 主要器件简介1、MAX232资料简介MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5V单电源供电。图3-1 MAX232引脚主要特点:1、 符合所有的RS-232C技术标准。2、 只需要单一+5V电源供电。3、 片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-。4、 功耗低,典型供电电流5mA。5、 内部集成2个RS-232C驱动器。2、ATtiny2313简介 ATtiny2313是基于增强的AVR RISC结构的低功耗8位CMOS微控制器1。由于其先进的指令集以及单时钟周期指令执行时间,ATtiny2313的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾,引脚图如下图所示。图3-2 ATtiny2313引脚图3.1.2 MAX232电平转换电路的设计图3-3 电平转换电路的设计由于晶体管-晶体管逻辑(TTL)和互补金属氧化物半导体(CMOS)是逻辑电路中的标准电平,因此传统逻辑电平转换方法中,TTL-CMOS输入转换很常见。这种转换方法很简单,成本低,主要用于低电平至高电平转换,也能用于高电平转换成低电平2。这种转换方法也存在一些缺点,其他传统逻辑电平转换方法还有过压容限电压转换、漏极开路/有源下拉转换和分立IC转换等,各有其优缺点。第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只100nF电容构成。功能是产生+12V和-12V两个电源,提供给RS 232串口电平的需要。第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS 232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头RS 232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚GND、16脚VCC(+5V)。由于ATtiny单片机的信号是TTL电平,而串口接收到的电平是COMS电平,因此本设计采用MAX232芯片,把串口接收到的CMOS电平转换成单片机所能正常工作的TTL电平,其电平转换电路如上图(3-3)所示。3.1.3 监控电路的设计AVR单片机ATtiny2313通过2管脚读取从上位机发来并通过MAX232电平转换的数据和指令,通过3号管脚传送ATtiny2313输出的数据和指令,ATtiny2313内的监控程序对接收到的数据进行分析,ATtiny2313上的PB4、PB5、PB6、PB7这4个管脚通过编程插头分别与目标板上的ATmega16的RESET、MOSI、MISO和SCK相连。除此之外,AVR单片机串口ISP编程电缆的电源端还通过编程插头与目标板的VCC、GND分别相连接,并从目标板获得了其工作电源,完成和上位机的通信并实现对目标板上的AVR单片机编程3。监控电路图如下图(3-4)所示:图3-4 监控电路设计图3.2 LCD电子时钟系统的设计3.2.1 主要器件简介1、DS1302时钟芯片简介DS1302是美国DALLAS 公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.55.5V。采用三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM 寄存器。DS1302 是DS1202 的升级产品,与DS1202兼容,但增加了主电源后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力4。DS1302的引脚图如下图(3-5)所示:图3-5 DS1302引脚3.2.2 蜂鸣器电路的设计蜂鸣器本身相当于一个喇叭,需要一个频率适当的交流信号驱动才能发声,三极管在蜂鸣器中,和压电陶瓷片组成一个自激式振荡电路,压电陶瓷片同时充当反馈元件和发声元件两个功能5。需要三极管的放大作用才能产生正反馈振荡,至于三极管的放大倍数只要满足电路起振就行。加三极管,就是将I/O口接在三极管的基极,而驱动脚由三极管的发射极或集电极提供,这样,利用三极管的电流放大作用,就能够提供足够的驱动能力,MOS管也一样。如图(3-6)所示为AVR单片机ATmega16的一个输出端接一个电阻,作为PNP型三极管8550的基极电阻,三极管8550上端发射极接30欧电阻再接电源,下端集电极通过蜂鸣器接地6。说明AVR单片机ATmega16的这个输出端常态时输出高电平,蜂鸣器发声时,AVR单片机ATmega16输出负电平脉冲。三极管8550在这个电路中有两个作用,一个作用是起缓冲作用,它不直接接蜂鸣器负载,而是通过三极管8550驱动负载,就可以减少功耗,保护IC。三极管8550的另一个作用就是反相,使得蜂鸣器的另一脚原本需要电源改为接地。现在的问题是三极管8550的放大作用对蜂鸣器有没有影响。在这个电路中,三极管8550如果没有放大作用,或者放大倍数太小,是不会使蜂鸣器工作的。实际上,这个蜂鸣器还不能确定它只是一个发声器,它也可能是一个自激式的。单片机可以输出负脉冲的音频信号,但更可能输出低电平,那么三极管仍然可能是一个工作在饱和状态的开关管7。所以它的放大作用是肯定对蜂器有影响的(影响它工作与否),但它的放大特性比方说失真、高频特性等却没有什么影响,这对于其它数字电路来说都是一样的。电路原理图如图(3-6)所示。图3-6 蜂鸣器电路图3.2.3 DS1302电路的设计DS1302的2号和3号管脚接32.768kHz的晶振,它是为DS1302芯片提供时钟基准信号;1号和4号管脚分别接Vcc和GND,这是为了给DS1302芯片提供电源;而DS1302的8号管脚接220uF的电容再接地,这种设计的作用是在DS1302工作时储备电量,当DS1302掉电是能为DS1302芯片供电,这要起到了一种掉电保护的作用;DS1302采用SPI总线通信,是同步通信方式 7号管脚SCLK为总机发送的同步时钟脉冲;DS1302的6号管脚的作用是三线接口时的双向数据线8;5号管脚则是为DS1302芯片提供复位。硬件图如(3-7)所示。图3-7 DS1302电路图3.2.4 按键电路的设计在每个按键与AVR单片机ATmege16PD口相接之间加上10K的上拉电阻,另一端接地。当有键按下时,与该按键相连的PD口的相应位变为低电平,单片机检测到该变化后即转到相应的键处理程序,同时在液晶屏LCD1602上进行相关的显示操作9。硬件电路图如(3-8)所示:图3-8 按键电路图3.2.5 单片机与液晶屏LCD1602的接口电路液晶屏的1号和2号管脚分别接GND和VCC,它们的作用是给液晶屏供电;3号管脚接10K的滑动变阻器的可调端,滑动变阻的固定端一个接VCC,一个接GND,这样我们就可以通过滑动变阻器来调解液晶屏的对比度10;液晶屏的7号到14号管脚分别接PA0-PA7,这样程序中要显示的部分可以通过PA口传送到液晶屏上显示11;15号和16号管脚分别接VCC和GND,它们是为液晶屏提供背景光的作用;4号、5号和6号管脚分别是RS、R/W、E,其中EN起到类似片选和时钟线的作用,RW和RS指示了读、写的方向和内容。在读数据(或者Busy标志)期间,EN线必须保持高电平;而在写指令(或者数据)过程中,EN线上必须送出一个正脉冲12。RW、RS的组合一共有四种情况,分别对应四种操作: RS0、RW0表示向LCM写入指令RS0、RW1表示读取Busy标志RS1、RW0表示向LCM写入数据RS1、RW1表示从LCM读取数据 硬件图如图(3-9)所示:图3-9 液晶屏接口电路图3.3 LCD数字温度计系统的设计3.3.1 主要器件介绍1、DS18B20温度传感器简介1)温度传感器的功能简介DS18B20 是美国 DALLAS 半导体公司生产的可组网数字式温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内13。与其它温度传感器相比,DS18B20 具有以下特性(1)独特的单线接口方式,DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。(2)DS18B20支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现多点测温。(3)DS18B20 在使用中不需要任何外围元件。(4)温度范围-55125,固有测温分辨率0.5(5)测量结果以 9 位的数字量方式串行传送。2)DS18B20的引脚图及功能图3-10 DS18B20引脚图表3.1 DS18B20引脚功能序号名称引脚功能描述1GND地信号2DQ数字输入输出引脚,当使用寄生电源时,可向电源提供电源。3VDD可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地。2、ATmega16单片机简介ATmega16是AVR单片机中比较典型的芯片,具备了AVR单片机的主要特点和功能,不仅适用于产品开发,同时也方便初学入门。因此,本毕业设计采用ATmega16来进行研究14。ATmega16单片机具有在线编程功能,即在RESET引脚为低电平的情况下,利用PB5/MOSI(串行数据输入端),PB6/MISO(串行数据输出端),PB7/SCK(同步时钟信号输入端)三个引脚的数据设置或传送实现程序下载的功能15。ATmega16单片机40引脚双列直插式封装(简称DIP40)引脚图如图1所示,ATmega16单片机串行编程接口电路如图(3-11)所示图3-11 ATmega16(DIP40)引脚图4个端口的第一功能是通过双向数字输入/输出(I/O)口,其中每一位都可以由指令设置为独立的输入口或输出口16。当I/O口设置为输入方式时,引脚内部还配置有上拉电阻,这个内部的上拉电阻可通过编程设置为上拉有效或上拉无效。如果AVR的I/O口设置为输出方式工作,则当其输出高电平时,能够输出20mA的电流17;而当其输出低电平时,可以吸收40mA的电流。因此AVR单片机的I/O口驱动能力只有5mA,驱动LED时,还需要增加外部的驱动电路和器件。芯片RESET复位后,所有I/O口的默认状态为输入方式,上拉电阻无效,即I/O为输入高阻的三态状态18。3.3.2 LCD数字温度计的设计1、DS18B20测温原理图图3-12 DS18B20测温原理图DS18B20 测温原理如图(3-12)所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器 1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器 2的脉冲输入。计数器 1 和温度寄存器被预置在55所对应的一个基数值26。计数器1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时,温度寄存器的值将加1,计数器 1的预置将重新被装入,计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度19。上图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。在正常测温情况下,DS18B20 的测温分辩率为 0.5,以 9 位数据格式表示,其中最低有效位(LSB)由比较器进行 0.25比较,当计数器 1 中的余值转化成温度后低于 0.25时,清除温度寄存器的最低位(LSB),当计数器 1 中的余值转化成温度后高于 0.25,置位温度寄存器的最低位(LSB)20。2、DS18B20电路的设计经过网上相关资料的搜索,基本设计是DS18B20的2号管脚接个4.7K的上拉电阻再接PB3口,其中4.7K电阻是为了给I/O端口提供足够的驱动能力21。但是实验中,却发现我这种设计并不成功,以下是我搜集的一些相关资料:端口设置上拉电阻的意义就是为了增加驱动能力,如果I/O端口的驱动能力足够的话当然是可以不加上拉电阻的22;加上拉电阻由于VCC通过电阻也可以给外设分得一些电流,从而提高整个I/O的输出电流达到提高驱动的目的;驱动能力是指I/O是否能够提供给外设足够的电流;一般提高“驱动能力不够”是指某个I/O口引脚无法直接用高电平驱动某个外设,因为一般CPU的I/O引脚驱动能力是20mA以内,假设外设需要高电平30mA才能正常开启,那么这个I/O就无法驱动这个外设了23。图 3-13 原先的DS18B20电路设计图期间我也改动过DS18B20系统的设计:DS18B20的1号管脚接地,1号和3号之间接10uF电容,这样在上电以后,就给电容充电,在掉电以后,电容就能给DS18B20供电,使得数据不会丢失,而3号管脚在接一个100欧的上拉电阻,2号管脚接10K滑动变阻器的可变端,而不变端接VCC24。终于实现了温度检测和显示的功能。电路图如图(3-14)所示:图3-14 改动后的DS1820连接电路图3.4 AVR单片机最小系统的设计3.4.1 系统时钟Atmega16的片内含有4种频率(1/2/4/8MHz)的RC振荡源,可直接作为系统的工作时钟使用。同时片内还设有一个由反向放大器所构成的OSC(Oscillator)振荡电路,外面引脚XTAL1和XTAL2分别为OSC振荡电路的输入端和输出端,用于外接石英晶体等,构成高精度的或其他标称频率的系统时钟系统。系统时钟为控制器提供时钟脉冲,是控制器的心脏。系统时钟的频率是单片机的重要性能指标之一。系统时钟频率越高,单片机的执行节拍就越快,处理速度也越快。ATmega16最高的工作频率为16MHz(16MIPS),在8位单片机中算是佼佼者。但并不是系统时钟频率越高就越好,当时钟频率越高时,其耗电量也越大,也容易受到干扰(或干扰别人)25。因此,在具体设计时,应根据实际产品的需要,尽量采用较低的系统时钟频率。这样不仅能降低了功耗,同时也提高了系统的可靠性和稳定性。为Atmega16提供系统时钟源时,有以下3种主要的选择方式:(1) 直接使用片内的1/2/4/8MHz的RC振荡源;(2) 在引脚XTAL1和XTAL2上外接由石英晶体和电容组成的谐振回路,配合片内的OSC振荡电路构成的振荡源;(3) 直接使用外部的时钟源输出的脉冲信息。方式(2)和方式(3)的电路连接分别如图(3-15)和图(3-16)所示。方式(2)是比较常用的方法,由于采用了外接石英晶体作为振荡的谐振回路,因此可以提供比较灵活的频率(由使用晶体的谐振频率决定)和稳定精确的振荡。在XTAL1和XTAL2引脚上加上由石英晶体和电容组成的谐振回路,并与内部振荡电路配合就能产生系统所需要的时钟信号。最常采用的为一个石英晶体和两个电容组成谐振电路。晶体频率可在016MHz之间选择,电容值在2030pf之间(最好与所选用的晶体想匹配)27。当对系统时钟电路的精度要求不高时,可以采用方式(1),即使用片内可选择的1/2/4/8MHz的RC振荡源作为系统时钟源,这样可以节省外接器件。此时XTAL1和XTAL2引脚应悬空。系统时钟电路产生的振荡脉冲不经过分频将直接作为系统的主要工作时钟,同时它还作为芯片内部的各种计数脉冲,以及各种串口定时时钟等使用(可由程序设定分频比例)28。 图3-15 外部接晶体的时钟电路 图3-16 直接使用外部时钟源经考虑本设计决定采用方式(2),但是在晶振两端并联了一个1兆欧的电阻,其作用是稳定晶体的阻抗,提高振荡电路的稳定性。3.4.2 AVR的复位源和复位方式复位是单片机芯片本身的硬件初始化操作,例如,单片机在上电开关时都需要复位,以便CPU以及其他内部功能部件都处于一个确定的初始化状态,并从这个初始化状态开始工作29。除了系统上电复位初始化外,当系统程序在运行中出现错误或受到电源的干扰出现错误时,也可以通过外部引脚RESET(非)进行人工复位,或由芯片内部看门狗定时器WDT自动复位,或通过芯片内部掉电检测BOD来使系统自动进行复位初始化操作。ATmega16单片机共有5个复位源,他们是: 上电复位。但系统电源电压低于上电复位门限时,MCU复位。 外部复位。当外部引脚RESET(非)为低电平且低电平持续时间大于1.5us时,MCU复位 掉电检测(BOD)复位。当BOD使能时,且电源电压低于掉电检测复位门限(4.0V或2.7V)时,MCU复位。 看门狗复位。当WDT使能且WDT超时溢出时,MCU复位。 JTAG AVR 复位。当使用JTAG接口时,可由JTAG口控制MCU复位。1. 上电复位AVR内部含有上位复位POR(Power_on Reset)电路。POR确保了只有当超过一个安全电平时,器件才开始工作30。无论何时,只要低于检测电平,器件就进入复位状态。一旦超过门限电压,而RESET(非)引脚上的电压也达到时,将启动芯片内部的一个可设置的延时计数器。在延时计数器溢出之前,器件一直保持复位状态(Internal Reset保持高电平)。经过时间后,延时计数器溢出,将内部复位信号拉低,CPU才开始正式工作。2. 外部复位外部复位是由外部加在RESET(非)引脚上的低电平产生的。当RESET(非)引脚被拉低至的时间大于1.5us时,即触发复位过程。当RESET(非)引脚电平高于时,将启动内部可设置的延时计数器。在延时计数器溢出之前,器件一直保持复位状态。经过时间后,延时计数器溢出,将内部复位信号拉低,CPU才开始正式工作31。3. 掉电检测(BOD)复位ATmega16有一个片内的BOD(Brown-out Detection)电源检测电路,用于在系统运行时对系统电压的检测,并与一个固定的阈值电压相比较。BOD检测阈值电压可通过BOSLEVEL熔丝位设定为2.7V或4.0V。BOD检测阈值电压有迟滞效应,以避免系统电源的尖峰毛刺误触发BOD检测器32。BOD检测电路可通过编程BODEN熔丝位来设置成有效或者无效。当BOD被设置成有效且电压跌倒下阈值电压以下时,即触发复位过程,CPU进入复位状态。当电压回升且超过上阈值电压后,再经过设定的启动延时时间,CPU重新启动运行33。注意:只有当电压低于阈值电压并且持续后,BOD电路才能启动延时计数器计数。4. 看门狗复位ATmega16片内还集成了一个独立的看门狗定时器WDT。该WDT由片内独立的1MHz振荡器提供时钟信号,并且可用专用的熔丝位或由用户通过指令控制WDT的启动和关闭及设置和清0计数值。当WDT启动后计数后,一旦发生计数溢出,它将触发产生一个时钟周期宽度的复位脉冲。脉冲的上升沿将使器件进入复位状态,脉冲的下降沿启动延时计数器计数,经过设定的启动延时时间,CPU重新开始运行。使用WDT功能,可以防止系统受到干扰而引起的程序运行紊乱和跑飞,提高了系统的可靠性34。表3.2 系统复位电参数符号参数条件最小值典型值最大值单位上电复位门限电压(电源电压上升时)1.42.3V上电复位门限电压(电源电压下降时)1.32.3VRESET门限电压0.10.9RESET最小复位脉冲宽度usBOD复位门限电压BODLEVEL=12.52.73.2VBODLEVEL=03.64.04.5BOD检测的低电压最小宽度BODLEVEL=12usBODLEVEL=02BOD检测迟滞电压50mV当PC机对AVR编程时,需要先将SCK和RESET(非)引脚拉低,使AVR芯片进入SPI编程状态,然后通过SPI口进行下载操作。因此,在设计AVR系列硬件时,如果考虑使用SPI口实现ISP的功能,则图中的R1电阻不可省略。此时R1起到了上拉隔离作用,正是有了R1,才能使用户在外部对RESET(非)引脚施加低电平(0V)。当编程下载完成后,外部一旦释放掉RESET(非),该引脚通过R1又被拉成高电平,AVR就直接进入了正常运行工作状态。R1的阻值在5-10千欧之间,太大和太小都不合适。本设计目标板采用上电复位。如图(3-17)所示,图(3-18)所示是上电复位简化的一种(本设计则采用该方法)35。 图3-17 上电复位电路图 图3-18 上电复位电路设计3.5 本章小结通过本章对硬件电路的设计,我了解了一些以前没有接触过的元器件,比如DS1302、DS18B20、液晶屏等。通过学习与比较,本章先设计了下载线部分电路,通过MAX232电平转换电路,把串口接收到的COMS电平转化成TTL电平,使得ATtiny2313单片机正常工作,并监测从上位机传来的程序和数据,把这些经过处理后传给ATmega16单片机。通过ATmega16单片机来分别控制液晶屏显示、蜂鸣器电路、复位电路、晶振电路等,而DS1302时钟芯片和DS18B20把从外界监测到的信号传送给ATmega16单片机,并通过液晶屏显示出来。第四章 软件设计4.1 概述整个系统是由硬件设计和软件设计共同实现的,上一章节已经详细介绍了硬件电路设计,所以软件设计在本设计来看也相当重要,在以下内容中,会介绍Code VAVR编程软件的使用说明及程序编译过程和部分功能的流程图以及相关的说明。 4.2 系统软件开发环境CVAVR系统的安装非常简单,用户只要执行从网上下载的CVAVR系统安装setup.exe文件,就可以按照提示进行CVAVR系统的安装。按照安装过程中的提示,将CVAVR集成开发环境的系统文件安装在了目录D:应用软件cvavreval文件夹中36。1、建立一个新的项目管理文件projectCVAVR也采用project工程项目管理文件(.APR)来保存、记录、管理用户在系统软件开发中所使用和生成的各种文件、以及保存用户的开发环境配置参数和设置情况等。1) 新建工程项目。CVAVR启动后,将看到它的主工作窗口。现在可以创建一个新的项目,其步骤如下:(1) 选择FileNew,出现Create New File对话框。(2) 选择Project选项,表示新建一个工程项目(见图4-1),单击OK按钮确认。(3) 随后CVAVR出现一个对话框,询问用户是否使用需要在CVAVR系统的程序自动生成向导器的帮助下生成源程序的主结构框架。单击YES按钮进入CodeWizardAVR选择对话框。2) CVAVR系统的程序自动生成向导器是一个非常具有特点的功能。用户在他的帮助下,可以非常简单和方便地生成源程序的主结构框架,其中还包括AVR各I/O寄存器初始化地代码。(1) 确定使用AVR芯片的型号和系统时钟频率值。本设计选择ATmega16,频率为8MHz(参见图4-1 )。(2) CodeWizardAVR选择对话框中还有许多对AVR各个功能部件的配置选择,本设计不需要改动,就不做介绍了37。图4-1 在CVAVR中创建新的项目2、建立源文件,输入源代码,编译源文件1)建立源文件,输入源代码:图4-2 CVAVR的主工作窗口图(1) 在CodeWizardAVR主
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离婚协议中股票投资收益评估与分割协议
- 生物制药科技公司股份收购与临床试验合同
- 会计师事务所会计出纳人员劳动合同及审计独立性协议
- 离婚财产分割子女抚养与共同财产管理协议
- 2025年七年级下册音乐试卷及答案
- 17莲叶青青课件
- 班组早会安全培训内容课件
- 找对面游戏课件
- 攀岩创意画课件
- 汽车新技术考试题及答案
- 全球低空经济2025年技术规范与实施白皮书
- 2025年人教版新教材数学二年级上册教学计划(含进度表)
- (高清版)DZT 0331-2020 地热资源评价方法及估算规程
- GB/T 10294-2008绝热材料稳态热阻及有关特性的测定防护热板法
- 房屋验收记录表
- 大项目销售之如何测量控单力
- 星火英语六级词汇大全(带音标)
- 土地勘测定界技术方案
- 小学语文人教四年级上册第一单元《习作推荐一个好地方》
- 体育教学论-课件
- 医生岗位月度绩效考核表(KPI)
评论
0/150
提交评论