版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录5 .总体设计电路的优缺点总结及改进意见和展望 . 31 5.1优点 . 31 5.2缺点 . 31 5.3改进意见和展望 . 31结 论 . 32参考文献 . . 33附录 A :VHDL 语言源程序 . . 34附录 B : C51语言程序主程序名及头文件名 . 35致 谢 . 36插图索引图 1 DS1302封装图 . . 4图 2 KEIL uVision2 C51 编译器所支持的数据类型 . 7图 3 智能热水器系统设计总体框图 . . 12 图 4 FPGA控制器设计总体框图 . . 12 图 5 MCU控制器设计总体框图 . . 12 图 6 矩阵键盘特征值分布图 . .
2、13 图 7 总体程序流程图 . . 13 图 8 校时、调温功能按键分布图及对应特征值 . 14 图 9 FPGA控制模块电路图 . 15 图 10 单片机控制模块电路图 . . 16 图 11 自制水位传感器 . . 17图 12 继电器驱动电路 . . 17 图 13 矩阵键盘电路 . . 18 图 14 LCD12864的显示电路 . . 18 图 15 DS1302电路 . . 19 图 16 DS18B20电路 . 19 图 17 改进后的继电器驱动电路 . . 20 图 18 自制水位传感器 . . 20 图 19 自顶向下的设计流程 . . 22 图 20 FPGA控制器的时序
3、仿真图 . . 22 图 21 FPGA控制器结构图 . . 22 图 22 DS1302仿真图 . . 23 图 23 DS18B20仿真图 . 23 图 24 主程序流程图 . . 24 图 25 主程序仿真图 . . 25 图 26 提示功能界面仿真图 . . 25 图 27 水位调节程序的流程图 . . 26 图 28 水位调节程序仿真图(a . 26 图 29 水位调节程序仿真图(b . . 26 图 30 水温调节子程序流程图 . . 27 图 31 水温调节仿真图 . . 27 图 32 按确定键后的水温调节界面 . . 28 图 33 定时开关子程序流程图 . . 28 图 3
4、4 定时开关功能仿真图 . . 28 图 35 按确定键后的仿真图 . . 29 图 36 校时功能界面仿真 . . 29 图 37 按确定键后的校时功能界面仿真 . . 29 图 38 提示功能界面仿真 . . 30 图 39 没实现的定时功能提示界面仿真 . . 30摘 要智能化的热水器一般的用单片机作为控制器, 能实现恒温和水位的自动调节 的功能,本设计是以 FPGA 和单片共同作为控制器件设的智能化热水器, 在减少了 一些外围器件的同时实现了恒温和水位的自动调节控制,还能实施时间监控,根 据不同的月份,不同的日期,不同的时间而自动开启和关断热水器的电源,从而 使得热水使用更加方便,设定
5、后不需要人的干预,同时能节约电能。本设计编程 语言使用 VHDL 语言和 C51, 运行环境分别是 MAX+plus II 10.0和 Keil uVision3, 用 Proteus 7 Professional画系统的电路图并进行仿真调试, FPGA 芯片使用 Altera 公司的 EPF10K10TC144-4,单片机使用 STC89C52RC.关键词:智能、热水器 、 FPGA 、 EDA 、 VHDL 、单片机 89C51、 C51、恒温控制、 液位控制、时钟控制、键盘控制、液晶显示AbstractWater heaters are generally use MCU as the
6、controller.This kind of water heaters could achieve to constant temperature and water level automaticlly, The design of intelligent water heater is based on FPGA and MCU control, reducing the number of peripheral devices while achieving the automatic adjustment of temperature and water level control
7、, and also monitor the implementation of the time, according to a different month, different days, different times and automatic turned on and off the power of the intelligent water heater, making the use of water hearter more convenient, Settings without human intervention, saving energy at the sam
8、e time.The design of programming language uses VHDL language and C51, operating environment are MAX + plus II 10.0 and Keil uVision3, with Proteus 7 Professional painting system and the simulation circuit debug, FPGA chip use Altera's EPF10K10TC144-4, microcontroller use STC89C52RC.Key words:Sma
9、rt, water heaters, FPGA, EDA, VHDL, MCU 89C51, C51, temperature control, water level control, clock control, keyboard control, liquid crystal displayVI绪论选题的背景及目的市场上适合家庭使用的热水器有两类,一类是燃气式,另一类是电热 式,而购买热水器主要考虑价格、安全性,方便性、寿命、成本等因素, 一般来说,燃气热水器的优点是价格低、加热快、出水量大、温度稳定,缺点 是必须分室安装,不易调温,需定期除垢,在使用中易产生有害气体,因此其 使用受到一
10、定限制;储水式电热水器的优点是干净、卫生,不必分室安装,不 产生有害气体,调温方便,高档产品还有到达设定温度后自动断电、自动补温 等功能。本设计是基于已有的储水式电热水器基础上实现时钟定时开关的控制 和高温断路保护功能,同时用 FPGA 作为数据采集器,使得液位和温度的实时 性更强, 液位和温度的精准度更高, 同时可手动调节液位和温度, 用 LCD 显示 相关信息,整个系统外围器件少,稳定性高,同时安装使用方便。研究现状分析目前大多数智能热水器都是基于单片机控制的智能热水器, 利用 EDA 技术 和单片机技术,设计的基于 FPGA 电热式热水器控制器,实现系统的硬件电路 及相关配套软件的设计,
11、使系统能完成热水器定时开关、热水器温度、水位参 数的采集、对采集数据实时记录、处理、分析、显示和控制等功能。此设计将 FPGA 和单片机结合使用, 既发挥了 FPGA 高速数据采集的特点, 有发挥了单片机在控制方便的优点, 因此整个系统的实时性比一般的仅用单片 机设计的系统的实时性强, 但在其性价比低, 因而, 此设计仅适用于练习 FPGA 与单片机的通信功能, 练习用 FPGA 和单片机完成一个具体系统的具体功能的 设计, 如果希望此产品能具有一定的实用价值和市场竞争力, 可以用单片机单 独完成此设计,用 DS1302时钟芯片完成时钟的嵌入和定时控制的功能。 研究方法通过分析现有电热式热水器
12、的功能和结构的和查阅相关文献、资料,总结 现了市场上现有的热水器的种类、结构和功能特点,在已有产品的功能基础上 加入了定时开关功能,使得此产品更人性化也符合社会提倡的节能的需要,此 设计先通过 Proteus 和 MasplusII 等软件仿真, 然后在系统板上进行逐个的功能 调试,在逐个功能完成的基础上进行系统总体功能调试。11 主要器件和编程语言简介1.1本设计所用到的主要元器件FPGA 芯片 EPF10K10TC144-4 一片单片机 STC89C52RC 一片时钟芯片 DS1302 一片温度传感器 DS18B20 一个液晶显示器 LCD12864 一片继电器 HLS8L-DC5V-S-
13、C 三个电平转换芯片 MAX232 一片1.2器件简介FPGA 是英文 Field Programmable Gate Array 的缩写,即现场可编程门阵 列,它是在 PAL 、 GAL 、 EPLD 等可编程器件的基础上进一步发展的产物。它 是作为专用集成电路(ASIC 领域中的一种半定制电路而出现的,既解决了定 制电路的不足,又克服了原有可编程器件门电路数有限的缺点。FPGA 采用了逻辑单元阵列 LCA (Logic Cell Array 这样一个新概念,内 部包括可配置逻辑模块 CLB (Configurable Logic Block 、输出输入模块 IOB (Input Outpu
14、t Block和内部连线(Interconnect 三个部分。 FPGA 的基本特点 主要有:(1采用 FPGA 设计 ASIC 电路,用户不需要投片生产,就能得到合用的芯 片。 ( 2FPGA可做其它全定制或半定制 ASIC 电路的中试样片。(3FPGA内部有丰富的触发器和 I /O 引脚。(4FPGA是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件 之一。(5FPGA采用高速 CHMOS 工艺, 功耗低, 可以与 CMOS 、 TTL 电平兼容。 可以说, FPGA 芯片是小批量系统提高系统集成度、可靠性的最佳选择之 一。目前 FPGA 的品种很多,有 XILINX 的 XC
15、 系列、 TI 公司的 TPC 系列、 ALTERA 公司的 FLEX 系列等。FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的, 因此, 工作时 需要对片内的 RAM 进行编程。用户可以根据不同的配置模式,采用不同的编 程方式。2加电时, FPGA 芯片将 EPROM 中数据读入片内编程 RAM 中, 配置完成后, FPGA 进入工作状态。掉电后, FPGA 恢复成白片,内部逻辑关系消失,因此, FPGA 能够反复使用。 FPGA 的编程无须专用的 FPGA 编程器,只须用通用的 EPROM 、 PROM 编程器即可。当需要修改 FPGA 功能时,只需换一片 EPROM 即可。这
16、样,同一片 FPGA ,不同的编程数据,可以产生不同的电路功能。因 此, FPGA 的使用非常灵活。FPGA 有多种配置模式:并行主模式为一片 FPGA 加一片 EPROM 的方式; 主从模式可以支持一片 PROM 编程多片 FPGA ;串行模式可以采用串行 PROM 编程 FPGA ;外设模式可以将 FPGA 作为微处理器的外设,由微处理器对其编 程。单片机 STC89C52RC 和 89C51单片机基本相同, 具体资料参照参考教科书 单 片微型计算机原理及应用 ,张毅坤、陈善久、裘学红编著。DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实 时时钟电路,它可
17、以对年、月、日、周日、时、分、秒进行计时,具有闰年补 偿功能,工作电压为 2.5V 5.5V 。采用三线接口与 CPU 进行同步通信,并可 采用突发方式一次传送多个字节的时钟信号或 RAM 数据。 DS1302内部有一个 31×8的用于临时性存放数据的 RAM 寄存器。 DS1302是 DS1202的升级产品, 与 DS1202兼容, 但增加了主电源 /后背电源双电源引脚, 同时提供了对后背电 源进行涓细电流充电的能力。引脚功能及结构DS1302的引脚排列 , 其中 Vcc1为后备电源, VCC2为主电源。在主电源 关闭的情况下,也能保持时钟的连续运行。 DS1302由 Vcc1或
18、Vcc2两者中的 较大者供电。当 Vcc2大于 Vcc1+0.2V 时, Vcc2给 DS1302供电。当 Vcc2小于 Vcc1时, DS1302由 Vcc1供电。 X1和 X2是振荡源,外接 32.768kHz 晶振。 RST 是复位 /片选线,通过把 RST 输入驱动置高电平来启动所有的数据 传送。 RST 输入有两种功能:首先, RST 接通控制逻辑,允许地址 /命令序列 送入移位寄存器;其次, RST 提供终止单字节或多字节数据的传送手段。当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302进行操作。如果 在传送过程中 RST 置为低电平, 则会终止此次数据传送, I
19、/O引脚变为高阻态。 上电运行时,在 Vcc2.5V 之前, RST 必须保持低电平。只有在 SCLK 为低电 平时,才能将 RST 置为高电平。 I/O为串行数据输入输出端 (双向 ,后面有详 细说明。 SCLK 为时钟输入端。 DS1302的引脚功能图如下图:3 图 1DS1302封装图DS1302的控制字节DS1302 的控制字如图 2所示。 控制字节的最高有效位 (位 7 必须是逻辑 1, 如果它为 0,则不能把数据写入 DS1302中,位 6如果为 0,则表示存取日历 时钟数据, 为 1表示存取 RAM 数据 ; 位 5至位 1指示操作单元的地址 ; 最低有效 位 (位 0 如为 0
20、表示要进行写操作, 为 1表示进行读操作, 控制字节总是从最低 位开始输出。数据输入输出 (I/O在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入从低位即位 0开始。同样,在紧跟 8位的控制指令字后的 下一个 SCLK 脉冲的下降沿读出 DS1302的数据, 读出数据时从低位 0位到高 位 7。DS1302的寄存器DS1302有 12个寄存器, 其中有 7个寄存器与日历、 时钟相关, 存放的数 据位为 BCD 码形式 , 其日历、时间寄存器及其控制字见表 1。此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄 存器及与 RAM 相关
21、的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄 存器外的所有寄存器内容。 DS1302与 RAM 相关的寄存器分为两类:一类是 单个 RAM 单元,共 31个,每个单元组态为一个 8位的字节,其命令控制字为 C0H FDH , 其中奇数为读操作, 偶数为写操作; 另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31个字节,命令控制字为 FEH(写 、 FFH(读 。为了实现系统报警计时等功能,此设计采用了 DS302实时时钟芯片。 DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时 钟电路,它可以对年、月、日、周日、时、分、
22、秒进行计时,具有闰年补偿功 能,工作电压为 2.5V 5.5V 。采用三线接口与 CPU 进行同步通信,并可采用 突发方式一次传送多个字节的时钟信号或 RAM 数据。 DS1302内部有一个 31×8的用于临时性存放数据的 RAM 寄存器。 DS1302是 DS1202的升级产品,与 DS1202兼容,但增加了主电源 /后背电源双电源引脚,同时提供了对后背电源4DS18B20的数字温度计提供 9至 12位(可编程设备温度读数。信息被发 送到 /从 DS18B20 通过 1线接口,所以中央微处理器与 DS18B20只有一个一 条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需
23、要外接电 源。 因为每一个 DS18B20的包含一个独特的序号,多个 ds18b20s 可以同时 存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多, 包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。 存储器DS18B20的存储器包括高速暂存器 RAM 和可电擦除 RAM , 可电擦除 RAM 又包括温度触发器 TH 和 TL ,以及一个配置寄存器。存储器能完整的确定一线 端口的通讯,数字开始用写寄存器的命令写进寄存器,接着也可以用读寄存器 的命令来确认这些数字。当确认以后就可以用复制寄存器的命令来将这些数字 转移到可电擦除 RAM 中。当修改过寄存器中的数时
24、,这个过程能确保数字的 完整性。高速暂存器 RAM 是由 8个字节的存储器组成;第一和第二个字节是温度 的显示位。第三和第四个字节是复制 TH 和 TL ,同时第三和第四个字节的数字 可以更新;第五个字节是复制配置寄存器,同时第五个字节的数字可以更新; 六、七、 八三个字节是计算机自身使用。用读寄存器的命令能读出第九个字节, 这个字节是对前面的八个字节进行校验。温度的读取DS18B20在出厂时以配置为 12位,读取温度时共读取 16位,所以把后 11位的 2进制转化为 10进制后在乘以 0.0625便为所测的温度, 还需要判断正负。前 5个数字为符号位,当前 5位为 1时,读取的温度为负数;当
25、前 5位为 0时,读取的温度为正数。1.3 编程语言简介VHDL 语言是一种用于电路设计的高级语言。 VHDL 的英文全写是:VHSIC (Very High Speed Integrated Circuit Hardware Description Language,即超高速集 成电路硬件描述语言。其主要用于描述数字系统的行为、结构、功能和接口。 目前, 它在中国的应用多数是用在 FPGA/CPLD/EPLD的设计中。 在使用 VHDL 等高级语言时, 有专用的工具来实现将语言描述的电路功能转换为实际的电路, 所以使用者就用不着对底层的电路很熟悉,也用不着对 CPLD/FPGA的结构很 熟悉
26、。除了含有许多具有硬件特征的语句外, VHDL 的语言形式和描述风格与句 法是十分类似于一般的计算机高级语言。 VHDL 的程序结构特点是将一项工程 设计,或称设计实体(可以是一个元件,一个电路模块或一个系统分成外部 (或称可是部分 , 及端口 和内部 (或称不可视部分 , 即涉及实体的内部功能和 算法完成部分。 在对一个设计实体定义了外部界面后, 一旦其内部开发完成后, 其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是 VHDL 系统设计的基本点。应用 VHDL 进行工程设计的优点是多方面的。 (1 与其他的硬件描述语言相比, VHDL 具有更强的行为描述能力, 从而决定
27、 了他成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体 的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。(2 VHDL 丰富的仿真语句和库函数, 使得在任何大系统的设计早期就能查验 设计系统的功能可行性,随时可对设计进行仿真模拟。(3 VHDL 语句的行为描述能力和程序结构决定了他具有支持大规模设计的分 解和已有设计的再利用功能。符合市场需求的大规模系统高效、高速的完成必 须有多人甚至多个代发组共同并行工作才能实现。(4对于用 VHDL 完成的一个确定的设计,可以利用 EDA 工具进行逻辑综合 和优化,并自动的把 VHDL 描述设计转变成门级网表。(5 VHDL 对
28、设计的描述具有相对独立性, 设计者可以不懂硬件的结构, 也不 必管理最终设计实现的目标器件是什么,而进行独立的设计。语言数据结构每写一个程序,总离不开数据的应用,在学习 C51语言的过程中掌握理解 数据类型也是很关键的。先看表 2-1,表中列出了 KEIL uVision2 C51 编译 器所支持的数据类型。在标准 C 语言中基本的数据类型为 char, int, short, long, float 和 double,而在 C51 编译器中 int 和 short 相同, float 和 图 2KEIL uVision2 C51 编译器所支持的数据类型2 系统方案选择和论证2.1设计要求1、
29、 基本功能要求:实现温度自动调节控制,使得温度能维持在某个一定的 范围之内;液位自动调节控制,使得液位能维持某个范围之内;定时开启和关 断控制,根据不同日期和时间,开启和关断热水器电源;键盘设定温度及时间 校正功能,能设定维持温度的范围的最大值和最小值,同时可以用键盘校正时 间。2、扩展功能要求:实现恒温控制,使得温度能温度在具体的某个值,而不 是维持在某个范围之内,即实现温度的实时监控;实现水位的调节功能,能使 水位维持在某个具体的数值,而不是维持在某个范围之内,即实现水位的实时 监控。3、本设计软件部分主要采用 VHDL 硬件描述语言编程实现 FPGA 的数据 采集和控制功能,用 C51语
30、言实现单片机的控制功能,并利用 MAX+PLUS 和 Keil uVision3软件开发平台进行编程调试。对于 VHDL 语言程序要调试等待 准确的仿真时序图, 对于 C51程序, 要用 Keil 编译, 并用 Proteus 7 Professional 得到准确的仿真结果。 其中 FPGA 和 MCU 的通信的的程序则直接用实物进行调试, 并要求得到与理论分析相一致的结果。4、本设计由控制器模块、水位控制模块、水温控制模块、定时开关控制模 块、时钟模块、键盘模块和显示模块七大硬件模块构成,各模块相互关联,控 制器是各模块相互联系沟通的桥梁。2.2各模块方案论证和选择方案 A :单独使用 F
31、PGA 作为控制器。如果单独使用 FPGA 作为控制器件, 优势是大大的简化了外围电路,提高了整个系统的稳定性和可靠性,控制引脚 能足够的满足我们的设计要求,且不需要外部 EEPROM 和时钟芯片 , 可以直接使 用 FPGA 内部的高速 ROM ,也可以编写时钟模块的程序,且 FPGA 速度要比单片 机快的多,但是要完成 LCD 显示、温度数据的采集、键盘控制等众多控制功能, FPGA 与单片机相比没有优势。 FPGA 的主要优势是能实现片上系统, 大大简化外 围电路,且能完成数据的高速采集;单片机的主要优势是控制简单方便。在此 设计中单独使用 FPGA 不能很好的体现它在高速数据采集方面的
32、优势。方案 B :单独使用单片机作为控制器。如果单独使用单片机使用作为控制器,优势是能较简单方便实现水位控制模块、水温控制模块、定时开关控制模 块、时钟模块、键盘模块和显示模块等各个功能模块的控制功能,同时成本大 大降低, 但是增加了一些外围元件,如需要增加时钟芯片和 EEPROM 芯片, 外围 电路的复杂性增加,这使得电路的稳定性和可靠性与方案 A 相比有所降低。 方案 C :同时使用 FPGA 和单片作为控制器件。这样的方案主要是综合两种 控制器件的优势,但是成本提高。方案 A采用超声波。用超声波实时监测水位的高度,因为本设计用到 DS18B20, 可以根据温度用软件补偿因为温度变化而引起
33、的超声波速度的变化,这样能较 准确的实时监控热水器内水位的高度,因而可以使等水位维持在某个值附近。 方案 B采用压力传感器。用压力传感器测量出热水器不装水时的重量,再测量出 装入水后的重量 (即先要用压力传感器设计成一个电子称 , 根据这个差值可以 计算出液位的高度,此方式能十分准确的测出液位高度,因此可以通过电磁阀 将水位稳定在某个值,但是传感器的成本较高,一般的压力传感器一直在负重 之下,时间长了误差增大,最终损坏。方案 C自制传感器。自己制作一个传感器测量出一个水位的最低值、测量出一个 水位的最高值,当水位低于最低值时打开电磁阀,热水器进水;当水位达到水 位的最高时,关闭电磁阀。这样能将
34、水位维持在某个范围之内。同时自制的传 感器简单,而且成本很低。温度采集模块方案 A采用 AD590。 AD590的测温范围为 -55+150。 AD590的电源电压范围 为 4V 30V 。 电源电压可在 4V 到 6V 范围变化,电流变化 1mA , 相当于温度变化 1K 。 AD590可以承受 44V 正向电压和 20V 反向电压,因而器件反接也不会被损 坏。但是 AD590需要放大电路和 A/D转换电路,电路较为复杂。方案 B采用 DS18B20。 DS18B20能测量 -55摄氏度到 125摄氏度的温度值, 采用 “一线总线” ,内嵌 A/D转换,可直接与控制器件连接外围电路简单。两种
35、方案比较,方案 B 能很好的满足我们的设计要求,而且电路比方案 A 简单,同时成本较方案 A 要低的多,因此本设计采用方案 B 。热电阻丝控制方式方案 A采用用 PWM 控制方式, 通过改变 MOS 管或电力开关三极管的控制级信号的 占空比来调整输出端电压的有效值,这种控制方式能使得温度稳定在某个值附 近,当时需要将交流电转换成直流电,即需要设计市电压的整流电路,还需要 耦合器件和电力开关管,电路较为复杂,成本较高。方案 B :采用继电器。使用继电器控制热电阻丝的电源的开和关,当温度 值低于最低值是继电器闭合,热电阻丝通电工作,当温度高于最高值是继电器 断开,热电阻丝断电停止工作。这种方式的缺
36、点是继电器断开和吸合的瞬间存 在电弧, 存在安全隐患, 而且对继电器的寿命有影响, 但是这种方式电路简单, 实现方便,而且能很好的满足设计要求。综合考虑,本设计采用方案 B ,方案 B 简单易行,可实现性强,但在实际 设计时应注意做好绝缘保护的工作。方案 A采用可控硅。将可控硅串入电路,通过控制的高低电平,来接通和断开, 热水器的系统的电源,这样不存在电弧和电火花的现象,而且响应速度很快。 方案 B采用继电器。将继电器接入系统电路,通过控制端来开启和关断电源,这 样相对与可控硅而言,高压区和低压区的隔离效果好,但存在电弧和电火花。 因为温度控制电路已经采用了继电器控制的方式,在这个模块中可以和
37、水 温控制模块共用继电器,以简化电路,节约成本,因此在这个模块的方案选择 方案 B 。方案 A在 FPGA 中嵌入时钟。 这样电路简化了电路, 但还有要实现记录年月日的信 息,这样用 FPGA 实现起来软件工作量大大的增加了。方案 B直接选用一种时钟芯片。 选用时钟芯片 DS1302接在单片机上, 能十分方便 准确的记录年月日信息,而且电路也比较简单,这样用简单的硬件电路使得软 件工作量大大减少了,而且节约的控制器的资源,有利于整个系统的进一步扩展。综上,本设计采用方案 B 。方案 A使用独立键盘。使用四个独立键盘,这样电路十分的简单,但是软件的工 作量有所增加。方案 B使用用 4x4键盘。电
38、路也十分简单,软件工作量有所减少,但是设计的成 本提高。鉴于本设计用于实验探索研究,选用方案 B ,在系统调试成功后或产品需 要实际使用时则改用方案 A 。方案 A使用 LED 显示。用 LED 显示亮度高,显示字迹清楚显眼,但是 LED 不能显 示汉字,而且数码管多了,占用控制器件很多的端口,同时本设计中显示的内 容较多,利用 LED 很难达到本设计要求的显示效果。方案 B使用 LCD12864或 LCD1602。使用 LCD12864或 LCD1602都能满足本设计的 要求,如果考虑成本因素,则选用 LCD1602,如果注重人性化,使得整个系统 的操作和使用更加的方便,则选用 LCD128
39、64。考虑到本设计是实验研究,因此选用方案 B 中的 LCD12864,如过要批量生 产、实际应用这种产品,怎选用 LCD1602或其他能满足设计要求的更经济显示 器件。2.3硬件系统框图和总体软件系统流程图系统总体设计框图如下所示,本系统主要由两个大的模块构成, FPGA 控制模块和 MCU 控制模块。 图 3 智能热水器系统设计总体框图下面是 FPGA 控制器的设计框图,编程时器件端口就是根据这个图设计的。 图 4 FPGA 控制器设计总体框图单片机的控制器的设计框图如下图所示,下面的框图已经将 MCU 的 I/O资 源进行了分配,有关单片机模块的具体的电子线路就是根据这个系统框图设计 的
40、。 图 5 MCU 控制器设计总体框图本系统使用了 4X4的扫描键盘,下图是按键扫描程序所得到的特征值,每个按键都有唯一对应的一个特征值,根据这个唯一的特征值,可以确定是哪个按键被按下,并进行相应的按键处理。 图 6矩阵键盘特征值分布图程序流程图时编写程序时不能缺少的一个步骤,本系统在设计前,经分析 设计了如下图所示的程序流程图,并根据此图编写单片机模块的 C51程序,成 功完成了设计要求实现的功能。系统上电进入主界面,进行按键扫描和相应的显示,当扫描到按键时进行 相关的按键处理, 如当扫描到的按键的特征值为 0x71时, 程序进入了校时界面, 这个子程序的循环中依然进行按键扫描和相应的显示,
41、当扫描的按键的特征值 为 0xe8时,程序从新回到主界面的状态。图 7总体程序流程图当程序进入校时、定时和温度调节的界面时,按键的特征值分布如下右图 所示, 或右移一个单位; “一或减一。 图 8 校时、调温功能按键分布图及对应特征值2.4硬系统总体电路图 图 10单片机控制模块电路图3 . 硬件电路组装调试3.1各模块的硬件组装外围电路有自制传感器电路、继电器驱动电路(驱动电磁阀、控制电热阻 丝的电源 、与单片机通信控制口。自制传感器传感器如下图一所示,前端是两导体,后面是绝缘的导线。当 A 、 B 之间有水时,就相当于用一根导线将 A 、 B 连接起来,再通过如图二所示 的电路就能将可以将
42、 A 、 B 之间是否导通转换成高低电平:当 A 、 B 导通是输出 端 Uo 为低电平,当 A 、 B 导通断开时 Uo 为高电平。 图 11自制水位传感器继电器电路 图 12继电器驱动电路LED 只是电路的通道状态,当电热阻丝通电时 LED 点亮。与单片机通信控制口:FPGA 和单片机的电平可以兼容,因此 FPGA 的 I/O可以直接与 MCU 的 I/O口连接,不需要另外附加电平转换电路。但是两者间如果是 用导线相连接的话,导线不宜过长。单片机除了必备的保证系统正常工作电路外, 还有 4x4按键电路、 LCD12864的显示电路、与时钟芯片的连接电路、与传感器 DS18B20的连接电路、
43、与 FPGA 的通信口。 图 13矩阵键盘电路键盘的 8个口接单片机的 P1口。 图 14LCD12864的显示电路与时钟芯片的连接电路: 图 15DS1302电路注意:这个电路中的上拉电阻不能少,实际电路中 VCC2接 4.2V 的纽扣电池。 图 16DS18B20电路DS18B20在 Proteus 中仿真时数据线 DQ 不需要接上拉电阻,如果接了上电 阻,不能实现仿真,而实际电路中必须接入一个上拉电阻,阻值通常为 10K. 与 FPGA 的通信口:FPGA 和单片机的电平可以兼容,因此单片机的 I/O可以直 接与 FPGA 的 I/O口连接 .3.2组装和改进系统硬件电路按照上面所描述的
44、各个模块 , 显设计好每个模块电路 , 并逐个的调试 . 因为 电路中没有比较复杂的模拟电路 , 因此整个硬件的制作过程中没有遇到大的问 题。单片机系统直接用已有的开发上面的最小系统,这个系统上有 DS1302、 DS18B20和 LCD12864,电路图与上面各模块所给出的电路图一致。FPGA 系统直接用我们系实验室的实验箱上面的最小系统。继电器电路电路和自制的传感器的电路较简单,为节约设计实时没有制作 PCB 板,而是设计好电路图之后,直接用万用板焊接出相关电路。继电器模块 焊接好后发现用电源的 +5V能驱动,而用单片机或 FPGA 的高低电平无法驱动, 因此检查硬件电路, 经过分析知道是
45、驱动电流不够, 于是将电路改成如下形式,并调试检测电路能正常工作。 图 17改进后的继电器驱动电路在前面设计的自制传感器在用导体直接断路时能得到准确结果,而在水中 调试时行不通,因此将之做如下改正,并调试成功。 图 18自制水位传感器这是改进后的检测水位传感器,浮标知识液面的高度,当液面低于 A1、 A2时,浮标下降到 A1、 A2的水平位置,导体棒将 A1、 A2接通;当液面高于 B1、 B2时,浮标上升到 B1、 B2的水平位置,导体棒将 B1、 B2接通。注意导体棒的 电阻很小可以忽略,整个装置能承受 100摄氏度的温度,也就是能在沸水中正 常工作,而且此传感器能检测出一个高水位和一个低水位。在完成了各模块电路的设计并经过调试确认没有问题后,再按照系统总体 电路图连接实际电路。3.3各硬件电路调试方法先测试系统能否载入程序,能否工作,直接给一些I /O高电平,通过 LED 验证是否符合逻辑。测试自制传
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度装饰装修工程安装合同
- 2024年工程材料供应与验收合同
- 公司员工检讨书
- 2024年度新能源发电设备采购与销售合同
- 2024年度W公司环保服务合同协议书
- 2024年建筑公司员工聘用合同
- 2024年度网络通讯工程安全文明施工管理协议
- 2024年大型油田勘探开发合作合同(海外)
- 2024年度某航空公司飞机采购合同
- 2024年度区块链应用合作协议
- 暖通工程师面试试题(含答案)
- 行政服务中心窗口工作人员手册
- 最新患者用药情况监测
- 试桩施工方案 (完整版)
- ESTIC-AU40使用说明书(中文100版)(共138页)
- 河北省2012土建定额说明及计算规则(含定额总说明)解读
- 中工商计算公式汇总.doc
- 深圳市建筑装饰工程消耗量标准(第三版)2003
- 《初中英语课堂教学学困生转化个案研究》开题报告
- 恒温箱PLC控制系统毕业设计
- 176033山西《装饰工程预算定额》定额说明及计算规则
评论
0/150
提交评论