您好,欢迎访问三七文档
128641摘要因为汉字本身的特点,显示汉字始终是计算机在我国应用普及的一个障碍。随着单片机和显示技术的发展,加上人们不满足单片机系统采用LED数码管的简单显示,利用单片机控制液晶显示成为当前显示系统的主流。本文主要介绍了89C51单片机为控制设备,液晶显示器为显示设备。实现的一个可以显示汉字、字符和动态显示汉字的液晶显示器设备。通过汉字显示程序的地址,接着运行相应的程序取汉字机内码和西文字符的ASCII码,并在存储器中进行寻址找出相对应的显示代码或汉字字模,提取后作为阵显示信息送液晶显示器显示。利用液晶显示器显示汉字操作灵活,汉字显示效果可以大大提高。而温度测量又在物理实验、医疗卫生、食品生产等领域,尤其在热学试验中,有特别重要的意义。随着人们生活水平的不断提高,,人们对温度计的要求越来越高,传统的温度计功能单一、精度低,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。数字温度计(DigitalThermometer)简称D温度是许多监控系统中的一个重要参数。TM,它是采用数字化测量技术,把连续的温度值转换成不连续、离散的数字形式并加以显示的仪表。采用单片机控制的数字温度计,由于精度高、可扩展性强、集成方便、抗干扰能力强,得到了广泛的应用。本设计以单片机和温度传感器为核心,设计一个用LCD12864显示的数字温度计。实现对温度的采集和监视。在温度采集的实现中,使用了AT89C51单片机和温度传感DS18B20,温度监视部分利用动态驱动技术,以单片机驱动LCD12864显示。关键词:单片机DS18B20LCD12864液晶显示2第一章设计的意义及主要功能1.1意义随着人们生活水平的不断提高,数字化无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,一切向着数字化控制,智能化控制方向发展。数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。温度计是常用的热工仪表,常用于工业现场作为过程的温度测量。在工业生产过程中,不仅需要了解当前温度读数,而且还希望能了解过程中的温度变化情况。随着工业现代化的发展,对温度测量仪表的要求越来越高,而数字温度表具有结构简单,抗干扰能力强,功耗小,可靠性高,速度快等特点,更加适合于工业过程中以及科学试验中对温度进行在线测量的要求。近年来,数字温度表广泛应用在各个领域,它与模拟式温度表相比较,归纳起来有如下特点。⑴准确度高,⑵测量范围宽、灵敏度高,⑶测量速度快,⑷使用方便、操作简单,⑸抗干扰能力强,⑹自动化程度高,⑺读数清晰、直观方便。数字温度计的高速发展,使它已成为实现测量自动化、提高工作效率不可缺少的仪表。数字化是当前计量仪器仪表发展的主要方向之一。而高准确度数字温度计的出现,又使温度计进入了精密标准测量领域。与此相适应,测量的可靠性、准确性显得越来越重要。1.2主要功能①实时显示环境温度。LCD12864显示。②温度范围:-55~125℃。③上电运行,实时显示温度。第二章液晶显示控制电路与程序方案设计1.1系统设计思路与框图液晶显示器YM12864R的控制器ST7920可以显示字母、数字符号、中文字型及自定图形显示,只要一个最小的微处理系统,将液晶显示模块的接口作为I/O设备直接与之连接,就可以进行控制液晶显示器和数据传输,从而达到理想的显示效果。使用P3口给液晶显示器提供控制信号,P0口给液晶显示器传送数据。YM12864R液晶显示器的控制信号有PSB、RS、R/W、E,其中RS、R/W、E分别对应接在AT89C51的P2.2、P2.1、P2.0上,而8位数据口DB0~DB7对应接在P0口上。背光灯的电源正极、液晶显示器模块的电源正3极以及LCD驱动电压输入端都接在+5V的稳压电源上。背光灯负极和模块的电源负极统一接地。系统设计图框如下图2.1所示,主要由单片机的最小系统AT89C51、YM12864R液晶显示电路及外围电路构成。图2.1系统设计框图1.2框图模块功能描述及技术指标分析时钟振荡器模块:利用晶体本身的特性,可以利用晶振与电容搭建振荡电路与AT89C51引脚XTAL1及XTAL2相连,向单片机提供一个频率定度较高的时钟脉冲,具体连接见原理图。开关复位电路模块:AT89C51的复位引脚RST外接开关复位电路,当电路工作后,闭合开关,只要在RST引脚上出现2个机器周期以上的高电平,单片机即可复位。若RST始终保持高电平,则可对AT89C51循环复位。开关复位电路的组成如原理图——电阻R2和开关S1串联后与电容C3并联,然后与R1串联对+5V电压进行分压,R1一端接地另一端接复位信号引脚RST。4AT89C51模块:作为核心组成部件之一,AT89C51单片机给YM12864R液晶显示提供控制信号和进行数据传输,从整体上实现液晶显示控制。AT89C51片内ROM全都采用FlashROM,具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。AT89C51片内具有计算机正常运行所必需的部件,片外有很多供扩展用的(总线,并行和串行的输入/输出)管脚,便于扩展,很容易组成一定规模的计算机应用系统。具有丰富的控制指令,控制功能强。此外其体积小,功耗低,价格便宜。YM12864R液晶显示模块:YM12864R液晶显示模块,在其控制芯片ST7920调控下用来显示最终结果。除显示液晶块外,还包含两个重要外围电路——开关复位电路及电源控制电路,具体如原理图所示。YM12684的复位引脚RET外接开关复位电路,当开关闭合时,RET引脚接地,模块复位;当开关断开时,复位信号无效。此外,外接电源电路利用滑动变阻器分压分别给YM12864R的电源地引脚VSS和LCD驱动电压输入端引脚V0供电。1.4相关芯片介绍AT89C51:AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51引脚图如图2.3,其内部I/O部件包括:1、四个8位通用I/O端口,对应引脚P0、P1、P2和P3;2、两个16位定时计数器;(TMOD,TCON,TL0,TH0,TL1,TH1)3、一个串行通信接口;(SCON,SBUF)4、一个中断控制器;(IE,IP)5图2.3AT89C51引脚图128X64HZ引脚说明:引脚号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RETH/L复位低电平有效618NC空脚19LED_A-背光源正极(LED+5V)20LED_K-背光源负极(LED-OV)逻辑工作电压(VDD):4.5~5.5V电源地(GND):0V128X64引脚图ST7920:ST7920是台湾矽创电子公司生产的中文图形控制芯片,它是一种内置128*64-12汉字图形点阵的液晶显示控制模块,用于显示汉字及图形。该芯片共内置8192个中文汉字(16*16点阵)、128个字符的ASCII字符库(8*16点阵)及64*256点阵显示RAM(GDRAM)。为了能够简单、有效地显示汉字和图形,该模块内部设计有2MB的中文字型CGROM和64*256点阵的GDRAM绘图区域;同时,该模块还提供有4组可编程控制的16*16点阵造字空间;除此之外,为了适应多种微处理器和单片机接口的需要,该模块还提供了4位并行、8位并行、2线串行以及3线串行等多种接口方式。利用上述功能可方便地实现汉字、ASCII码、点阵图形、自造字体的同屏显示,所有这些功能(包括显示RAM、字符产生器以及液晶驱动电路和控制器)都包含在集成电路芯片里,因此,只要一个最基本的微处理系统就可以通过ST7920芯片来控制其它的芯片。ST7920的主要技术参数和显示特性如下:电源:VDD(-2.7~+5.5V)+5V(内置升压电路,一般无需负压);功耗:正常模式:450μA,睡眠模式:3μA,低功耗模式:30μA;显示内容:128列*64行;显示颜色:蓝;显示角度:6:00钟直视;7LCD类型:STN;与MCU接口:8位并行/3位串行;配置有LED背光显示功能;带有自动启动复位按钮(RESET);在对ST7920读或写时,会用到两个8位的寄存器,一个是数据寄存器DR,另一个是指令寄存器IR。通过数据寄存器DR可以存取DDRAM、CGRAM、CGROM及IRAM的值。待存取的目标RAM的地址可通过命令来选择,每次数据寄存器DR的操作应以上次选择的目标RAM为主体来进行读出或写入。通过RS和RW的状态可以选择不同的读写模式,具体配置方法如表1所列。表1ST7920的寄存器读写状态RSRW功能说明低电平0低电平0MPU写指令到指令寄存器IR低电平0高电平1读出忙标志及地址计数器的状态高电平1低电平0MPU写指令到数据寄存器DR高电平1高电平1MPU从数据寄存器DR读出指令1.5程序主流程图以及子流程图整个程序除主函数外包含以下几个子函数:ST7920初始化、写指令、写数据、汉字显示、延时、按键控制子程序。ST7920初始化子函数用来完成液晶显示模块的初始化操作并设置显示的方式及必要的参数,为显示操作做好必要的准备;写指令函数向指令寄存器写入不同的命令从而控制液晶显示芯片的显示。写数据函数向数据寄存器写入数据从而在液晶显示屏上显示相应的或字符字符或此外写指令操作与写数据操作的过程基本一致,区别在于写状态对RS及RW的状态选择不同;汉字显示函数包含设置所要显示的汉字或字符的显示的地址,向显示RAM(DDRAM)写入所要显示汉字区码的高八位及低八位三个操作,从而实现在液晶屏上显示字符的功能;延时函数进行一定时间的等待,代替判断忙标志函数,使得上一个指令可以执行完毕,液晶屏处于空闲状态,以便于执行下一条指令;按键控制子程序是用按键控制单片机从而实现汉字的左右移动;汉字显示主程序包含初始化和调用汉字显示函数显示汉字,判断是或有按键安下而让汉字移动,三个操作,其完成整个汉字送液晶显示的调度。汉字显示子函数流程、ST7920初始化、写指令、写数据子函数流程、按键子程序流程图分别如图2.4、图2.5、图2.6、图2.7及图2.8所示。其中,图2.6流程向ST7920写各种操作指令,图2.6流程向ST7920写各种操作数据,区别在于写状态对RS及RW的状态选择不同。图2.9为汉字显示主流程,其完成整个汉字送液晶显示的调度。8开始调用写命令函数指定汉字显示的位置调用写数据函数写入汉字区码的高八位调用写数据函数写入汉字区码的低八位结束图2.4汉字显示子函数开始关闭使能信号设为基本指令集关显示指令设置游标右移开显示指令清屏结束图2.5ST7920初始化开始延时写选通指令操作将数据送给P1口使能信号有效关闭使能信号延时结束图2.6写指令子函数开始延时数据操作写选通将数据送给P1口使能信号有效关闭使能信号延时结束图2.7写数据子函数9二、ST7920指令说明ST7920的指令集包括基本指令和扩充指令,其中基本指令有
本文标题:数字温度计概要
链接地址:https://www.777doc.com/doc-3290952 .html