当前位置:文档之家› 智能仪表控制系统

智能仪表控制系统

内蒙古科技大学

智能仪表综合训练设计报告

题目:热电偶测温仪一(键盘)

学生姓名:

学号:1167112323

专业:测控技术与仪器3班

班级:2011-3

指导教师:

目录

一、概述 (1)

1.1设计背景和思路 (1)

1.2 设计任务 (1)

1.3设计目的 (2)

1.4 设计要求 (2)

二、总体方案设计 (3)

2.1 系统整体介绍及框图 (3)

2.2、MAX6675 (4)

2.2.1引脚排列及内部结构 (4)

2.2.2 MXA6675工作原理及功能特点 (4)

2.2.4 标度变换 (6)

2.3单片机 (7)

2.4 传感电路 (9)

2.5、绘图及编程软件 (10)

三、硬件设计与仿真 (12)

3.1电源电路 (12)

3.2时钟电路 (12)

3.3复位电路 (12)

3.4传感器数据采集电路 (14)

3.5 LCD显示电路 (14)

3.6键盘输入电路 (17)

3.7报警电路 (18)

四、软件设计 (20)

4.1 总体设计流程图TOC \o "1-3" \h \u ............. 错误!未定义书签。

4.2、Max6675温度采集流程图 (20)

4.3、LCD1602相关流程图 (21)

4.4、按键流程图 (22)

4.5、LED闪烁报警电路流程图 (23)

五、调试与总结 (24)

5.1 软件调试 (24)

5.2 硬件调试 (24)

5.3 总结 (25)

参考文献 (27)

附录A (28)

1、电路原理图 (28)

2、 PCB图 (29)

附录B (30)

1、程序(另存) (30)

一、概述

1.1设计背景和思路

随着电子信息技术、新材料及自动化技术的发展,传感器技术也得到了日新月异的发展,单片机和自动控制系统在统诸多领域得到了极为广泛的应用。我们不再局限于从环境中采集来模拟信号,而是考虑如何得到可处理的数字信号,所以我们把温敏器件、A/D转换器、存储器集成在一起构成数字传感器。在控制领域,具有更好的稳定性,更快和更准确的运算精度的C51系列单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,而数字传感器与单片机更能够有机联系起来,传感器采集所需信息并且将其数字化,这样单片机就能够对其进行直接处理,从而实现两者的交互控制;其次由于单片机较强的核心控制能力,我们可以搭接辅助电路,进而得到实用的开发系统。

随着单片机技术的飞速发展,通过单片机对被控对象进行控制日益成为今后自动控制领域的一个重要发展方向,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数。例如:在冶金工业、化工生产、电力工程、造纸行业、机械制造和食品加工等诸多领域中,人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制。采用AT89C51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,空调等家用电器随着生产技术的发展和生活水平的提高越来越普及,一个简单,稳定的温度控制系统能更好的适应市场。

本设计的主要内容是以AT89C51单片机为控制器,以k型热电偶为传感器,使用K型热电偶专用的模数转换器MAX6675和LCD1602液晶显示器构建数字测温系统。热电偶采集温度信号经过信号调理、模数转换传送到单片机,再通过LCD显示出所测温度来完成设计任务。

1.2 设计任务

本设计要求使用传感器(K型热电偶)将被测温度通过Max6675传递给单片机,再由单片机输出显示、要求有键盘输入电路、温度达到上限时能够报警及显示、显示电路要求使用LED或LCD显示。单片机外接晶振、复位电路等。本设计是将是利用单片机结合传感器技术而开发设计出一个温度监控系统。该设计的预期结果就是设计出一套基于单片机控制的热电偶测温数字显示系统并能proteus实现仿真。根据要求编写出应用程序,绘制出protel电路图,动手完成实物设计。

1.3设计目的

通过智能仪表课程设计,练习嵌入式设计的相关技术,实现智能仪表功能要求,具体如下:

(1)了解电子系统的设计方法,巩固和提高学过的基础理论和专业知识;

(2)掌握Max6675及其编程方法;

(3)增强对单片机的认识,掌握分析处理问题的方法,进行调试、计算等基本技能的训练,达到具有一定程度的实际工作能力;

(4)学会用Protel99se进行电路原理图和PCB图的绘制;

(5)学习用Proteus、Keil等仿真软件进行电路设计和仿真;

(6)实践嵌入式系统开发流程及相关技能;

(7)练习设计报告及科技论文的写作规范;

(8)强化C语言编程能力。

1.4 设计要求

本设计要求Protel99se进行电路原理图和PCB图的绘制、使用K型热电偶做传感器、用Max6675做温度模数转变并要求键盘输入、报警电路及显示温度电路。

(1)编程语言为C语言;

(2)基于单片机的硬件电路设计与调试;

(3)设计一个能直接将传感器采集的数据信号转变成温度数值并直接显示出来;

(4)用C语言编写一个温度采集程序,实现传感器采集的模拟信号直接转变为数字信号并能在显示器上显示;

(5设计一个报警电路,能在温度达到上限或下限的时候报警并显示当前温度值;

(5)设计出电路原理图和PCB图,说明工作原理,编写程序及程序流程图,并进行程序调试。

二、总体方案设计

2.1 系统整体介绍及框图

本系统以AT89C51作为处理器,使用MAX6675作为温度传感器,配以温度显示。整个系统力求结构简单,功能完善。使用温度传感器MAX6675将热电偶测温应用时复杂的线性化、冷端补偿及数字化输出等问题集中在一个芯片上解决,简化了将热电偶测温方案应用于嵌入式系统领域时复杂的软硬件设计,因而该器件是将热电偶测温方案应用于嵌入式系统领域的理想选择。

该方案的特色是AT89C51是一种低功耗、高性能CMOS8位微控制器,AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。MAX6675是一种高精度的集成芯片,体积小且不需要任何的其他外围电路,大大的减少了电路中的元件和I/O

连线,从而简化了系统结构。采用LCD1602显示数据,LCD1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。1602LCD是指显示的内容为

16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。采用4X4矩阵键盘输入并配有报警显示等电路设计。

图2系统结构框图

2.2、MAX6675

MAX6675是美国MAXIM公司生产的带有冷端补偿、线性校正、热电偶断线检测的串行K型热电偶模数转换器,它的温度分辨能力为0.25℃,冷端补偿范围为-20~+80℃,工作电压为3.0~5.5V。文中介绍了MAX6675的功能特点、引脚排列及工作时序,给出了MAX6675与89C51的接口电路与编程设计方法。在工业温度测控场合,K型热电偶因其线性度好,价格便宜,测量范围宽而得到广泛的使用,但它往往需要冷端补偿,且电路较复杂,调试麻烦。而MAXIM公司生产的K型热电偶串行模数转换器MAX6675不但可将模拟信号转换成12bit对应的数字量,而且自带冷端补偿。其温度分辨能力达0.25℃,可以满足绝大多数工业应用场合。MAX6675采用SO-8封装,体积小,可靠性好。

2.2.1引脚排列及内部结构

MAX6675芯片的引脚排列如图2.21所示,各引脚的功能如下:

T-:热电偶负极(使用时接地);

T+:热电偶正极;

SCK:串行时钟输入;

CS:片选信号;

SO:串行数据输出;

VCC:电源端;

GND:接地端; 图2.2.1MAX6675的引脚图

N.C.:悬空,不用。

2.2.2 MXA6675工作原理及功能特点

根据热电偶测温原理,热电偶的输出热电势不仅与测量端的温度有关,而且与冷端的温度有关,在以往的应用中,有很多种冷端补偿方法,如冷端冰点法或电桥补偿法等,但调试都比较麻烦。另外,由于热电偶的非线性,以往是采用微处理器表格法或线性电路等方法来减小热电偶本身非线性带来的测量误差,但这些都增加了程序编制及调试电路的难度。而MAX6675对其内部元器件的参数进行了激光修正,从而对热电偶的非线性进行了内部修正。同时,MAX6675内部集成的冷端补偿电路、非线性校正电路、断线检测电路都给K型热电偶的使用带来了极大的方便。其工作原理如2.2.2图所示。MAX6675的特点如下:

1.内部集成有冷端补偿电路;

2.内含热电偶断线检测电路。

3.带有简单的3 位串行接口;

4.可将温度信号转换成12 位数字量,温度分辨率达0.25℃;

MAX6675内部集成有冷端补偿电路;带有简单的3位串行SPI接口;可将温

时,MAX6675将进行新的转换。在CS引脚从高电平变为低电平时,第一个字节D15将出现在引脚SO。一个完整的数据读过程需要16个时钟周期,数据的读取通常在SCK的下降沿进行。MAX6675的输出数据为16位,其中D15 始终无用,D14~D3对应于热电偶模拟输入电压的数字转换量,D2用于检测热电偶是否断线(D2为1表明热电偶断开),D1为MAX6675的标识符,D0为三态。需要指出的是:在以往的热电

偶电路设计中,往往需要专门的断线检测电路,而MAX6675已将断线检测电路集成于片内,从而简化了电路设计。D14~D3为12位数据,其最小值为0,对应的温度值为0℃;最大值为4095,对应的温度值为1023.75℃;由于MAX6675内部经过了激光修正,因此,其转换结果与对应温度值具有较好的线性关系。温度值与数字量的对应关系为:

温度值=1023.75×转换后的数字量/4095

图3.5.3Max6675的时序图

图2.2.4 MAX6675与89C51系列连接示意图

2.2.4 标度变换

标度变换:将对应参数值的大小转换成能直接显示有量纲的被测工程量数值,也称为工程转换。生产过程中的各个参数都有着不同的量纲,例如压力的单位是Pa,流量的单位是m3/h,温度的单位是℃等。由测量仪表转换成模拟电信号,经过A/D转换后成为相应的数字量仅仅对应被测工程量参数值的大小,并不是原来带有量纲的参数值。标度变换有线性和非线性之分,应根据实际要求选用适当的标度变换方法。Max6675采用的是线性标度变换。

2.3单片机

AT89C51是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C51是一个低电压,高性能CMOS 8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C51单片机可为您提供许多较复杂系统控制应用场合。

图2.3 AT89C51引脚介绍

1)P0口

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

2)P1口

P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT8 9C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输

入(P1.0/T2)和输入(P1.1/T2EX),参见表1。Flash编程和程序校验期间,P1接收低8位地址。

表3.6.1 P1.0和P1.1第2功能

3)P2口

P2是一个带有内部上拉电阻的8 位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DP TR 指令)时,P2口送出高8 位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。

Flash编程或校验时,P2亦接收高位地址和一些控制信号。

4)P3口

P3口是一组带有内部上拉电阻的8 位双向I/O 口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将

)。

用上拉电阻输出电流(I

IL

P3口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,如下表2所示:

表3.6.2 P1.3第2功能

5)RST

复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

6)ALE/PROG

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如果有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

7)PSEN

程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89 C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

8)EA/VPP

外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H—FFF FH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。

9)XTAL1

振荡器反相放大器的及内部时钟发生器的输入端。

10)XTAL2

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

2.4 传感电路

热电偶测温系统主要由以下部分组成:数据采集模块、MAX6675模数转换模块、单片机控制及其外围、键盘输入电路、液晶显示模块、报警装置。其中微控制器采用AT89C52,液晶显示部分可采用并行或串行传输数据。

图2.4传感器信号流图

如上图所示,由三个模块组成,分别为传感器、A/D转换、微处理器部分,由于MCU处理的是数字信号,所以需要A/D转换电路对传感器的数据进行数字化。事实上,MAX6675是数字传感器,实则为集成了A/D转换部分,当然也拥有其余很多新功能。

2.5、绘图及编程软件

2.5.1、Proteus软件

Proteus是世界上著名的EDA工具(仿真工具),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

功能特点

Proteus软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:

①.原理布图

②.PCB自动或人工布线

③.SPICE电路仿真

革命性的特点:

①.互动的电路仿真

用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI 器件,部分IIC器件。

②.仿真处理器及其外围电路

可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型

上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境.

2.5.2 KEIL软件

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

三、硬件设计与仿真

3.1电源电路

在单片机实训板上为系统设计了一个外接电源供电电路,这个电源电路具备两种电源供电方式:一种是直接采用PC的USB接口5V直流电源给实训板供电,然后在电源电路中加入一个500mA电流限制的自恢复保险丝给PC的USB电源提供了保护的作用;另一种是采用小型直流稳压电源供电,输出的9V直流电源加入到电源电路中,通过LM7805稳压芯片的降压作用,给实训板提供工作所需的5V电源。

3.2时钟电路

在在内部方式时钟电路中,必须在XTAL1和XTAL2引脚两端跨接石英晶体振荡器和两个微调电容构成振荡电路,通常C1和C2一般取30pF,晶振的频率取值1.2MHz~12MHz之间。对于外接时钟电路,要求XTAL1接地,XTAL2脚接外部时钟,对于外部时钟信号并无特殊要求,只要保证一定的脉冲宽度,时钟频率低于12MHz即可。晶体振荡器的振荡信号从XTAL2端送入内部时钟电路,它将该振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用。时钟信号的周期称为状态时间S,它是振荡周期的2倍,P1信号在每个状态的前半周期有效,在每个状态的后半周期P2信号有效。CPU就是以两相时钟P1和P2为基本节拍协调单片机各部分有效工作的。

图3.2时钟电路

3.3复位电路

3.3.1复位电路的作用

在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操

作,也可以提高电磁兼容性能。

无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。基本的复位方式单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。本设计采用上电复位电路。

3.3.2上电复位

AT89C51的上电复位电路如图2所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1μF。上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。

图3.3复位电路

3.4传感器数据采集电路

3.4.1热电偶原理

热电偶是一种感温元件,它把温度信号转换成热电动势信号,通过电气仪表转换成被测介质的温度。热电偶测温的基本原理是两种不同成份的均质导体组成闭合回路,当两端存在温度梯度时,回路中就会有电流通过,此时两端之间就存在塞贝克电动势即热电动势,这就是所谓的塞贝克效应。两种不同成份的均质导体位热电极,温度叫法噢的一端为工作端,温度较低的一端为自由端,自由端通常处于某个恒定的温度下。根据热电动势与温度的函数关系,制成热电偶分度表;分度表是自由端温度在0℃时的温度条件下得到的,不同的热电偶就不同的分度表。在热电偶回路中接入第三种金属材料是,只要该材料的两个接点温度相同,热电偶所产生的热电势将保持不变,即不受第三种金属接入回路中的影响。因此,在热电偶测温时,可接入测量仪表,测得热电动势后,即可知道被测介质的温度。

3.4.2热电偶优点

热电偶是工业常用温度测温元件,具有如下特点:1)测量精度高:热电偶与被测对象直接接触,不受中间介质的影响。2)热响应时间快:热电偶对温度变化反应灵敏。3)测量范围大:热电偶从-40~1600℃均可持续测温。4)性能可靠,机械强度好。5)使用寿命长,安装方便。

3.4.3热电偶种类

我国标准化热电偶的常用种类:铂铑10-铂(分度号为S)、铂铑13-铂(R)、铂铑30-铂铑6(B)、镍铬-镍硅(K)、镍铬-康铜(E)、铁-康铜(J)、铜-康铜(T)和镍铬硅-镍硅(N)。根据本设计技术要求测温范围0~300℃,精度±0.5℃。K型热电偶测温范围0℃到1300℃,选择K型热电偶满足要求。

3.5 LCD显示电路

3.5.1 1602LCD主要技术参数:

显示容量:16×2个字符

芯片工作电压:4.5—5.5V

工作电流:2.0mA(5.0V)

模块最佳工作电压:5.0V

字符尺寸:2.95×4.35(W×H)mm

3.5.2 引脚功能说明

1602LCD 采用标准的 14脚(无背光)或 16脚(带背光)接口,各引脚接口说明如表10-13所示:

编号符号引脚说明编号符号引脚说明

1 VSS 电源地 9 D

2 数据

2 VDD 电源正极 10 D

3 数据

3 VL 液晶显示偏压 11 D

4 数据

4 RS 数据/命令选择 12 D

5 数据

5 R/W 读/写选择 13 D

6 数据

6 E 使能信号 14 D

7 数据

7 D0 数据 15 BLA 背光源正极

8 D1 数据 16 BLK 背光源负极

3.5.3 外接引脚说明

第1脚:VSS为地电源。

第 2 脚:VDD接5V正电源。

第 3 脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。

第 4 脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第 5 脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平 R/W为低电平时可以写入数据。

第 6 脚:E端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。第 7~14脚:D0~D7为 8 位双向数据线。

第 15脚:背光源正极。

第 16脚:背光源负极。

3.5.1 LCD寄存器的选择表

设定进入模

0 0 0 0 0 0 0 1 I/D S I/D=1:地址递增,I/D=0:地址递减 S=1:开启显示屏,S=0:关闭显

示屏

显示器开关

0 0 0 0 0 0 1 D C B D=1:开启显示幕 C=1:开启光标 B=1:光标所在位置的字符闪烁

移位方式

0 0 0 0 0 1 S/C R/L x x S/C=0、R/L=0:光标左移;S/C=0、R/L=1:光标右移 S/C=1、R/L=0:字符和光标左移;S/C=1、R/L=1:字符和光标右移

功能设定

0 0 0 0 1 DL N F x x DL=1:数据长度为8位,DL=0:数据长度为4位 N=1:双列字,N=0:单列字;F=1:5x10字形,F=0:5x7字形

CG RAM地址

设定0 0 0 1 CG RAM地址

将所要操作的CG RAM地址放入地址计数器

DD RAM地址

设定0 0 1 DD RAM地址

将所要操作的DD RAM地址放入地址计数器

忙碌标志位

BF 0 1 BF 地址计数器内容

读取地址计数器,并查询LCM是否忙碌,BF表示LCM忙碌

写入数据1 0 写入数据

将数据写入CG RAM或DD RAM

读取数据1 1 读取数据

读取CG RAM或DD RAM的数据

表3.5.3 LCD显示

例如第二行第一个字符的地址是40H,那么是否直接写入 40H 就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,

如图所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文

假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”

驱动电路如下图所示。

图3.5 LCD1602与AT89C51连接示意图

3.6键盘输入电路

3.6.1 4×4矩阵键盘的工作原理

矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4×4个。这种行列式键盘结构能够有效地提高单片机系统中I/O 口的利用率。

图3.6.1 4X4矩阵键盘示意图

3.6.2 识键过程

按键识别思路是这样的,初使化时我们先让P1口的低四位输出低电平,高四位输出高电平,即让P1口输出0xF0。扫描键盘的时候,我们读P1口,看P1是否还为0xF0,如果仍为0xF0,则表示没有按键按下;如果不0xF0,我们先等待10ms左右,再读P1口,再次确认是否为0xF0,这是为了防止是抖动干扰造成错误识别,如果不是那就说明是真的有按键按下了,我们就可以读键码来识别到底是哪一个键按下了。

按键识别的过程是这样的,初使化时我们让P1口的低四位输出低电平,高四位输出高电平,确认了真的有按键按下时,我们首先读P1口的高四位,然后P1口输出 0x0F,即让P1口的低四位输出高电平,高四位输出低电平,然后读P1口的低四位,最后我们把高四位读到的值与低四位读到的值做或运算就得到了该按键的键码。就可以知道是哪个键按下了。

以0键为例,初使化时P1输出0xF0,当0键按下时,我们读高四位的状态应为1110,即P1为0xE0,然后让P1输出0x0F,读低四位产状态应为0111,即P1为0x07,让两次读数相与得0xE7。

3.7报警电路

3.7.1蜂鸣器原理图

蜂鸣器驱动电路一般都包含以下几个部分:一个三极管、一个蜂鸣器、一个续流二极管、其驱动电路如下图所示:

相关主题
文本预览
相关文档 最新文档