基于单片机AT89S52的中压同步开关控制器系统-软件_第1页
基于单片机AT89S52的中压同步开关控制器系统-软件_第2页
基于单片机AT89S52的中压同步开关控制器系统-软件_第3页
基于单片机AT89S52的中压同步开关控制器系统-软件_第4页
基于单片机AT89S52的中压同步开关控制器系统-软件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、中压同步开关控制器人机接口设计摘要本论文设计了一种基于单片机AT89S52的中压同步开关控制器系统,并且应用于断路器的智能化控制来提高电力设备的寿命和系统的稳定性。该方案针对中压同步开关控制器系统,设计其人机接口单元,实现同步开关控制器的动作控制、操作显示,同时对其进行数据的收发、控制、显示,为用户提供一个良好的人机操作界面。本设计采用以 AT89S52单片机为控制核心,对断路器参数信号进行采集,然后将信号传给人机接口的微处理器SED1335,使用C语言进行编程,在系统方案设计的基础上,编写了SED1335的控制命令和LCD的显示控制程序。本文在对整个设计进行介绍的基础上,重点对其软件设计部分

2、进行了详细的分析。关键词:单片机,智能化控制,中压同步开关控制器,SED1335,Keil C51Abstract The design of a single-chip AT89S52 based on the medium voltage synchronous switching controller system and circuit breakers used in intelligent control of electrical equipment in order to enhance the stability of life and system design. The

3、program for the medium voltage synchronous switching controller system, the design of its man-machine interface modules, switch controller to synchronize the motion control, operation display, at the same time its send and receive data, control, display. To provide users with a good man-machine inte

4、rface. The design uses a single chip AT89S52 for the control of the core parameters of the circuit breaker signal acquisition, and then signals the microprocessor to the man-machine interface SED1335, the use of C programming language, according to the preparation of the design of the control comman

5、ds SED1335 and LCD display control procedures. In this paper, the introduction of the whole design on the basis of the key parts of its software design in detail. Key words: microcontroller, intelligent control, medium voltage synchronous switching controller, SED1335, Keil C51.目录摘要1目录3第一章 绪论51.1 课题

6、背景51.2 课题意义51.3 设计任务及要求7第二章 基础理论知识82.1 AT89S52单片机简介82.1.1 单片机的基本概念82.1.2 AT89S52主要性能82.1.3 AT89S52主要性能参数92.2 LCD显示控制器SED1335简介112.2.1 SED1335简介112.2.2 SED1335硬件组成122.3 Keil C51简介13第三章 系统方案设计153.1 系统方案设计描述153.2 单元模块设计方案153.2.1键盘单元153.2.2微处理器MCU163.2.3显示单元163.3 单元模块方案选择策略163.3.1 微处理器MCU的选择163.3.2 键盘访问

7、方式的选择173.3.3 显示单元选择17第四章 硬件设计184.1 单片机外围接口电路设计184.2 键盘电路设计184.3 LCD显示控制模块设计194.4 DC-DC转换器设计214.4.1 DC/DC转换器概念214.4.2 LCD对比度控制设计21第五章软件设计225.1 软件设计流程225.2 按键扫描处理程序245.3 LCD显示处理程序265.4 软件调试29第六章总结与展望306.1 预期实现功能306.2关于智能化控制的展望30致谢32参考文献33附录34源程序34 第一章 绪论1.1 课题背景 传统的中压断路器的操作机构主要采用电磁机构和弹簧机构等,此操作机构通常是由复杂

8、的传动机构组成的机械系统,运动时间分散性大,运动可控性差、响应速度慢。而目前,随着科技日新月异的发展,机械运动需要更精确的控制。因此,生产一种反应速度快、运动可控性强的操作机构迫在眉睫。利用永磁机构可以提高操作精度,达到微秒量级,从而可以实现同步分合的目的。 同步开关产品是同步分合技术在开关控制器上的应用,目前国外已开发出同步开关产品。高压、中压断路器及接触器均有相应产品。国内许多大专院校和研究机构也开始了同步开关产品的研究工作。但由于多种原因,如国内生产的操作机构机械特性分散性较大,永磁机构机械特性的一致性虽然较好,但其电子控制器的可靠性不是很理想等,所以目前还没有形成产品,更没有同步开关投

9、入运行。在这方面,我国同国外尚有较大的差距。研究一款切实可行的同步开关产品,也有利于填补国内一项技术上的空白。 随着微机应用的日益广泛,CPU技术已经渗透到各个领域,智能电器的应用越来越广。智能电器通过CPU采集、处理外加信号并进行所需的逻辑分析判断,最后发出动作命令来完成各项要求,于是出现了永磁机构的微机控制方式。永磁机构的微机控制方式是将微机技术和断路器的控制有效地结合起来,具有更强更灵活的逻辑判断分析能力,由于配有永磁机构的断路器的分合闸特性可以通过微机控制来控制,从而实现速度特性的智能控制、开关的选相分合闸、检测动铁心的运动位置和线圈电流、瞬时通电时间等参数,可以实现自动检测。 同时,

10、可以通过外键盘输入,进行功能的设置和参数的整定。1.2 课题意义本设计是单片机在智能化控制领域的具体应用。用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统以及本文介绍的中压同步开关人机接口系统等。中压同步开关人机接口系统是一种永磁结构基础上的同步分合技术,同步分合技术的概念已经提出许多年了。由于补偿电容器投切时的暂态过程与系统电压和电流的相交密切相关,所以选择相分、合闸可以有效抑制这一过程中的过电压和涌流。这就要求投切电容器的开关分、合闸时间稳定,分散性必须小于1ms,且三相都有各自的操动机构。传统操动机构

11、传动环节多,累计运动公差大,使其响应动作时间分散性很大,无法实现分合闸时刻电压或电流相角的准确定位,从而制约了同步分合技术的发展。近年来,随着电力电子、微电子、数据处理、光电传感技术的飞速发展,尤其是永磁操动机构的应用,为同步开关得研制提供了有利条件。永磁机构将电磁机构和永久磁铁有机地组合起来,无需传统的机械脱扣,锁扣装置,所以零部件少,动作时间分散性小,特别是它可以由电子电路(控制器)进行驱动,动作准确度可达1ms并能通过软件实现在任何目标相位上的分合闸操作。同步操作一般是在“零电压时关合”或在“零电流时分断”(电流自然过零,而不是强迫过零时分断),如果能做到这一点,断路器的分断能力就可以大

12、大提高,同时对电网造成的过电压也可大大降低。如一台低成本得负荷开关若能保证在电流接近零时快速分开出头,就可以分断相当大的短路电流;在关合电容器组时,如果能选相合闸,就可以避免系统的不稳定,克服容性负载的合闸涌流与过电压。中压同步开关控制器最主要的操作就是同步分、合闸,而这些事件都需要微控器来记录,并且显示出来。同步开关控制器得微处理器负责采集分、合信号与记录参数,并同时采集波形信号,然后传给人机接口的微处理器,这个过程就需要微处理器之间的通信。处理器之间通过串口通信把我们所需要的数据传输后在显示单元上显示出来。同时,操作用户不仅需要看到所记录的数据与波形,还需要对同步开关控制器进行某些参数的设

13、置。这就涉及到数据的双向传输。所以,设计出人机接口单元是整个控制系统成功的关键。本设计就针对中压同步开关控制器系统,设计其人机接口单元,实现同步开关控制器的动作控制、操作显示,同时对其进行数据的收发、控制、显示。为用户提供一个良好的人机操作界面。当用户在所需要的菜单下对其进行操作时,只要在控制面板上按下相应的按键进行操作时,显示单元就会显示出相应的内容。并且对控制器发送指令,进行控制操作。用户不必知道控制器到底是如何操作得就可以完全进行控制,由于有良好的人机接口,用户更不需要知道具体操控过程。1.3 设计任务及要求中压同步开关控制器人机接口单元设计的要求如下:Ø 实现同步开关控制器的

14、动作控制、操作显示。Ø 能进行数据的收发、控制和显示。Ø 设计一个良好的人机操作界面。Ø 显示界面实现菜单的翻页及滚动条的上下移动。第二章 基础理论知识2.1 AT89S52单片机简介本设计中用到的单片机AT89S52是Atmel公司生产的89系列单片机,是一款低档处理器MCS-51单片机。2.1.1 单片机的基本概念 单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强

15、大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,它的所有功能部件都是集成在一块芯片上,所以称之为单片机(Single-Chip Microcomputer),基于这个理念,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。2.1.2 AT89S52主要性能与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态

16、操作:0Hz33Hz 、 三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提

17、供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。2.1.3 AT89S52主要性能参数Ø 与MCS-51单片机产品兼容Ø

18、8K字节在系统可编程Flash存储器Ø 1000次擦写周期Ø 全静态操作:0Hz 33Hz Ø 三级加密程序存储器Ø 32个可编程I/O口线Ø 三个16位定时器计数器Ø 八个中断源Ø 全双工UART串行通道Ø 低功耗空闲和掉电模式Ø 掉电后中断可唤醒Ø 看门狗定时器Ø 双数据指针Ø 掉电标识符 其引脚图如右图2.1所示图2.1 AT89S52引脚图引脚功能描述如下:u VCC : 电源u GND: 地u P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动

19、8个TTL逻辑电平。对P0端口写“ 1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在 这 种模式下,P0具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。u P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。 此外,P1.0和P1.2分别作定时器 /计数器2 的外部计数输入(P1.0

20、/T2)和定时器/计数器2的触发输入(P1.1/T2EX) ,具体如下表所示。 在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)u P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流

21、(IIL) 。在访问外部程序存储器或用16位地址读取外部数据存储器 (例如执行MOVX DPTR)时,P2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1 。在使用18位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在Flash编程和校验时,P2口也接收高 8位地址字节和一些控制信号。u P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,p2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1 ”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。P3口亦作为AT89S5

22、2特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。引脚号第二功能P3.0RXD(串行输入)P3.1TXD(串行输出)P3.2I(外部中断0)P3.3I(外部中断0)P3.4T0(定时器0外部输入)P3.5T1(定时器1外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器写选通)u RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。u ALE/P

23、ROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。如果需要,通过将地址为8EH的SFR的第0位置“1”,ALE操作将无效。这一位置“1”,ALE 仅在执行MOVX 或MOVC指令时有效。否则,ALE 将被微弱拉高。这个ALE 使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。u PSEN:外部程序存储器选通信号(PSEN

24、)是外部程序存储器选通信号。当 AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。u EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。u XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。u XTAL2:振荡器反相放大器的输出端。2.2 LCD显示控制器SED1335简介2.2.1 SED1335简介 SED1335 是日本SEIKO EPSON 公司出品

25、的液晶显示控制器它在同类产品中是功能最强的其特点:1. 有较强功能的I/O 缓冲器。2. 指令功能丰富。3. 四位数据并行发送最大驱动能力为640×256 点阵。2.2.2 SED1335硬件组成Ø SED1335引脚图SED1335具有两种封装(QFP5-60Pin和QFP6-60Pin)图2.2为SED1335 60个引脚分布图。图2.2 SED1335 60个引脚分布图Ø SED1335电路原理框图(图2.3) 但是,仅仅有元器件的引脚还不行,还得看看芯片内部的结构,明确其外围器件的接口,即每一部分接口所具有的相应功能。如图指出了SED1335的内部结构及其

26、原理框图。通过它的接口图,我们就可以实现SED1335与LCD及其控制器MCU的硬件连接。图2.3 SED1335电路原理框图2.3 Keil C51简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易

27、理解。在开发大型软件时更能体现高级语言的优势。深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一,因为大多数扩展功能都是直接针对8051系列CPU硬件的。大致有8类:8051存储类型及存储区域、存储模式、存储类型生命、变量类型声明、位变量与位寻址、特殊功能寄存器(SFR)、C51指针、函数属性。C51工具包中的uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目

28、标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。第三章 系统方案设计3.1 系统方案设计描述人机接口需要人为地输入控制命令,经过MPU处理,最后在显示单元把需要的东西显示出来。用户选择所需要的命令选项,MCU就实时执行相应的处理程序。同时,还需要通过按键修改参数值,具体做法是:按一下增加按键,数字从当前显示值自动加1,当按下减少按键时,当前数字就自动减1.u

29、 MCU:MCU(MicroControllerUnit)中文名称为微控制单元。通过分析,对系统总体方案的设计可以做出以下框图,如图3.1所示。键盘微处理器MCU显示单元图3.1 系统总体框图从系统框图可以看出,本系统主要由三大模块组成:Ø 键盘模块:完成控制命令输入。Ø MCU模块:完成运算和信号处理。Ø 显示模块:显示数据和过程。3.2 单元模块设计方案3.2.1键盘单元由于要进行显示的翻页处理、滚动条的上下移动、数字的增减操作,因此只需要上、下、左、右、确定、取消操作,仅仅6个键,如果采用矩阵键盘形式,就是2×3矩阵,需要5个I/O口;如果采用独立

30、式键盘形式,就需要6个I/O口。在此采用独立式键盘形式。最主要的是采用什么样的访问方式。方案一:程序扫描方式。当处理器完成对显示单元的初始化后,就一直在扫描键盘,等待用户进行处理。方案二:采用键盘中断方式。当处理器完成对显示单元的初始化后,处理器就不进行任何操作,一直等待中断发生,然后再处理相应的键盘程序。键盘的工作方式:在单片机应用系统中,键盘扫描只是CPU的工作内容之一。CPU对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中CPU的工作状况而定,其选取的原则是既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫

31、描和中断扫描。3.2.2微处理器MCU方案一:采用低档处理器MCS-51单片机,采用一款我们十分熟悉的单片机AT89S52,完成键盘与显示的处理功能。方案二:采用中高档处理器,如:PSD、DSP、FPGA等,这些处理器的处理速度快,可靠性高。3.2.3显示单元由于需要对菜单进行操作,同时还需要显示汉字字符,所以根本就不可能用LED数码管来显示,可以采用LCD显示,也可以采用CRT显示方式。方案一:采用LCD进行显示。如果直接使用处理器对其进行控制,程序的编写就十分麻烦,可以采用相应的LCD显示控制器,此控制器受控于微处理器。方案二:采用CRT显示。CRT显示十分直观,可以显示我们所需要的内容。

32、3.3 单元模块方案选择策略Ø LCD:LCD 液晶显示器是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。比CRT要好的多,但是价钱较其贵。Ø CRT:CRT是一种使用阴极射线管(Cathode Ray Tube)的显示器,主要有五部分组成:电子枪(Electron Gun),偏转线圈(Deflection coils),荫罩(Shadow mask),荧光粉层(Phosphor)及玻璃外壳。它是目前应用最广泛

33、的显示器之一,CRT纯平显示器具有可视角度大、无坏点、色彩还原度高、色度均匀、可调节的多分辨率模式、响应时间极短等LCD显示器难以超越的优点,而且现在的CRT显示器价格要比LCD显示器便宜不少。 分析了各设计单元的各种设计方案,接下来进行论证,并且确定最终的设计方案。3.3.1 微处理器MCU的选择设计的系统不仅需要完成人机接口的功能,同时还涉及到数据的串行收发,将收到的数据显示出来,并且把预置数发送出去。由于所要完成的功能简单,仅仅需要低档型号的微处理器就能满足要求,根本就不需要高档型号的微处理器。所以,选择方案一,采用ATMEL公司的MCS-51单片机AT89S52。3.3.2 键盘访问方

34、式的选择由于程序扫描方式需要单片机一直工作,所以,这种方案不妥当,而采用中断方式,就不需要耗费单片机的资源,仅仅在发生中断时,才执行相应的操作。很明显是要采用方案二(键盘中断方式)。但是,由于刚开始设计时,在焊接控制电路板时做的是扫描式键盘,为了不改动电路板,就采用扫描式键盘。而最终还是需要换成中断方式的。3.3.3 显示单元选择根据中压开关控制器的使用场所,选择LCD显示。对于CRT显示,需要完成其相应的显示驱动程序,而且底层驱动程序复杂。而采用LCD显示方便、简单。所以,选择方案一(采用LCD显示)。 选择好各个模块的方案设计,完成总体设计框图如图3.2所示。 独立式键盘微处理器AT89S

35、52LCD显示图3.2 设计总框图第四章 硬件设计本设计系统主要是人机接口界面的设计,包括键盘输入与LCD显示。对于键盘的设计,没有什么特殊的设计技术,设计难点是在LCD显示设计方面。本设计所选用得LCD是320×240点阵。在硬件方面,不仅要完成MCU与LCD的接口,同时还要完成控制器电路SED1335与LCD板的外围接口电路设计,其主要的外围接口就是LCD背光源得设计和LCD对比度调整电路设计(DC-DC变换器)。在设计中,LCD背光源采用CCFL(冷阴极)背光方式,硬件采用模块电路QPY-L10A,产生1000V左右的交流驱动电压(频率约32kHz)。而LCD对比度调整电路(D

36、C-DC变换器)则采用Motorola芯片34063AP1来实现+5到-30V的DC-DC变换。4.1 单片机外围接口电路设计AT89S52单片机外围接口主要包括:1. 晶振电路2. 复位电路3. 直流电源 单片机复位采用按键高电平复位,而单片机在平时则复位端为低电平0.晶振电路也采用外部无源晶振,具体设计如图4.1所示。图4.1 单片机外围接口电路4.2 键盘电路设计 采用独立式扫描键盘,按键的一端接地,另一端接单片机的P1口。同时保证在没有按下键盘的时候,P1口处于高电平状态,而在按下键盘的时候,相应的P1位就变成了低电平。此时,通过键盘扫描,就可以知道是哪一个按键按下了。相应的键盘将接口

37、电路图如图4.2所示。 图4.2 键盘接口电路4.3 LCD显示控制模块设计本模块采用的LCD控制器是日本SEIKO EPSON公司出品的液晶显示SED1335。L CD显示屏采用MGLS320240,其点阵是320×240,它的背光灯采用1000V(7mA)交流冷阴极背光电路,在本设计中采用QPY-L10A模块。LCD对比度调整采用34063AP1芯片来完成DC-DC电压的变换,其输出最大可以达到-30V,当调整其精密可变电阻时,可以调整LCD显示屏上显示字符的对比度。另外,还要对SED1335外扩展数据缓冲区(本设计采用两块62256)实现LCD显示屏字符、数据的缓存。单片机直接

38、访问SED1335的电路图如图4.3所示。图4.3单片机直接访问SED1335电路在实际的显示中,LCD需要显示一定的菜单,其所要完成的菜单功能,即显示内容如图4.4,当开机时显示汉字“同步开关控制器”,延时一段时间后,LCD显示第一层菜单,同时扫描按键,按下相应按键,移动滚动条,当选择了某一项时,按下确定按钮,微处理器就执行相应的命令,同时显示相应的下一级子菜单。图4.4 同步开关控制器功能菜单4.4 DC-DC转换器设计4.4.1 DC/DC转换器概念它表示的是直流电源(Direct Current),诸如干电池或车载电池之类。家庭用的100V电源是交流电源(AC) 。若通过一个转换器能将

39、一个直流电压(3.0V)转换成其他的直流电压(1.5V或5.0V),这个转换器被称为DC/DC转换器或称之为开关电源或开关调整器。 DC/DC转换器一般由控制芯片,电感线圈,二极管,三极管,电容器构成。4.4.2 LCD对比度控制设计DC-DC电压-30V的可调负电压,通过调整可调电阻VR,就可以实现VOUT输出电压的变化,从而对LCD对比度进行调整。在这里所使用的DC-DC变换芯片是Motorola公司的34063AP1.其电路连接如图4.5所示。 图4.5 DC-CD转换电路第五章 软件设计从单元电路设计可以看出,本设计的硬件电路较简单。最主要还是软件的编写,需要通过软件来实现人机接口的控

40、制。软件主要分为两部分,键盘的处理程序和LCD显示器的初始化。由于SED1335的控制命令多,实现 起来控制复杂,所以并不采用汇编语言,而采用大家都十分熟悉的C语言编写,其好处在于可移植性好、可读性强、程序易于修改。当开机时,程序进行硬件自检,然后显示开机界面,经过程序延时,LCD就显示第一级主菜单。此时,通过按键移动滚动条,当按下“确定”按键,就执行相应的处理程序,同时,在LCD上就显示相应的子菜单。还可以通过按下“加”“减”按键,修改参数。5.1 软件设计流程软件设计是用AT89S52单片机来控制SED1335,使用SED1335发出正确的指令给LCD,使LC显示出所需要的菜单,其主要功能

41、就和平常所使用的手机的显示功能一样,当我们开机时,就进行整个系统的初始化,然后就是LCD的显示与按键的处理,并且同时在LCD上实时的显示出来。并在此设计出所要编写的软件设计结构图,如下。MPU初始化设置SED1335相关命令,为LCD初始化LCD显示按键处理程序结束图5.1 软件设计结构图根据所要实现的功能,可以设计如下的软件设计流程框图(图5.2)。LCD显示屏所显示的内容主要是通过安检的控制来实现,当使用“上/下滚动条”翻滚时,LCD显示的就是滚动条的上下移动,如果选择相应的命令,就把滚动条移动到其上面,然后按下“确定”按键,程序执行相应的处理,同时显示下一级菜单,进入相应的设置处理。当按

42、下“+或-”按键可自动对数据进行增减1.系统初始化LCD主菜单显示“上/下”按键处理“确定”按键处理相应的下一级菜单“+/”按键处理结束“取消”按键否是图5.2 软件设计流程框架图5.2 按键扫描处理程序对于独立式键盘的扫描处理程序,程序编写的结构流程是:当处理器处理完初始化程序后,进行键盘扫描,当判断到有键按下时,首先进行延时、消抖处理,然后再判断是否是干扰,如果不是干扰,则记录下现在键盘接口的状态,同时等待按键释放,待按键释放后,再进行延时、消抖处理,此时,已经没有按键按下了,接下来就执行相应的键盘除了程序。其程序流程框图如图5.3所示 主程序开始初始化扫描判断是否有案件按下延时、消抖判断

43、是否干扰等待按键释放按键释放否?延时、消抖执行按键处理程序结束否是否是否是图5.3 按键扫描处理流程图以下列出按键扫描的处理子程序,其主要操作是在按键按下后进行检测,而在按键释放后才进行按键的处理程序,这样就消除了在按键按下的期间一直在进行按键处理程序操作的可能,保证程序的稳定执行。如果在按键按下时就进行按键的处理操作,就必须要等待按键释放后才能退出本次的按键扫描。void scan_key() /按键扫描判断,按键需要在释放后执行程序 while (p1 & 0X3F) !=0x3f) /扫描是否有键按下 /说明有键按下了 key = p1 & 0XF3; /读取按键状态值

44、delay(); /消抖动 if (0x3f & p1) !=0x3f) /判断是否干扰 /有效按键 while (p1 & 0xf3) !=0x3f) /等待按键释放 delay(); /消抖动 switch(key) /按键判断 case 0X3E:UpKey();break; case 0X3D:DownKey();break; case 0X3B:LeftKey();break; case 0X37:RightKey();break; case 0X2F:OkKey();break; case 0X1F:CancelKey();break; default: break

45、; 5.3 LCD显示处理程序在系统上电时,首先是要对LCD进行初始化。先对系统参数进行设置,然后设置显示区域(SCROLL),由于功能的需要,设置LCD为双屏显示(OVLAT)。接下来就是清屏、设置开显示。这样LCD的初始化就基本完成了。LCD显示处理程序流程图如图5.4所示。LCD初始化LCD显示清屏LCD主菜单显示执行按键处理程序LCD次级菜单显示结束图5.4 LCD显示处理程序流程图以下是用KeilC51编写的C语言源程序。Void int(void) UCHAR i; WCADD=SYS_SET; Fori=0; i<8; i+ WDADD = SYSTABi WCADD=SC

46、ROLL;For(i=0;i<10;i+)WDADD = SCRTABi;WCADD=HDOT_SCRWDADD=0x00;WCADD=OVLAY;WDADD=0x0d;Clear(1);WCADD=DISP_ON;WDADD=0x54;/*以上设置了LCD的初始化,但是对于LCD的清屏,在这里做详细介绍。LCD的清屏就是向LCD的每一个点都写0,就是让其不显示。但是清屏就设计到上下两屏的清除。由于两屏的缓冲起始地址的不同,所以就需要设置光标到相应的缓冲区。一下就是LCD两屏的清屏函数*/Viod Clear(UCHAR flag) UINT i,j;WCADD=CSRDIR_R;WCA

47、DD=CSRW;WDADD=0x00;IF(flag=1)WDADD=0x00;else WDADD=0x40;WCADD=MWRITE;for(j=0;j<900;j+) for(i=0,i<39:i+) WDADD=0x00;5.4 软件调试LCD显示程序的调试是本设计中最重要的一环。只有编写好LCD的显示控制程序,才能够实现所需要的功能,操作如下:(1) 编写调试程序。(2) 修改SED1335的系统参数,明确系统参数设置的具体含义。正常显示汉字。(3) 正常显示设计的主菜单。用一个循环就可以实现几行汉字显示了。(4) 实现双屏的现实和实现菜单滚动条的移动来选择项目。SED1

48、335提供双屏显示功能,但是LCD是单色的,所以要实现这种功能就需要在滚动条移动到菜单项目上的时候,对汉字取反,也就是需要两屏实现“异或”功能。而恰好,SED1335就有这样的功能。(5) 按键处理。当按下向“下”的按键时,滚动条自动移动到下一个菜单选项;当按下向“上”的按键时,滚动条自动移动到上一个菜单选项。同时,按下“确定”按键,程序就执行相应的菜单选项的功能。(6) 实现菜单的返回功能。需要按下“取消”按键,需要首先把所有的现实内容全部写入不同的缓冲区,然后再通过程序一一映射,否则每按一下按键,单片机都需要对LCD重新写显示命令,这显然很复杂。到此为止,程序调试基本完成。第六章 总结与展

49、望6.1 预期实现功能设计预期实现的功能是当用户通过按键输入相关指令,MCU就执行相关的程序,并且,同时在LCD显示屏上显示出来。 LCD显示屏在开机时显示开机画面“同步开关控制器”,然后延时,最后就显示所需要的主菜单。LCD的现实主要有两级菜单,主菜单和次级菜单,在每显示一级菜单时,同时显示滚动条,并且实现滚动条的上下移动,每一级菜单如图6.1所示断路器参数操作时间操作记录图6.1 LCD菜单图解当按下“确定”按键时,程序就执行滚动条所选定的菜单选项,进入相应的处理程序,并同时显示下一级子菜单。其显示效果如图6.2所示。图6.2 LCD滚动条移动图解6.2 关于智能化控制的展望本设计使我对大

50、学四年所学的知识得到系统而全面的回顾,使我在实践中加深了对理论知识的理解,从设计最初方案的拟定,到最终方案的确定,从系统的编程到最终版图的实现,其过程是漫长而艰辛的,然而从中得到的经验和收获,却又是难以言喻的,在搜集很整理资料的过程中,我查阅的很多书籍和网站,从中我了解了很多以单片机为核心的智能控制领域最前沿的技术。随着微机应用的日益广泛,CPU技术已经渗透到各个领域,智能电器的应用越来越广。智能电器通过CPU采集、处理外加信号并进行所需的逻辑分析判断,最后发出动作命令来完成各项要求,进而出现了永磁机构的微机控制方式。永磁机构的微机控制方式是将微机技术和断路器的控制有效地结合起来,具有更强更灵

51、活得逻辑判断分析能力,由于配有永磁机构的断路器的分合闸特性可以通过微机控制来控制,从而实现速度特性的智能控制、开关的选相分合闸、检测动铁心的运动位置和线圈电流、瞬时通电时间等参数,可以实现自动检测同时,可以通过外键盘输入,进行功能的设置和参数的整定。本设计仅仅是单片机在智能化控制领域应用的一个例子,随着半导体工艺技术的发展及系统设计水平的提高,单片机还会不断产生新的变化和进步,最终人们可能发现:单片机与微机系统之间的距离越来越小,甚至难以辨认。致谢参考文献1、 马忠梅,籍顺心,张凯,马岩,单片机的C语言应用程序设计,北京航空航天大学出版社,19992、 方春恩,李伟,中压系统同步开关控制器总体

52、方案3、 陈小忠,黄宁,赵小侠,单片机接口技术实用子程序,北京:人民邮电出版社,20054、 秦实宏,周龙,肖忠,单片机原理及应用.汉口:中国水利水电出版社,20055、 康万新,毕业设计指导及案例剖析.北京:清华大学出版社,20076、 郝文化,Protel DXP 电路原理图与PCB设计.北京:机械工业出版社,20057、 中国电子网http:/www.21IC.com附录源程序模块指令定义#incluede<reg52.h>#incluede<stdio.h>#incluede<math.h>#incluede<absacc.h>#incl

53、uede<string.h>#define SYS_SET 0X40#define SLEEP_ON 0X53程序参数定义#defineDISP_ON 0X59#defineDISP_OFF 0X58#defineSCROLL 0X44#define CSRFORM 0X5D#define CGRAM_ADR 0X5C#define CSRDIR_U 0X4E#define CSRDIR_D 0X4F#define CSRDIR_L 0X4D#define CSRDIR_R 0X4C#define HDOT_SCR 0X5A#define OVLAY 0X5B#define CSR

54、W 0X46#define CSRR 0X47#define MWRITE 0X42#define MREAD 0X43#define para 0x28#define UCHAR unsigned char#define UNIT unsigned int#define WCADD XBYTE0X7F00#define WDADD XBYTE0x3f00#define RDADD XBYTE0X7F00#define RBADD XBYTE0X3F00viod int(viod);viod clear(UCHAR);viod CLEAR_second(void):viod write_first();viod write_second();viod write_first21(void);viod disgraph_char x,char y,char cod

温馨提示

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

评论

0/150

提交评论