综合以上这两种方案的比较,方案一占有很大的优势。因此,为了避免电路太过复杂,又能够有效的节约成本,从而选择方案一。
2.2 系统的整体介绍
根据本设计的要求,本人在开始设计之前认真研究并构思出了大体的系统流程。本设计方案是把单片机STC89C51当做控制核心,而且能够将每个传感器收集到的信号和数据进行综合分析,从而是系统能够按照既定的要求顺利运行。下图是该系统总体的框架图2-1。
图2-1 系统总体框架图
2.3 STC89C51单片机
单片机STC89C51RC是一种8051单片机,新一代8051单片机高速/低功耗,新生产线和简化控制结构,集成的MAX810复位电路。其主要特点是具有系统可编程,这样就能很大程度的节约成本,不需要再另外买编辑器了,而且速度也很快。下图2-2是STC89C51的外观图。
图2-2 STC89C51单片机外观图
STC89C51单片机是一款简单易学习的单片机,40个管脚,DIP封装。工作电压:5.5V-3.3V,工作频率范围为0-35MHZ,ROM为8K/16K/20K/32K等字节,内置A/D转换P0端口,10位精度ADC,共8路。共4个16位定时器,两个计数器,2个时钟输出口,7路外部中断I/0,2路PWM。价格学生可接受,适合学习开发,适合本次开发应用。
这类单片机在同样晶振的情况下,速度是普通51的8~12倍。端口引脚第二功能如表 2-1。
表2-1端口引脚第二功能
引脚 功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 INT0(外中断 0)
P3.3 INT1(外中断 1)
P3.4 T0(定时/计数器 0)
P3.5 T1(定时/计数器 1)
P3.6 WR(外部数据存储器写选通)
P3.7 RD(外部数据存储器读选通)
2.4 系统的驱动模块
方案一:L293电机驱动芯片
L293D是一款双桥驱动芯片,能够同时驱动两路直流电机或者一路步进电机,它输出的电流有600mA,可以当做数字芯片来使用。但是在同时驱动4路电机时I/O占用较多,所以不适用于本设计。
方案二:L298N驱动芯片
L298N驱动芯片是SGS公司的产品,它可以驱动两个二相电机,还能够驱动四相电机,最高能够输出50V的电压,一方面由于这类驱动芯片能够驱动的电机与本设计中的水泵大小类似。另一方面又因为这种驱动芯片的电路不复杂,而且价格合适,且自带多种功能,操作简便。
综合以上的比较,所以决定使用L298N驱动芯片。L298N驱动芯片可以驱动感性负载,如大功率直流电机等特别是其输入端可以与单片机直接相联接,因此可以很灵活方便的受到单片机的控制。此外,L298N芯片还具有如下优势:可实现电机正反转和调速、启动性能好、适用于机器人等的设计。下图2-3为该系统的驱动模块。
图2-3系统驱动模块
2.5 LCD1602液晶显示
液晶显示是一个缓慢的演示设备,所以在每个指令执行之前都要验证模块有没有已经爆掉,这并不意味着指令无效。要显示字符,必须显示字符的地址,显示字符的位置,下面的图2-4显示的就是1602的地址。
图2-4液晶内部显示地址
举个例子,如果第二行的线有一个40H的地址,那么第二行的位置可以在40个小时内直接定位吗?关于数据应该指出的是,这类数据是根据来源的参考数据计算的。