#基于单片机的多功能显示设计.docx

上传人:b****5 文档编号:28445193 上传时间:2023-07-13 格式:DOCX 页数:60 大小:659.79KB
下载 相关 举报
#基于单片机的多功能显示设计.docx_第1页
第1页 / 共60页
#基于单片机的多功能显示设计.docx_第2页
第2页 / 共60页
#基于单片机的多功能显示设计.docx_第3页
第3页 / 共60页
#基于单片机的多功能显示设计.docx_第4页
第4页 / 共60页
#基于单片机的多功能显示设计.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

#基于单片机的多功能显示设计.docx

《#基于单片机的多功能显示设计.docx》由会员分享,可在线阅读,更多相关《#基于单片机的多功能显示设计.docx(60页珍藏版)》请在冰豆网上搜索。

#基于单片机的多功能显示设计.docx

#基于单片机的多功能显示设计

基于单片机的多功能显示屏使用系统设计

学生:

李丽

指导老师:

邓丽华

(三峡大学电气和新能源学院)

摘要:

本设计利用ATmega16单片机读取来自时钟芯片,温度传感器的数据,实现秒、分、时、日、月、年的控制以及室内温度的采集并最终通过LCD液晶显示屏显示结果。

此外还可以实现时间调整、定时和滚动显示等多种实用功能。

整个设计分硬件和软件两大部分。

硬件部分采用ATMega16单片机作为控制核心,FYD12864液晶屏作为信号输出显示部分;软件部分利用C语言作为设计语言,对ATmega16进行编程来实现各种功能。

关键词:

单片机,LCD,温度采集

Abstract:

ThisdesignusedATMega16readfromtheclockchipmicrocontroller,temperaturesensor,itsADdata,toachieveseconds,minutes,hours,days,months,years,indoortemperaturecontrolandoutputvoltageofthecollectionandthecollectionandeventuallythroughtheLCDliquidcrystalThedisplayshowstheresults.Alsoallowstimetoadjust,timing,andavarietyofpracticalfunctionssuchasscrollingdisplay.Thedesignofhardwareandsoftwaremostofthepoints.HardwareusedasthecontrolATMega16SCM,FYD12864characterLCDdisplayaspartofthesignaloutput;softwarecomponentsusingClanguageasalanguage,ontheATMega16toprogrammingfunctions.

Keywords:

microcontroller,LCD,temperaturecollection

前言 

在如今人们生活中,科技的发展让多功能显示屏在我们身边随处可见。

在繁华的都市中显示屏可以向市民提供市区空气质量指数,噪声值以及政府发布的相关信息等。

不仅可以方便市民了解周围的环境状况,而且提高了市民创模工程的知晓率和关注度。

另外在现在的汽车中也能看到多功能显示屏的身影,简单的只能显示空调温度,收音机或车载音响信息等内容。

复杂的多功能显示屏则除了显示上述内容以外,还可以显示车辆油耗,续航里程,导航信息或者DVD等内容,而且大多采用彩色屏幕,当然多功能显示屏的使用远不止这些。

由此可见其在日常生活中的重要,它是人类和机器沟通一座桥梁。

研究本课题让我们从最基本的多功能显示屏入手学习和研究,对人们生活中使用的多功能显示屏的原理有更好的认识和了解,从而研制出更为复杂的可以更好的为人民的日常生活服务的电子产品。

本设计重点研究单片机+时钟芯片这种模式的电子万年历,不仅实现了显示时间和调整时间的万年历功能,而且还可以实现实时温度的检测和显示,电子信息广告等其他多功能用途。

市场上有许多电子钟的专用芯片如:

LM8363、LM8365等,但它们功能单一,电路连接复杂,不便于调试制作。

所以本统设计的多功能显示屏使用系统选用单片机来完成设计,它可以将要显示的数据直接送到LCD显示器,节省了部分转换电路,节约了硬件成本,且功能的扩展性好,只需要对单片机的部分软件进行更新即可实现该系统功能的升级。

外围接口电路使用了FYD12864LCD显示屏、时钟芯片DS1302、温度采集芯片DS18B20这些硬件模块来完成设计。

第1章绪论

1.1单片机技术和发展趋势

单片机是指一个集成在一块芯片上的完整计算机系统。

尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:

CPU、内存、内部和外部总线系统,目前大部分还会具有外存。

同时集成诸如通讯接口、定时器,实时时钟等外围设备。

而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。

单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。

单片机由芯片内仅有CPU的专用处理器发展而来。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳[11]。

早期的单片机都是8位或4位的。

其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。

此后在8031上发展出了MCS51系列单片机系统。

基于这一系统的单片机系统直到现在还在广泛使用。

随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的使用。

90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。

随着INTELi960系列特别是后来的ARM系列的广泛使用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。

而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。

目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元[11]。

当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛使用在全系列的单片机上。

而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。

单片机比专用处理器更适合使用于嵌入式系统,因此它得到了最多的使用。

事实上单片机是世界上数量最多的计算机。

现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。

手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。

而个人电脑中也会有为数不少的单片机在工作。

汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!

单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。

单片机是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,它是靠程序运行的,并且可以修改。

通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的[12]。

目前占统治地位的软件基本是最低级汇编语言,但对于AVR系列的单片机的开发项目一般使用的是C语言,虽然使用C语言编写的代码比用汇编语言编写的代码占用的空间要大5%到20%,但是由于半导体技术的发展,芯片的容量和处理速度有了大幅度的提高,占用空间的大小的差异已经不是关键,相比之下,更应该注重软件是否具有长期稳定运行的能力,注重使用先进开发工具所带来的时间和成本的优势。

单片机在目前的发展形势下,表现出几大趋势:

·可靠性及使用水平越来越高和互联网连接已是一种明显的走向。

·所集成的部件越来越多:

美国国家半导体公司的单片机已把语音、图象部件也集成到单片机中,也就是说,单片机的意义只是在于单片集成电路,而不在于其功能了;如果从功能上讲它可以讲是万用机,原因是其内部已集成上各种使用电路。

·功耗越来越低和模拟电路结合越来越多。

1.2LCD显示技术

LCD技术是把液晶灌入两个列有细槽的平面之间。

这两个平面上的槽互相垂直(相交成90度)。

也就是说,若一个平面上的分子南北向排列,则另一平面上的分子东西向排列,而位于两个平面之间的分子被强迫进入一种90度扭转的状态。

由于光线顺着分子的排列方向传播,所以光线经过液晶时也被扭转90度。

但当液晶上加一个电压时,分子便会重新垂直排列,使光线能直射出去,而不发生任何扭转。

  LCD是依赖极化滤光器(片)和光线本身。

自然光线是朝四面八方随机发散的。

极化滤光器实际是一系列越来越细的平行线。

这些线形成一张网,阻断不和这些线平行的所有光线。

极化滤光器的线正好和第一个垂直,所以能完全阻断那些已经极化的光线。

只有两个滤光器的线完全平行,或者光线本身已扭转到和第二个极化滤光器相匹配,光线才得以穿透。

LCD正是由这样两个相互垂直的极化滤光器构成,所以在正常情况下应该阻断所有试图穿透的光线。

但是,由于两个滤光器之间充满了扭曲液晶,所以在光线穿出第一个滤光器后,会被液晶分子扭转90度,最后从第二个滤光器中穿出。

另一方面,若为液晶加一个电压,分子又会重新排列并完全平行,使光线不再扭转,所以正好被第二个滤光器挡住。

总之,加电将光线阻断,不加电则使光线射出。

当然也可以改变LCD中的液晶排列,使光线在加电时射出,而不加电时被阻断。

但由于计算机屏幕几乎总是亮着的,所以只有“加电将光线阻断”的方案才能达到最省电的目的。

第2章多功能显示屏设计构思

2.1系统设计流程

系统设计流程如图1所示,主要有6个步骤。

(1)明确设计任务要求

  确定设计任务和目标,并制定说明规格文档,作为下一步设计的指导和检验标准。

还要明确系统功能要求,性能要求,环境、可靠性、成本、功耗、资源等要求。

(2)体系结构设计

  体系结构设计是系统的总体设计,它需要确定单片机系统的总体构架,从功能上对软硬件进行划分。

在此基础上,确定系统的硬件选型(主要是处理器选型),操作系统的选择和开发环境的选择。

(3)硬件的设计、制作及测试

在这一阶段要确定硬件部分的各功能模块及模块之间的关联,并在此基础上完成元器件的选择、原理图绘制、印刷电路板(PCB)设计、硬件的装配和测试、目标硬件最终的确定和测试。

(4)软件的设计、实现及测试

这部分工作和硬件开发并行、交互进行。

软件设计主要完成引导程序的编制、操作系统的移植、驱动程序的开发、使用软件的编写等工作。

设计完系统设计流程图成后,软件开发进入实现阶段。

这一阶段主要是嵌入式软件的生成(编译、链接),调试和固化运行,最后完成软件的测试。

(5)系统集成

  将测试完成的软件系统装入制作好的硬件系统中,进行系统综合测试,验证系统功能是否能够正确无误地实现,最后将正确的软件固化在目标硬件中。

本阶段的工作是整个开发过程中最复杂、最费时的,特别需要相应的辅助工具支持。

(6).系统性能测试及可靠性测试

测试最终完成的系统性能是否满足设计任务书的各项性能指标和要求。

若满足,则可将正确无误的软件固化在目标硬件中;若不能满足,在最坏的情况下,则需要回到设计的初始阶段重新进行设计方案的制定。

图1系统设计总流程

2.2单片机选择方案

单片机种类较多,其C51系列和AVR系列具有较好的代表性。

C51系列中AT89S52较常用,它是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,和工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器[1]。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制使用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

AVR系列中ATmega16较常用,ATmega16是基于增强的AVRRISC结构的低功耗8位CMOS微控制器。

由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。

AVR内核具有丰富的指令集和32个通用工作寄存器。

所有的寄存器都直接和算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。

这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率[9]。

ATmega16有如下特点:

16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512字节EEPROM,1K字节SRAM,32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试和编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。

工作于空闲模式时CPU停止工作,而USART、两线接口、A/D转换器、SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;ADC噪声抑制模式时终止CPU和除了异步定时器和ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式下则允许振荡器和异步定时器继续工作。

本芯片是以Atmel高密度非易失性存储器技术生产的。

片内ISPFlash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。

引导程序可以使用任意接口将使用程序下载到使用Flash存储区(ApplicationFlashMemory)。

在更新使用Flash存储区时引导Flash区(BootFlashMemory)的程序继续运行,实现了RWW操作。

通过将8位RISCCPU和系统内可编程的Flash集成在一个芯片内,ATmega16成为一个功能强大的单片机,为许多嵌入式控制使用提供了灵活而低成本的解决方案[14]。

通过以上对比AT89S52的flash比较小,自身没有AD模块,需要外扩。

没有EEPROM不能记录需要掉电保存的数据,故本系统采用AVR系列的ATmega16单片机来作为系统的控制核心。

2.3数据模块方案采集

在计算机广泛使用的今天,数据采集的重要性是十分显著的。

它是计算机和外部物理世界连接的桥梁。

数据采集是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。

数据采集技术广泛引用在各个领域。

比如摄像头,麦克风,都是数据采集工具,数据采集的大体流程如图2。

图2数据采集过程

本系统设计需要采集的信号有:

外界温度,时钟等信号。

2.3.1测温模块方案选择

方案一热电阻测温:

热电阻测量温度,精度和灵敏度都可以,但是它的电阻值和温度的线性关系不好.不便用数字的方法处理。

方案二热电偶测温:

热电偶是工业上最常用的温度检测元件之一,热电偶工作原理是基于赛贝克效应,即两种不同成分的导体两端连接成回路,如两连接端温度不同,则在回路内产生热电流的物理现象。

其优点是:

①测量精度高。

因热电偶直接和被测对象接触,不受中间介质的影响。

②测量范围广。

常用的热电偶从-50~+1600℃均可边续测量,某些特殊热电偶最低可测到-269℃,最高可达+2800℃(。

热电偶是工业温度测量中使用最广泛的一种传感器,在数字电子技术中实现不方便,故而此处不选用此方案。

方案三AD590加运算放大器

AD590是美国模拟器件公司生产的单片集成两端感温电流源。

它的主要特性如下:

1、流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即:

mA/K。

2、AD590的测温范围为-55℃~+150℃。

3、AD590的电源电压范围为4V~30V。

电源电压可在4V~6V范围变化,电流变化1mA,相当于温度变化1K。

AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。

4、输出电阻为710MW。

5、精度高。

AD590共有I、J、K、L、M五档,其中M档精度最高,在-55℃~+150℃范围内,非线性误差为±0.3℃。

由以上特性可以看出二端式半导体温度传感器AD590的工作电压要求不高,测温的范围比较宽,它的输出电流是紧随温度变化的电流源,它的线性非常好.但是需要一定的外部电路,且需占用单片机的一个AD口。

方案四单总线温度传感器ds18b20:

单总线温度传感器ds18b20具有超小的体积,超低的硬件开销,抗干扰能力强,精度高的等优点,常用于数字电子技术设计中,故而也为本系统设计采用。

2.3.2时钟模块方案

方案一基本门电路搭建用基本门电路来实现数字钟,电路结构复杂,故障系数大,不易调试。

方案二单片机编程用单片机读取来自时钟芯片的数据,由于使用软硬件结合的方式,所以电路结构简单、调试也相对方便。

和第一种方案比较优点是非常明显的。

我们选择了第二种方案,采用的是一款常用的时钟芯片ds1302。

通过以上各个方案的制定和对比,我们找到了适用于本设计的各模块的方案,同时也对适用于各模块的元器件做了选择。

接下来就要利用软硬件开发工具对系统的整体进行设计。

2.4AVR单片机系统开发工具

一台嵌入式系统既有软件也有硬件,理所当然就分别需要软件和硬件的开发工具了,二者缺一不可。

2.4.1硬件开发工具

硬件设计软件则有ProtelDXP|99SE,Proteus等。

ProtelDXP是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。

ProtelDXP运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的PCB设计过程。

通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,ProtelDXP提供了全面的设计解决方案[6]。

Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统[2]。

为系统初级阶段软件调试带来了方便。

本设计主要用到硬件设计软件是DXP和protues,利用各部分器件的资料,在DXP中绘图,完成硬件设计,查找相关软件程序并在protues中仿真调试整体硬件设计的正确性。

2.4.2软件开发工具

常见的单片机开发工具有很多如CodeVision,IAR,ICCAVR等。

而CodeVisionAVR是设计紧凑、功能强大的编译软件,被认为是学习AVR的最容易入门的工具。

友好的界面很像KEIL。

CVAVR支持单片机的位操作及专用函数定义,极大的方便了开发者。

由于本系统采用的是Atmel公司的AVR系列单片机,鉴于CodeVisionAVR容易入门[15],选为最终的开发工具。

CodeVisionAVR编辑软件启动界面:

图3CVAVR启动界面

CodeVisionAVR项目向导

项目向导是CodeVisionAVR的一个非常有用的功能,通过该向导可以很方便的生成硬件的初始化代码。

下面对本设计要用的功能作一些简单的介绍:

(1)芯片设置,可以设置所使用AVR芯片的型号及时钟频率等参数,

(2)端口设置,可以设置各端口的初始化状态。

(3)工程信息选项卡,可以填入和工程有关的信息。

图4项目选项卡设置

以上为此次设计用到部分项目向导,编译器的向导能够帮助我们操作单片机的底层硬件,让开发人员把更多的精力放在核心程序的编写上,因此缩短软件开发周期。

第3章系统硬件设计和实现

硬件电路以单片机最小系统为基础,采用FYD12864字符型液晶来进行时钟日历和当前温度的显示。

系统原理图如图5:

图5系统硬件设计图

3.1系统硬件概述

硬件设计电路以ATMega16单片机为控制核心、具有在线编程功能,低功耗;时钟电路由ds1302芯片提供,它是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、时、分、秒进行计时,具有闰年补偿功能工作电压在2.5V-5.5V.采用三线接口和CPU进行同步通信,具有掉电自动保存功能。

温度的采集由ds18b20构成。

显示部分由FYD12864字符液晶显示。

3.2硬件电路各模块工作原理

3.2.1Atmega16单片机主控制模块的设计

一Atmega16单片机引脚介绍:

端口A作为A/D转换器的模拟输入端。

端口A为8位双向I/O口,具有可编程的内部上拉电阻。

其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。

作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。

在复位过程中,即使系统时钟还未起振,端口A处于高阻状态[14](端口B、C、D第一功能同端口A)。

RESET:

复位输入引脚,持续时间超过最小门限时间的低电平将引起系统复位。

持续时间小于门限间的脉冲不能保证可靠复位。

XTAL1:

反向振荡放大器和片内时钟操作电路的输入端。

XTAL2:

反向振荡放大器的输出端。

VCC:

电源;GND:

地:

二ATmega16单片机的I/O端口的工作原理:

Atmega16单片机具有32个通用I/O口,分为PA、PB、PC、PD4组,每组有8位。

这些I/O口都可以通过寄存器设置成输入或者输出,有些I/O口还具有第二功能。

在设置通用I/O口时,atmega16的所有端口的功能都是相同的,并且具有真正的读-修改-写功能。

Atmega16的内部独特的结构使得输出缓冲器具有对称的驱动能力,可以输出或者吸收大电流,能够直接驱动LCD。

所有的端口引脚都具有内部上拉电阻,可以通过寄存器配置独立选择是否连接,复位时所有的引脚都为高阻态。

Atmega16单片机的每个端口都有3个I/O寄存器地址:

数据寄存器PORTx(x=A、B、C、D),方向寄存器DDRx和端口输入引脚PINx。

其中PINx为只读寄存器。

对PINx寄存器的某一位写逻辑1将造成数据寄存器的相应位发生0和1的翻转。

当寄存器MCUCR的上拉禁止位PUD被置位时,所有端口的引脚上拉电阻都被禁止。

不论如何设置DDRxn,都可以通过读PINx来获得该引脚上的逻辑电平[14]。

三ATmega16单片机的复位原理

外部复位由外加于RESET引脚的低电平产生。

当复位低电平持续时间大于最小脉冲宽度时(参见表1)即触发复位过程,即使此时并没有时钟信号在运行。

当外加信号达到复位门限电压VRST(上升沿)时,tTOUT延时周期开始。

延时结束后MCU即启动[14]。

表1外部触发复位

Vrst

/RESET门限电压

0.1Vcc

0.9Vcc

V

Trst

/RESET最小脉冲宽度

1.5

us

由表1知当RES脚电压低于0.1VCC时,且时间持续1.5us,单片机自动复位。

四ATmeg

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

当前位置:首页 > 表格模板 > 表格类模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1