对于本设计单片机结构简单实用性强,功能齐全,技术先进,使实现这设计不 难实现。同时,C 语言是单片机的重要“组成”,如果能掌握好 C 语言编程,这将 很大程度上提高了开发效率。
在设计过程中我们采用了软硬件双结合的方式,软件设计的方法简化了硬件的 要求,为设计创造了条件。单片机采用的 STC89C51 的单片机。
1.3 课题研究的主要内容
本设计是利用 STC89C51 单片机设计一种水位控制系统。主要是基于单片机的 硬件设计以及程序设计, 包括测量电路部分、液位实时数显输出部分以及液位控制 部分,还在此基础上添加蜂鸣器。本设计只是概念性设计了电路部分,并不涉及具 体的数值设定,经过了实际应用检测。
该系统实现了水位监测,水位控制,水位显示,故障报警功能。在设计中主要 采用了传感技术、单片机技术、弱电控制强电技术、C 语言编程等技术。本文还讲 述了水位控制系统工作的基本原理,介绍了电路接口原理图,给出了相应了设计流 程图和 C 语言程序。
本文主要是为了更多得了解单片机,掌握单片机的组成部分和控制原理,最终 达到设计出“单片机水位控制系统的”的目的。实验证明,单片机控制的水位控制 系统的硬件电路简单,软件功能完善,控制系统可靠,充分发挥了单片机的性能, 可以大大的提高单片机的开发效率。
2 系统的硬件设计
本设计为一个实际应用系统的水塔水位控制部分。在此水塔水位控制系统中, 检测信号来自插入水中的 4 个金属棒,以感知水位变化情况。工作正常情况下,应
保持水位在 1 水位和 4 水位内,当水位变化发生故障的时候,及时关断电机电源, 发出声、光报警信号。系统结构框图如图 2-1。
系统结构框图
2.1 单片机的选择与介绍
中央处理器是整个设计的数据处理中心,担负着数据接收与处理、数据显示与 报警及继电器的驱动并开启电子阀门。这个中央处理器的选择应考虑价格、稳定性、 易用性等因素。这里我们选择STC89C51。
2.1.1 功能特性描述
STC89C51是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash 存储器。使用Atmel公司高密度非易性存储器技术制造,与工业80C51产品指令和引 脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单 片机上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C51为众多嵌入式控 制应用系统提供高灵活、超有效的解决方案。[1]
2.1.2 引脚来`自^优尔论*文-网www.youerw.com
P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL 逻辑电平。对P0端口写"1"时,引脚用作高阻抗输入。当访问外部程序和数据存储 器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。 在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序 校验时,需要外部上拉电阻。
P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,p1输出缓冲器能驱动4 个TTL逻辑电平。对P1端口写"1"时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流
(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和 时器/计数器 2 的触发输入(P1.1/T2EX),具体如下。在flash编程和校验时,P1 口接收低8位地址字节