【《某牧草喷灌控制系统的硬件和软件设计案例》4000字】_第1页
【《某牧草喷灌控制系统的硬件和软件设计案例》4000字】_第2页
【《某牧草喷灌控制系统的硬件和软件设计案例》4000字】_第3页
【《某牧草喷灌控制系统的硬件和软件设计案例》4000字】_第4页
【《某牧草喷灌控制系统的硬件和软件设计案例》4000字】_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

某牧草喷灌控制系统的硬件和软件设计案例目录TOC\o"1-2"\h\u244781硬件电路设计 1210371.1单片机最小系统设计 1259571.2土壤含水度检测电路设计 354391.3按键电路设计 327161.4报警电路设计 460041.5浇水电路设计 5304821.6液晶电路设计 579292软件设计 719032.1软件开发环境 7205452.2主程序设计 7182022.3显示程序设计 81硬件电路设计1.1单片机最小系统设计在控制器的选择中,本次牧草喷灌控制系统设计选择的控制器型号为STC89C52,该型号的单片机是51系列单片机中的一种,其引脚分布,程序编写等与学校课程教学的基本一致,所以选择该型号就容易上手进行操作。在封装上,其主要有DIP和SOP这两种,DIP就是直插的,SOP就是贴片的,在此选择的是DIP封装的。整个单片机一共有40个引脚,除去电源引脚外,还包括复位引脚,晶振配置引脚和IO输入输出管脚[15]。而在程序编写时,主要就是对IO管脚进行操作,整个IO管脚一共有4组,分为P0-P3,单片机虽然是8位的,但是在程序编写时除了可以直接对单个引脚进行操作外,还可以直接对一组单片机的引脚进行操作,非常方便。在指令集上完全采用MCS-51指令集,所以其库文件的使用可以直接使用它的。并且为了方便客户使用,其内部集成了8K的FLASH,来保证用户可以将程序下载到单片机里面,并且可以反复插写不会丢失。另外其还自带有多个定时器,中断,串口通信功能,方便与外部芯片进行配合使用,达到功能设计目标。图2单片机最小系统图Fig.2MinimumSystemDiagram单片机的基本组成主要包括控制器、存储器、并行I/O口、时钟电路与时序这四个部分。做为单片机的主要控制核心,控制器的作用主要是在系统工作过程中,能够对单片机传达的指令进行有效识别,同时依据命令所对应的只是来对系统中的部件功能进行控制,以此来保证单片机能够根据指令完成规定的工作需求。在整个单片机的工作系统中,所有的指令都是在控制器的作用下实现信息的传输以及接收。控制器在实际工作过程中,将系统存储器中的指令进行传输,并传输至寄存器中进行相应的存储工作。在单片机电路中,晶振是必不可少的,因为单片机中程序的运行,是有一定的基准的,而这基准51系列单片机中是由晶振来决定的。比如最简单的一条赋值指令,其需要一个周期的时间,而这个周期要多久,就由采用多少频率的晶振来影响。比如在此选用的是12MHZ晶振,那么其产生的震荡波形会经过单片机的XTAL1和XTAL2引脚连入单片机中,然后对其12分频以后,来作为单片机运行的基准频率,因此上诉的一条指令运行的时间也就是1微秒。同时还需要对其增加两个电容,以增加其运行时的稳定性。除晶振电路之外,复位电路也是必须的。顾名思义,复位电路,就是可以将单片机的程序从头开始运行的电路。由于在单片机上电的瞬间,其电的上升状态是不定的,此时的程序是很容易跑乱的,所以芯片的设计者预留了RST复位引脚,只有当该引脚进入高电平时程序才正常工作,否则程序会一直停留在初始状态。所以利用如图所示的复位电路,当上电瞬间,由于电容的作用,复位引脚与GND连接变低,当上电完成后,电容充满电,该引脚变高,程序重新开始运行。另外,还加入了按键,用于进行手动复位,当人工按键按下时,复位引脚变低,系统复位,按键松开则重新开始运行程序。1.2土壤含水度检测电路设计在此需要实现对土壤含水度的检测功能,对于土壤含水度的检测主要是通过传感器来实现,而对于传感器的选择有多种形式,有集成的IC,也有分立的模拟器件。在此选择的是通过分立器件YL-69进行土壤含水度检测,YL-69土壤含水度检测模块会随着土壤含水度的变化而自身的阻值变化,因此通过将其使用到固定的电路中,通过检测其电压点就可以判定土壤含水度的大小。由于本次采用的是单片机本身不自带有ADC模数转换功能,所以在此通过使用ADC0832模数转换器来实现对该点电压的检测以实现对光照强度的检测,对于ADC0832,其是一款8位的模数转换器,在封装上有SOP和DIP的形式,引脚数量为8个,其具有两个模拟信号的输入通道CH0和CH1,其输入信号的电压范围不能超过电源供电电压。单片机通过与其时钟引脚,数据引脚,使能引脚连接,来进行控制,根据其时序控制要求,将输入的模拟量转换成数字量后进行读取,然后通过换算得到输入值的大小。在控制中,需要注意的是,ADC0832的转换是需要时间的,所以读取速率不能太快,否则会读取的数据错误,对于通道的选择也是通过内部程序的寄存器来进行配置,以此来设定采样哪一个通道的值。图3土壤含水度检测电路Fig.3Soilwatercontentdetectioncircuit1.3按键电路设计按键电路根据材料的不同可以分为塑料、金属等多种类型。在按键状态效果上则可以分为单次触发、自锁按键、多状态按键、矩阵键盘等多种类型。在此次系统设计中选用简单的单次触发按键,一旦按下按键,系统两端导通连接,相反一旦松开就实现系统断开的目的。单片机系统在运行中只需要通过检测按键的引脚处高低电平的变化情况就可以来对按键是否按下进行相应的判断,按键电路可以根据系统设定的程序来相应执行相关操作。在本次牧草喷灌控制系统的设计中,为了能够便于用户在实际应用中,对于系统功能性的输入进行选择,需要利用人机交互接口的设计。而按键电路则是实现这一目的的主要手段之一。按键电路在实际生活中应用广泛,例如手机按键、电脑键盘,电子产品均是通过设计按键电路来实现用户功能性的选择。此次牧草喷灌控制系统的设计中,具体的按键电路如图4所示,K2按键为设置功能按键,用来进行切换含水度上限值下限值,K3是增加,K4是减少。图4按键电路Fig.4Keyboardcircuit1.4报警电路设计蜂鸣器控制电路如图5所示,单片机的IO口主要是通过三极管来对蜂鸣器进行控制,而为什么要通过三极管来控制呢,是因为对于蜂鸣器来说,其作为发声器件,其正常工作时需要有一定大小的电流才能发出声音,电流越大,声音越大。而单片机管脚本身的输出电流很小,通常是只有几个毫安,因此是无法直接驱动的,所以就通过三极管来作为放大电路,通过构建电流放大的形式,来控制蜂鸣器,以此来达到单片机控制蜂鸣器发声的目的。并且,还可以通过不同的开关频率来使得蜂鸣器产生长短不一的声音,因为声音的本质是震动,震动的频率不一样产生的声音就不一样,所以可以根据需要来产生不同的声音,以应对不同的场合图5报警电路图Fig.5Alarmcircuitdiagram1.5浇水电路设计在本次牧草喷灌控制系统需要实现浇水的功能,但是对于该功能单片机是无法通过引脚来直接进行控制的,因此在此选择了继电器来间接控制。继电器是一种可以实现电磁能量转换的元件,在参数上主要有驱动电压,隔离电压,维持电压等,在结构上则包括动作臂,线圈,铁柱等等,在功能上主要是实现以弱电控制强电的作用。同时由于单片机引脚的输出电流能力很小,所以还要进一步的通过三极管来控制继电器,当单片机输出高时,此时三极管进入开通状态,继电器的驱动线圈导通,动作臂进行动作来使得外接的设备工作,反之,当单片机输出低时,则三极管进入截止状态,继电器断开连的设备。图6浇水电路Fig.6Wateringcircuit1.6液晶电路设计在显示方案的选择上,本文是选择LCD液晶来作为显示设备。对于LCD液晶显示器来说,其有多种不同的尺寸和分辨率,在选择上需要根据实际情况进行选择。比如在公共场合就会选择大尺寸高清晰度的,而在一些小型设备上则需要体积较小,价格便宜的。结合本次设计的课题需求,在此对于显示的要求并不高,因此最终选择了LCD1602来作为液晶显示设备。其实从其型号名字就可以大致看其分辨率信息,该液晶一共可以显示两行,每一行则可以对十六个字符进行显示。显示的字符信息可以是数字,也可以是英文或者是定义的一些特殊字符,但是不能是中文。在控制引脚上,其引脚看起来比较多,但时间控制并不复杂,首先就是其电源供电引脚,供电的电压范围比较宽,在3到5V之间都是可以的,但是为了其显示效果好,要求供电电源的电流有一定的供电能力。其次就是数据引脚,其数据引脚为D0-D7这8个引脚,单片机是通过这8个引脚将显示的数据传输到液晶上,当然是需要按照一定的规则的,而这个规则就是通过液晶的RW,RW,EN引脚去控制,在液晶数据手册上对具体要求都有进行了要求。因此需要按照要求去编写程序来进行控制,以达到显示正确结果的目的。同时还要注意的是,该型号的液晶具有背光条件引脚VO,需要通过外部电阻分压的形式给其一个合适的电压,用来调节对比度,其才能较好的显示信息。图7液晶电路图Fig.7LCDcircuitdiagram2软件设计2.1软件开发环境系统设计过程中,除了要对系统中各个硬件模块进行设计之外,还需要完成系统软件的编写工作。此次系统的设计过程中,采用单片机作为系统的主控模块,在软件程序的编写过程中,也要相对应的选用相匹配的软件程序开发平台来进行软件设计工作。一般来说,与单片机相匹配的软件开发平台有KEIL,IAR等。此次设计选用的是KEIL软件开发设计平台。KEIL软件内部集成多种库文件,例如51单片机、stm32单片机库文件等。软件编写过程中,可以直接进行编写然后进行相对应的编译,随后即可将生成的文件下载至单片机中去,确保单片机可以进行正常的运行工作。KEIL软件支持在线调试操作,可运用专门的在线调试工具对单片机内部的数据进行实时的检测操作,同时可以设置断电来逐步进行程序的运行工作,便于用户在操作过程中对程序进行调试工作,KEIL软件的页面如图8所示。图8KEIL开发平台Fig.8KEILDevelopmentplatform2.2主程序设计首先,初始化各个模块及其引脚,配置蓝牙,如果蓝牙成功连接则根据无线接收模块接收到的数据进行处理,详细流程如图9所示。图9主程序流程图Fig.9Mainflowchart2.3显示程序设计在显示方面,在此选用了LCD1602液晶,在编写其程序时需要按照其控制协议进行,其数据引脚有8个,控制引脚有3个,在控制时首先需要对液晶进行初始化,设置好液晶的初始化状态,然后准备写入数据,如果当前液晶不忙,则向其写入数据,直到一行写完,然后开始写第二行,直到全部写完为止。其具体流程如下:图10显示程序流程图Fig.10Displayprogramflowchart2.4含水度检测程序设计

温馨提示

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

评论

0/150

提交评论