《毕业设计自动浇水控制器.pdf》由会员分享,可在线阅读,更多相关《毕业设计自动浇水控制器.pdf(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录第一章 引言.11.1 单片机的概述.11.2 单片机的分类及发展.11.3 灌溉技术的发展简介.2第二章 设计题目与规定.42.1 课程设计规定.42.2 课程设计目的.4第三章 设计的方案选择与论证.53.1 整体设计框架.53.2 系统硬件的选择.53.3 最终方案决定及电路设计.6第四章 系统硬件电路的设计.74.1 AT89C51的介绍.74.1.1 内部结构.74.1.2 引脚说明.84.2 显示模块.114.2.1 显示功能及实现.124.2.2 数码管介绍.124.3 时钟电路及复位电路的设计.144.3.1 时钟电路.144.3.2 复位电路.164.4 键盘输入模块.1
2、64.5 浇水模块设计.174.5.1 ULN2803 的介绍.174.5.2 浇水功能的实现.184.6 电源的设计.19第五章 系统的程序设计.215.1 系统时间显示.215.2 键盘控制时间设立.225.2.1 按键校对系统时间.225.2.2 按键设立浇水时间.235.3 浇水执行程序框图.245.4 主程序.25第六章 仿真.396.1 仿真说明.396.2 仿真电路图.39第七章 结论.41致谢.42参考文献.43附录电路图第一章 引言目前,农业、工业、生活、军事等各个方面都向自动化、智能化、数字化发展。为了适应时代的发展电子技术迅猛发展。数字化、智能化、自动化的实现方式多种多样
3、,从而产生了很多的设计工具。单片机就是其中之一,它正朝着多品种和高性能发展,正在进一步向着 COMS化、小体积、低功耗、高性能、大容量和外部电路内装化等多个方向发展。卓越的性价比受到了设计者们的欢迎。随着农业的规模化、系统化,传统的管理方法需要大量的人力并且不能及时。为了满足更高效更高产,并提高管理水平。本文将介绍一个可以自动定期、多路浇水、定浇水时间的系统,它重要基于 51 单片机来设计,并将随着社会生活的进步、人们对效率的规定,将会得到大量的应用和不断的完善。本论文中将会应用单片机等电子技术,实现自动浇水控制。1.11.1 单片机的概述单片机的概述为了适应社会发展的需求,微型计算机不断地更
4、新换代,新产品层出不穷。在微型计算机的大家庭中,几年来单片微型计算机异军突起,发展极为迅速。单片微型计算机(Single-Chip Microcomputer)简称单片机。它是微型计算机的一个重要分支,也是一种非常活跃且具生命力的机种。特别合用于控制领域,故又称微控制器(Microcontroller)。通常单片机由单块集成电路芯片构成,内部包具有计算机的基本功能功能部件:中央解决器(Central Processing Unit,CPU)、随机存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、定期/计数器及 I/O(Input
5、/Output)接口电路等部件。因此单片机只需要与适当的软件及外部设备相结合,便可成为一个单片机控制系统。它的特点是:高性能、高速度、体积小,价格低廉,稳定可靠,应用广泛。1.21.2 单单片机的分类及发展片机的分类及发展20 世纪 80 年代以来,单片机有了新的长足发展,各个半导体器件厂商也相继推出自己的产品。到目前为止,市面上出售的单片机品种已达 60 多个系列,600 多个品种。假如按照 CPU 对数据解决的位数来分,通常可以把单片机分为 4 位的单片机、8 位的单片机、16 位的单片机、32 位的单片机四类。它的产生和发展过程也经历了相应的四个阶段。第一阶段(1970-1974)为 4
6、 位的单片机的阶段。这种单片机的特点为:价格便宜并且控制功能强,片内具有多种I/O 接口,有的根据不同用途还配有许多专用接口,丰富的 I/O 功能大大增强了四位单片机应用于录音机、摄像机、电冰箱、电视机、洗衣机等产品。第二阶段(1974-1978)为低中档的 8 位单片机的阶段。它是八位单片机的初期产品,以 Intel 公司的 MCS-48 系列单片机为代表产品,这个系列的单片机在片内集成八位 CPU、并行 I/O 口、8 位定期/计数器、RAM 和 ROM 等,中断解决较简朴,片内 RAM 和 ROM 容量较小,且寻址范围不大于 4KB。第三阶段(1978-1983)为高档的 8 位单片机阶
7、段。这类单片机在低、中档基础上发展起来的,其性能有明显额提高。还是以 Intel 公司的 MCS-48 系列单片机为代表,在片内还增长了串行接口,有多级的中断解决系统,尚有 16 位定期/计数器,片内RAM 和 ROM 容量也增大了,寻址范围已经可达 64KB,有的片内还加有 A/D 转换接口。这类单片机功能强大,应用领域广阔,是现在各类单片机中应用最多的一种。第四阶段(1983-现在)为 8 位额单片机巩固发展的阶段和 16 位单片机、32 位单片机推出的阶段。这个阶段特点是:一方面不断的发展16 位的单片机、32 位的单片机和一些专用的单片机。近年来,各个计算机厂家已进入了高性能的 32
8、位单片机的研制和生产阶段,32 位单片机除了具有更高的集成度以外,主振频率已经达成 20MHz,这使 32 位的单片机的数据解决速度可以 16 位单片机快得多,性能比 8 位、16 位单片机也更加优越。而需要说明的是,单片机的发展虽然经历了 4 位、8 位、16 位三阶段,但 4 位、8 位、16 位单片机仍然各有其应用领域,比如 4 位单片机在简朴家用电器、高档玩具中尚有应用,而 8 位单片机在中、小规模应用的场合仍占主流的地位,16 位的单片机在比较复杂的控制系统中才有应用,32 位单片机因控制领域对它的规定并不十分迫切所以 32 位单片机在我国的应用并不多。正是由于单片机具有上述显著的特
9、点,使得单片机应用的范围也日益扩大。单片机的应用打破了人们传统的设计思想,本来很多用模拟电路、脉冲数字电路和逻辑部件来实现的功能,现在均可以使用单片机。使用软件来实现。使用单片机具有体积小、可靠性高、性价高和容易产品化的优点。1.31.3 灌溉技术的发展简介灌溉技术的发展简介生命之起源,水为必然条件。没有了水,地球上的生命将会枯竭。人文明之数千年的历史,为水而奋斗可以说是非常重要的篇章。比如我国古代的灵渠、郑渠和都江堰,埃及尼罗河两岸的历史非常悠久的灌溉工程都是非常好的例证。20 世纪以前,人类通过了数个世纪的探索,学会了拦河蓄水,筑渠引水和开畦灌溉的技术。但水的运用效率比较低下,限制了灌溉的
10、面积扩大。如何生产大量的粮食,来为飞快增长的人口提供粮食,如何提高水的运用率已经成了 20 世纪的一大难题,并且随着着劳务成本大的迅速提高,如何节省人力来消减劳务成本也成了亟待解决的问题。我国从 70 年代开始引进喷灌、滴灌技术,80 年代中期曾一度得到迅速发展。但由于经济及技术落后,不几年即纷纷下马。进入 90 年代中期以来,我国充足意识到我国水资源的短缺问题,重新积极推广节水技术。通过数年努力,已取得长足进步。尽管各种节水技术已经发展的很成熟,但是还不能满足的是智能化的定期浇水,要两者结合才干更自动化及智能化。限于本论文的篇幅,这里只设计自动系统,有八路出水,而采用什么节水设备,可根据实际
11、应用场合自行选取,只需对接到出口即可。第二章 设计题目与规定2.12.1 课程设计规定课程设计规定设计一种自动浇水控制器,可以实现设定每周内任意几天需要浇水,天天何时开始浇水,每路每次浇水多长时间,八路依次自动浇水。状态显示在平时模式现实当前时间及星期几,从左至右,前两位显示时,中间两位显示分,最后一位显示星期。时与分之间两个 LED 为秒闪指示,每秒闪动一次。制作出适合系统运营的电源。2.22.2 课程设计目的课程设计目的(1)巩固、加深和扩大单片机应用的知识面。提高综合及灵活运用所学知识解决实际控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图标及文献资料的自学能力,提高组成系统、
12、编程、调试的动手能力;(3)学会对课程设计方案的分析、选择、比较、熟悉系统开发、研制的过程,软硬件设计的方法、内容及环节;(4)掌握计数器、加法器、LED 的使用;(5)掌握数码管显示电路的应用与按键设立。第三章 设计的方案选择与论证3.13.1 整体设计框架整体设计框架图 3-1 是本次设计的整体系统框图,本电路是由 AT89C51单片机为控制核心,具有在线编程功能,低功耗,高性能等优点;显示模块有三个数码管,CD4511 译码器构成,使用动态扫描的显示方式对数字进行显示;按键模块位五个独立按键构成,分别设定期、分、星期、定期、定天;电源电路是为了给 AT89C51提供稳定的工作电压而设计;
13、时钟电路采用晶振提供时钟频率,再结合编程来实现时间的显示与设定。显示模块图 3-1 系统整体设计框图键盘模块浇水输出模块AT89C51电源模块时钟电路3.23.2 系统硬件的选择系统硬件的选择(1)控制系统模块的方案选择和论证方案一:采用 89C2051 芯片作为硬件核心,有 2KB 的存储空间,虽然加上端口扩展,键盘不做独立式的,也可以满足电路规定,但是它无法扩展 ROM,也不能用C 语言编程,由于C 的第一条指令是跳转,会浪费很多空间,因此导致空间不够,就只能用汇编语音。并且 2051 的 P3.7 在芯片的引脚上没有,只在内部有用,P1.0,P1.1没有内部上拉,要用做输入输出,就需要外
14、接上拉。方案二:采用 89C51 芯片作为硬件核心,采用 FlashROM,内部具有 4KB ROM存储空间,能于 3V 的超低压工作,并且与 MCS-51 系列单片机完全兼容,有 40 个引脚,完全满足电路规定,具有电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片进行多次拔插,所以不会对芯片导致损坏。结合两者优缺陷考虑,在本设计中选择采用 AT89C51作为主控制系统。(2)显示模块选择方案和论证方案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较合适,假如用在显示数字显得太浪费,且价格也相对比较高,所以不采用此种作为显示。
15、方案二:采用LED 液晶显示器,液晶显示器的显示功能强大,可显示大量文字,图形,显示多样,清楚可见,但是价格昂贵,需要的接口线多,所以在此设计中也不用这种作为显示。方案三:采用 LED 数码管动态扫描,LED 数码管价格适中,对于显示数字最合适,并且采用动态扫描法与单片机连接时,占用的单片机口线少。在本设计中选择采用了 LED 数码管作为显示。(3)时钟电路的选择方案和论证方案一:采用 DS12887 时钟芯片实现时钟,DS12887 芯片是一种高性能的时钟芯片,可自动对秒、分、时、周、月、年以及闰年补偿的年进行计数,虽然精度高,但是成本相对高,本设计不需要如此显示精度及具体度。方案二:采用外
16、部晶振提供时钟频率,直接采用单片机定期计数器提供秒信号,使用程序实现星期、时、分、秒的计数。采用此种方案可以减少芯片的使用,节约成本,合用更多的用户需求。在本设计中直接采用方案二的时钟电路为电路提供时钟控制模块。(4)键盘模块的选择方案和论证方案一:采用独立式的非编码键盘模式,在此种连接方式中,每个按键都是互相独立的,均需占用 CPU 的一条 I/O 输入数据线。方案二:采用行列式的非编码键盘,它是一种把所有按键排列成行列矩阵的键盘,所以,一个 MN 的行列式的非编码键盘只需 M 条行线以及 N 条列线,共要占用 M+N条单片机的端口线,本设计中按键只有五个,因此不采用此方案。在本设计中采用方
17、案一的键盘来对现实电路,和浇水设立进行设定。3.33.3 最终方案决定及电路设计最终方案决定及电路设计综上各方案所述,对本次设计的方案选定:采用 AT89C51作为主控制系统;LED数码管动态扫描作为显示系统;采用单片机自身的定期计数器作为时钟电路;系统电路图见附录。第四章 系统硬件电路的设计硬件电路是系统的重要部分,在本次设计中重要是以 AT89C51为核心控制器。外加一些控制电路来实现本系统的基本功能。下面分别介绍各个控制电路的功能及工作原理。4.14.1 AT89C51 AT89C51 的介绍的介绍89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFlashProg
18、rammable and Erasable Read Only Memory)的 CMOS8 位微解决器,简称单片机。它低电压、高性能。该器件采用 ATMEL高密度肥肉非易失存储器制造技术来加工的,并且可以与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU和闪烁存储器结合在一个芯片中,使得 ATMEL的 89C51 成为一种高效的微控制器89C 单片机,为许多嵌入式的控制系统完美的提供了一种不仅灵活性高并且价廉的方案。4.1.14.1.1 内部结构内部结构AT89C51的内部结构框图如图 4-1 所示图 4-1 89C51 内部结构框图89C51 单片机基本组成涉
19、及有:一个 8 位的微解决器片内数据存储器 RAM 有 128B21 个特殊功能寄存器 SFR片内程序存储器 Flash ROM 有 4KB可寻址片内外统一编址的 64KB 的 ROM可寻址片外 64KB 的 RAM4 个 8 位并行 I/O 接口(P0P3)一个全双工通用异步串行接口 UART两个 16 位的定期器/计数器五个中断源、两个优先级的中断控制系统具有位操作功能的布尔解决机及位寻址功能片内振荡器和时钟产生电路AT89C51重要部件也可以划分为 CPU、存储器、I/O 端口、定期器/计数器和终端系统等五部分。CPU 涉及运算器、控制器;存储器涉及程序存储器、片内数据存储器、片外数据存
20、储器。4.1.24.1.2 引脚说明引脚说明AT89C51共具有 40 个引脚,分为端口线、电源线、控制线三类。如图4-2 所示:图 4-2 AT89C51封装和引脚分派1.电源引脚(2 条)Vcc(40 脚):电源端,接+5V 电源。GND(20 脚):接地端,接地端。2.控制引脚(6 条)XTAL1和 XTAL2:片内振荡电路输入线。XTAL1(19脚):片内振荡电路反相放大器输入。XTAL2(18脚):片内振荡电路反相放大器输出。当采用内部时钟时,片外连接石英晶体和微调电容,产生原始的振荡脉冲信号。采用外部时钟时,XTAL1输入外部时钟脉冲信号,XTAL2悬空。相应电路如图 4-3所示。
21、图 4-3 89C51 的晶振连接图RST(9 脚):复位信号输入端。高电平有效,保持两个机器周期高电平时,完毕复位操作。ALE/PROG(30 脚):地址锁存允许输出端/编程脉冲输入端。正常时,连续输出振荡器频率的 1/6 正脉冲信号。访问片外存储器时:作为锁存P0 口低 8 位地址的控制信号。对 89C51 片内 ROM 编程写入时:作为编程脉冲输入端。PSEN(29 脚):外部程序存储器读选通输出信号。访问片外 ROM 时,输出负脉冲作为读 ROM 选通.常连接到片外 ROM 芯片的输出允许端(OE)作外部 ROM 的读选通信号。EA/Vpp(31 脚):外部程序存储器地址使能输入/编程
22、电压输入端。平常,接“1”时,CPU 访问片内 4KB 的 ROM,本地址超 4KB 时,自动转向片外ROM 中的程序。当接“0”时,CPU 只访问片外 ROM.第 2 功能 Vpp 对 89C51 编程时,编程电压输入端。3.端口线(48=32 条)4 个 8 位的并行输入/输出端口,共32 个引脚。作为通用输入/输出端口,P0、P2和 P3 端口又各自有第 2 功能。(1)通用输入/输出端口准双向口:作输入时要先对锁存器写“1”.P0 端口(P0.0P0.7,第 3932 脚):P0 口作通用 I/O 口,是一个准双向口。地址为 80H。输出漏极开路,可驱动 8个 74LS 类型的 TTL
23、 门电路。分时复用的地址/数据总线:外部扩展时,MOVX 或MOVC 指令):P0 口一方面输出低 8 位地址,由地址锁存器(74LS373)在 ALE 号作用下锁存(A0-A7)。然后 P0 口就作为双向的数据总线(D0-D7)使用。P2 口输出高 8 位地址(A8-A15).P1 端口(P1.0P1.7,第 18 脚):8 位准双向口,只作通用输入/输出口使用。输出可以驱动4 个 74LS 类型的 TTL门电路。P1 口作为一个特殊功能寄存器,和内部RAM 统一编址,地址为90H。它可进行字节操作,用直接寻址方式,也可以按位操作,用位寻址方式。P2 端口(P2.0P2.7,第 2128 脚
24、):P2 口作通用 I/O 口:是一个准双向口。地址为 A0H。可驱动 4 个 74LS 类型的TTL 门电路。P2 口作高 8 位地址总线:外部扩展时,(MOVX 或 MOVC 指令):P0 口分时复用作;低位地址(A0-A7)数据总线(D0-D7)用。P2 口输出高 8 位地址A8-A15.P3 端口(P3.0P3.7,第 1017 脚):P3 口作通用 I/O 口:是一个准双向口。地址为 B0H。输出可驱动 4 个 74LS 类型的 TTL 门电路。(2)P0、P2、P3 端口的第二功能P0端口:在CPU访问外部存储器或I/O接口时,P0口分时提供低8位地址(A0-A7)和 8 位数据(
25、D0-D7)总线。这时,需要一个 8 位锁存器,运用 ALE(地址锁存允许)来锁存P0 口低 8 位地址信号。P2 端口:在CPU 访问外部存储器或 I/O 接口时,P2 口提供高 8 位地址(A8-A15)的总线信号。P3 端口:在 CPU 访问外部存储器或 I/O 接口时,P3 口提供读、写控制总线信号。还提供串行通信、外部中断、计数器的外部计数输入信号等。如表 4-1 所示。表 4-1P3 口的第二功能口线P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7信号RXDTXDINT0INT1T0T1WRRD功能串行口数据输入(接受数据)串行口数据输出(发送数据)外部中断 0 输
26、入外部中断 1 输入定期器 0 的外部输入(计数输入)定期器 1 的外部输入(计数输入)外部数据存储器写选通控制输出外部数据存储器读选通输出控制4.24.2 显示模块显示模块本设计的显示模块有三个 LED 数码管及两个发光二极管组成,数码管涉及两个二位数码管及一个一位数码管,皆为共阴极显示,其中两个二位数码管分辨用于现实小时及分钟,一位的数码管用于现实星期几,两个发光二极管在时与分之间,每秒闪动一次。显示部分的电路图如图 4-4 所示:图 4-4 显示模块电路4.2.14.2.1 显示功能及实现显示功能及实现显示模块可以分为三个模式,分别为平时模块、设定模块浇水模块。平时模块用于在平时不进行设
27、定期显示当下时间与星期。设定模块在要对浇水的时间及时长进行设定期现实需要设定的天天开始浇水的时间以及每路浇水的时长,设定天天浇水时刻时,星期位显示“8”,分别按动按键设定小时与分钟,此时两个秒 LED9 和 LED10 还是正常闪的。在对每路浇水时长进行设立时,LED9 和 LED10 是不亮的,星期位显示“9”,时+5V16LED1134712658LTBIABCDLEGNDVCCLED12aab fgcdbabcdefgdpafgb fagcdbabcdefgdpLED13afedgcbQAQBQCQDQEQFQG1312111091514R21R22R23R24R25R26R27R286
28、060606060606060abcdefgdpfgedceedceCD4511C130pfQ18550Q28550Q38550Q48550Q58550C230pf与分的四位都表达时长,范围为 09999 秒。上述功能的实现皆通过编程来完毕,由时钟电路提供频率,单片机内部的定期计数器在通过一秒后在 P2.7 端口输出一个高电平,LED9 和 LED10 导通,变亮;随即P2.7 端口在下一个频率时就变回低电平,LED9 和 LED10 就熄灭,这样在每个秒周期 LED9 和 LED10 将会闪动一次。显示功能的程序实现将在下一章软件设计中介绍。4.2.24.2.2 数码管介绍数码管介绍本设计的
29、 显示模块采用两个二位数码管与一个一位数码管来显示,都为共阴极连接方式。通过 CD4511 的译码输入到阳极端,阴极由 P2.1-P2.6 控制,其中为低电平时,数码管选通,由于是高频动态扫描显示,并且程序加以视觉余辉的延时程序,便可以完毕所需要的显示。下面介绍 CD4511 与数码管的具体功能。图 4-5 CD4511 的引脚图(1)CD4511 的简介CD4511 的引脚图如图 4-5 所示:34712658LTBIABCDLEGNDQAQBQCQDQEQFQGVCC131211109151416这个片子是一个用来驱动共阴极 LED 数码管显示器的 BCD 码-七段码译码器。CD4511
30、引脚功能介绍:BI(4 脚):是消隐输入控制端,当 BI=0 时,不管其他输入状态如何,七段译码管均处在熄灭(消隐)状态,不能显示数字,因此正常时直接接高电平。LT(3 脚):为测试输入端,当 BI=1,LT=0 时,译码输出全为 1,不管输入ABCD 的状态如何,七段均发亮,显示数字“8”,它是用来检测数码管是否损坏。LE:所存控制端,LE=0 时,才允许译码输出。当LE=1 时,译码器是锁存保持状态,译码器输出将会被保持在 LE=0 时的数值。A、B、C、D:为 BCD 码输入端。QA、QB、QC、QD、QE、QF、QG:为译码输出端,输出为高电平 1 有效。R U U15V 0.7V 2
31、87I115mA由于数码管电压一般用 0.7V 而电流最大15mA,所以可计算限流电阻 R:(4-1)而本设计以动态扫描的方式显示,那么每位的显示时间在一个扫描周期中实际只占 1/5,数码管得到的平均电流也只有点亮时驱动电流的1/5,所以本设计中限流电阻R21-R28 选用 60 的电阻。(2)LED 数码管的简介作为本设计显示模块的表现部分,选择了两个二位数码管和一个一位数码管,都为共阴极连接,输入端 a,b,c,d,e,f,g 与 CD4511 的输出端 a,b,c,d,e,f,g 相相应连接,小数点 dp 连接到 89C51 的 P2.0 端口,由于采用高频动态扫描于视觉余辉的效果,便可
32、以达成所规定的显示效果,又由于阴极都分别连在 P2 口的端口上,这些端口负责选通小时高低位、分钟高低位、星期位的显示。P2.1-P2.6 信号为 0 时,选通。下面简朴的介绍二位数码管。二位数码管的引脚图如下所示:图 4-6 二位数码管的引脚图两个数字的阳极都连接到 CD4511 相应的输出,而 3,4 脚则负责选通那个数字显示。此外,为了使数码管更亮一些,此处选用五个 PNP 三极管起放大作用,型号为普通高频放大 PNP8550 三极管,在秒信号的放大上,由于是 P2.7 高电平导通,所以选用普通低频放大 NPN9013 型号的三极管,为保护三极管,将采用五个限流电阻接在 P2.1-P2.6
33、 与三极管之间。通常选用 1k-10k 之间,本设计采用 1k 的电阻。与 NPN之间由于要有 0.7 的压差,所以选用更大的电阻此处选用2.2k 的电阻。三极管到两个秒信号之间,仍用 300 的做保护发光二极管。由于 89C51P0 口内部没有上拉电阻,P0 口是一组 8 为漏极开路双向 I/O,没有电源不能输出高电平,不用上拉电阻是不能工作的,所以 P0 口要加上拉电阻。这样还能让输出高电平信号更稳定,根据一般规律,此处 R17-R20 选用 1k 的上拉电阻。4.34.3 时钟电路及复位电路的设计时钟电路及复位电路的设计AT89C51单片机各功能部件的运营都是以时钟控制信号为基准,有条不
34、紊的一121078569abfcdeefgdpagcdb fagcdbe3排一排的工作,因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常见的时钟电路设计有两种方式,一种是内部时钟方式,另一种是外部时钟方式。44.3.14.3.1 时钟电路时钟电路(1)内部时钟方式89C51 内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片引脚 XTAL1,输出端为引脚 XTAL2,这两个引脚跨接石英晶体振荡器(简称晶振)和瓷介电容,就构成一个稳定的自己振荡器,图 4-7 为 89C51 内部时钟方式的振荡器电路。图 4-7 89C51 时钟方式的振
35、荡电路电路图中的电容 C1 和 C2 典型值通常选择为 30pF 左右。对外界电容的值虽然没有严格的规定,但电容的大小会影响振荡器频率的高低、起振的快速性和振荡器的稳定性。晶振的振荡频率范围通常是选在 1.2MHz-12MHZ 之间,本设计选用 12MHz 的晶振。晶振的频率会越高,则系统的时钟频率也就越高,单片机的运营速度也就越高。但是反过来运营速度快对存储器的速度规定也就越高,对印刷电路板的工艺规定也相应的高,即规定线间的寄生电容要小;晶振和电容要尽也许安装的跟单片机芯片靠近,这样可以减少寄生电容,能更好的保证振荡器稳定、可靠地工作。(2)外部时钟方式外部时钟方式是使用外部振荡脉冲信号,常
36、用于多片 89C51 单片机同时工作,以便于多片 89C51 单片机之间的同步,一般为低于 12MHz 的方波。外部时钟源直接接到 XTAL2端,通过 XTAL2端输入到片内的时钟发生器上。电路如图 4-8 所示。由于XTAL2的逻辑电平不是 TTL,故建议接一个4.7-10k的上拉电阻。本系统只用到一片单片机芯片,不存在同步的问题,因此采用内部时钟方式。图 4-8 外部时钟方式振荡电路4.3.24.3.2 复位电路复位电路计算机在启动时,系统进入复位状态。在复位状态,CPU 和系统都处在一个拟定的初始状态或成为原始状态,在这种状态下,所有的专用寄存器都赋予默认值。单片机复位电路涉及片内、片外
37、两部分,片外复位电路通过引脚加到内部复位电路上,内部复位电路在每个机器周期 S5P2 对片外信号进行一次采样,当 RST 引脚上出现连续两个机器周期的高电平时,单片机就可以完毕一次复位。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的,AT89C51单片机通常采用上电自动复位和按键手动复位两种方式。上电自动复位电路在通电瞬间,在RC 电路充电过程中,RST 端出现正脉冲,从而使单片机复位。按键手动复位电路可分为按键电平复位及按键脉冲复位两种,按键电平复位是将复位端通过电阻与 Vcc 相连,而按键脉冲复位电路是运用 RC 微分电路产生的正脉冲来达成复位目的。本设计采用按键脉冲复
38、位,电路如图 4-9 所示。图 4-9 复位电路根据只要电容充电时间大于两个机器周期以上的时间,就能复位的原则,t=RC(其中电阻单位欧姆,电容单位法拉,时间单位秒),选取电容为22uf,电阻 R2为200。其中电阻 R1为了保护电容而加入,5V 本已小于 C3的击穿电压,故在此,R1可选用常用的1k 的电阻即可。4.44.4 键盘输入模块键盘输入模块本设计采用的是独立式非编码键盘的接口电路,连接如图4-10所示。图4-10 键盘电路图中的每个按键均和89C51的 P3口中一条相连。若没有按键按下时,89C51从 P3口读得引脚电平平均为“1”(+5V);若某一按键被按下,则该键所相应的端口线
39、变为低电平。单片机定期对 P3口进行程序查询,即可发现键盘上是否有按键按下以及哪个按键被按下。从而通过程序执行相应的操作。这五个按键实现的功能分别如下:AN1按下,对系统时间小时位进行调整;AN2按下,对系统时间分钟位进行调整;AN3按下,对系统时间星期位进行调整;AN4按下,一次时,对浇水时间进行设定,再通过AN1和 AN2对需要的小时与分钟进行设定;AN4按下两次时,为对浇水时长进行设定,范围为09999,AN1调整千位和百位,AN2设定十位和个位;按下三次回到正常系统显示;AN5按下,是为了点亮星期位的小数点,表达此天不浇水,其在 AN3调整到不需要浇水的天时按下,来点亮此天的小数点位。
40、虽然89C51的 P3口内有上拉电阻,可以不用外界电阻,但是为了增强抗干扰的能力,本设计在按键电路上都接上一个上拉电阻,大小仍按习惯选用1k即可。4.54.5 浇水模块设计浇水模块设计作为系统的最终执行模块,本设计选取实现八路自动浇水的功能,在系统设立好天天浇水时间与每路浇水时长后,定期器将会在设定期间开始浇水,每路依次浇水,浇水的出口,是采用浇灌还是喷灌,由用户根据具体情况自行选用安装,水量结合设立的浇水时长与选用的水源及管道大小来具体设立。4.5.1 ULN28034.5.1 ULN2803的介绍的介绍浇水开关采用继电器的设计,因此选用了一个ULN2803,它是驱动用集成电路,片内有8路驱
41、动器。脚1、2、3、4、5、6、7、8分别是这8路驱动器的输入,输入信号可直接是 TTL 或 CMOS(5.0V)信号。脚18、17、16、15、14、13、12、11分别是8路驱动器输出。输出是 OC 门,集电极 VCE=50V,驱动电流500MA。可直接驱动灯或感性负载继电器等。常连接在阵列非常适合逻辑接口电平数字电路(例如 TTL,CMOS或 PMOS 上/NMOS)和较高的电流/电压,如电灯、电磁阀、继电器、打印锤或其他类似的负载,广泛的使用范围:计算机、工业和消费应用。片内8路输出都代有续流二极管,从10脚并联接出。作用是为了防止继电器断开时产生的反向高压损坏89C51。使用时9脚接
42、地,驱动继电器时10脚接继电器驱动正电源。例:第一路1脚输入,那么18脚就是输出,驱动继电器,继电器线圈一端接继电器电源正,继电器线圈另一端接18脚。1脚加高电平,继电器就吸合。其引脚图如图4-11所示:181716151413121110VCCGND123456789图4-11 ULN2803引脚图引脚功能如下:1-8 引脚:输入端11-18 引脚:输出端9 引脚:地端10 引脚:电源+10 脚接正极,9 脚接地,1 进 18 出,2 进 17 出,3 进 16 出,以此类推共 8 路。4.5.24.5.2 浇水功能的实现浇水功能的实现通过上述 ULN2803的介绍,它是一个反向器的作用,设
43、定的浇水的一天到了浇水时刻时,P1.0-P1.7输出10000000,ULN2803的1口输入高电平,相应的18脚输出低电平,继电器K1得点,一路开始浇水,显示模块显示浇水倒计时,倒计时为 0000后,P1.0-P1.7输出01000000,从而使第二路开始浇水,以此类推,完毕八路自动浇水后,重新显示当前时间。浇水电路如图4-12所示。其中二极管起到在 ULN2803输出电压发生波动时,保护继电器的作用,所以选择普通的整流二极管 H1N4001,发光二极管是在继电器导通时随之导通显示本路浇水,其中 R9-R16为发光二极管的限流电阻,在上述计算中取大于287 的就可,本处选用1k 的作为限流电
44、阻。V D1 4 0 0 1+5 VK 1R 91 kV D24 0 0 11 8K 2R 1 01 kV D34 0 0 1LE D21 71 61 51 41 3K 3R 1 11 kV D44 0 0 1LE D31 21 1LE D1+5 V10912345678U LN 2 8 0 3图4-12 浇水控制电路4.64.6 电源的设计电源的设计稳压电源是单片机系统的重要组成部分,它不仅可为系统提供多路电源,还直接影响到系统的技术指标和抗干扰性,是电路设计中非常关键的一个环节。直流电源电路一般由电源变压器、整流滤波电路及稳压电路所组成。如图4-13所示。图4-13 直流稳压电源基本组成电
45、框图整流电路的作用是将交流电压 U1变换成脉动的直流 U2,它重要有半波整流、全波整流方式,可以由整流二极管构成整流桥堆来执行,常见的整流二极管有1N4007、1N5148等,本设计选用1N4007,桥堆有 RS210等。滤波电路作用是将脉动直流 U2滤除纹波,变成纹波小的 U3,常见的电路有 RC 滤波、KL 滤波、型滤波等,常用的选 RC 滤波电路。其中它们的关系为:Ui nU1(4-2)其中,n 分别为变压器的变比。U2(1.11.2)U1(4-3)每只二极管或桥堆所承受的最大反向电压URMURM2U1(4-4)RC 滤波电路中,C 的选择应适应下式,即 RC 放电时间常数应满足:RC=
46、(35)T/2(4-5)式中 T 为输入交流信号周期;R 整流滤波电路的等效负载电阻。稳压的作用是将滤波电路输出电压经稳压后,输出较和稳定的电压。常见的稳压电路有三端稳压器、串联式稳压电路等。电源电路图如图 4-14 所示。图 4-14 电源电路一个稳压电源输出电压和最大输出电流决定于所选择的三端稳压器。而三端稳压器是一种标准化的、系列化的通用的线性稳压电源集成电路,本设计中采用+5V 电压所以选用 LM7805稳压器。它具有很好的电压输出精度和稳定性,内部有过流、热过载及输出晶体管安全区提供保护功能,电路使用起来安全可靠。220V 的交流电压通过变压器变化为交流的低压,然后再通过桥式整流电路
47、的整流和滤波电容 C4滤波阶段,将会在 LM7805的 Vin和 GND 两端形成一个并不是十分稳定的直流的电压,该电压经常会由于市电压的波动或负载的变化而发生相应的变化。此直流电压在通过LM780511GNDVinVout3+5V220V50Hz8V42C42000uF1N400743C50.1uF2C6100uFC70.1uFLM7805的稳压和电容 C6的滤波作用后便在稳压电源的输出端产生了一个精度高且稳定性好的直流输出电压,这个最终的稳压电压可作为 TTL 电路或者单片机电路的电源。第五章 系统的程序设计系统软件部分的设计,是实现系统功能的核心部分,通过编程来完毕所需要的各种功能,是单
48、片机学习的基础。为了更好的实现编程逻辑,就要先画程序框图来帮助理清,下面将分几个模块的程序框图来了解程序的逻辑。5.15.1 系统时间显示系统时间显示本模块将用到定期控制器,本设计通过定义 TINER0中断产生50ms 定期,由 flag累计定期,20个为1s。程序框图如图5-1所示。开始否flag=20?flag=0是秒加 1,LED9、10 闪flag 加一否秒=60?是秒清零,分加一否是分=60?分清零,时加一否时=24?是时清零,星期加一否是星期=8?星期归一图 5-1 正常模式下系统时间显示程序框图5.25.2 键盘控制时间设立键盘控制时间设立系统键盘模块共设计 AN1-AN6 六个
49、按键,AN1-AN3 负责时间校对,结合 AN4、AN5 按实现浇水时间设立,AN6 为复位按键。框图分为校对系统时间和设立浇水时间两个模块来介绍。5.2.15.2.1 按键校对系统时间按键校对系统时间正常模式,等待按键按下是否有按是否否AN1是AN2否小时加 1是否小 时否分钟加 1AN3是是否星期加 1AN6分 钟否是小时清零否初始化系星 期是分钟清零星期归 1显示系统时间图 5-2 正常模式下按键校对系统时间程序框图5.2.25.2.2 按键设立浇水时间按键设立浇水时间正常模式,等待按键按下否是否有按显示系统时间是AN3否是否AN4否是是否一次?否两次?是是否AN5AN1否AN1否是否否
50、AN2AN2设立浇水时间设立浇水时长星期加 1AN4是是点亮小数小时加前两位1,并执是是点,此加 1,后两位分钟加行校时并执行1,并执行校时加 1,并执行图 5-3 设立模式下按键调整浇水时间程序框图5.35.3 浇水执行程序框图浇水执行程序框图正常模式,显示时间是是否届时?是今日浇水?否否倒计时=0?是否倒计时重置是倒计时=0?否倒计时重置3 路浇水,显示倒计时倒计时减 12 路浇水,显示倒计时倒计时减 11 路浇水,显示倒计时是倒计时=0?否倒计时重置倒计时减 14 路浇水,显示倒计时是倒计时=0?否倒计时重置5 路浇水,显示倒计时倒计时=0?是否倒计时重置6 路浇水,显示倒计时倒计时=0