毕业设计(论文)-基于单片机的排种器性能监测系统设计.doc_第1页
毕业设计(论文)-基于单片机的排种器性能监测系统设计.doc_第2页
毕业设计(论文)-基于单片机的排种器性能监测系统设计.doc_第3页
毕业设计(论文)-基于单片机的排种器性能监测系统设计.doc_第4页
毕业设计(论文)-基于单片机的排种器性能监测系统设计.doc_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文(设计)诚信声明本人声明:所呈交的毕业论文(设计)是在导师指导下进行的研究工作及取得的研究成果,论文中引用他人的文献、数据、图表、资料均已作明确标注,论文中的结论和成果为本人独立完成,真实可靠,不包含他人成果及已获得青岛农业大学或其他教育机构的学位或证书使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。论文(设计)作者签名: 日期: 年 月 日 毕业论文(设计)版权使用授权书本毕业论文(设计)作者同意学校保留并向国家有关部门或机构送交论文(设计)的复印件和电子版,允许论文(设计)被查阅和借阅。本人授权青岛农业大学可以将本毕业论文(设计)全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。本人离校后发表或使用该毕业论文(设计)或与该论文(设计)直接相关的学术论文或成果时,单位署名为青岛农业大学。论文(设计)作者签名: 日期: 年 月 日指 导 教 师 签 名: 日期: 年 月 日目 录摘 要IAbstractII1绪论11.1研究目的和意义11.2国内外排种器性能监测系统的发展11.3设计研究内容32系统总体方案设计52.1设计方案的选择52.2总体设计方案63监测系统设计93.1光电传感器基本原理93.2镜反射式光电传感器94控制系统设计114.1 AT89C51单片机芯片的主要特性114.2单片机最小应用系统114.3外部中断设计135定时系统设计155.1 8253芯片引脚及内部结构165.2 8253编程185.3时钟信号电路设计216报警、显示及位置标记功能设计256.1报警电路256.2 LED显示模块266.3漏播位置标记模块277 总结317.1 设计内容总结317.2 存在问题及其改正31参考文献34致 谢35附录1控制源程序36附录2实物图与整体电路图39II基于单片机的排种器性能监测系统设计摘 要播种是种植业重要的作业环节之一。播种机工作性能的优劣直接影响到播种作业生产率及谷物出苗的质量。排种器是播种机的核心部件,其作用主要是将种子匀速连续、完好无损地按照需要进行播种,排种器的性能对播种的质量起着决定性的作用。本文设计了一种用于排种器的自动监测装置,主要是针对像玉米、大豆等需要精密播种的作物进行监测,并模拟了6个播种通道。采用光电传感器对播种状况进行实时监测,测到信号后送给定时器计时,超过设定时间说明出现漏播,进行初级报警并使电磁继电器带动电磁铁动作撒下有色粉标记漏播位置,同时产生外部中断送给单片机,将漏播次数加1,当漏播次数过多时就启动二级报警,提醒驾驶员注意,并实时显示漏播次数。本文选择的主控芯片是AT89C51,定时芯片采用8253,传感器采用镜反射式光电传感器。系统硬件由传感器检测电路、单片机智能控制单元、CLK信号发生电路,报警电路和电磁铁动作电路五部分组成。系统软件由定时计数器模块、键盘显示模块、中断模块等构成。关键词:精密播种;排种器;光电传感器Design of Performance Monitoring on Metering Device Based on SCMAbstractSeeding is one of the important work in the planting. The productivity of seeding and the outgrowth rate of crop will be directly affected by the performance (capability) of sowing-machine. Metering-device is the core part of the quality of planting. Its role is to seed uniformly, continuously and intactly as needed. The performance (capability) of metering-device plays decisive role in the quality of planting.In this paper, an automatic control device for metering-device was designed.it mainly motored crops those needed to be sowed precisely,such as corn, soybean, and so on. And six sowing channels was simulated. Photoelectric sensor was used to monitor the sowing conditions. The signal was then transmitted to the timer after detected. If it was more than the set time, it indicated there was a leakage of sowing, and the primary alarm was made, then the electromagnet was droven by electromagnetic relay to sprinkle pigmented powder to mark the location. And at the same time, external interrupt was generated and transmitted to the SCM, the times of leakage plused 1. The secondary alarm would be made to remind the driver if there was too many leakages, and the times of leakage would be displayed. The chip AT89C51, timing chip 8253, mirror reflex photoelectric sensor were used in this paper. The system hardwares were composited of sensor detect circuit, intelligent control unit, CLK signal generate circuit, alarm circuit and electromagnet circuit. The system softwares consisted of timing module, counting module,keyboard and display module, interrupt module, etc.Key words: Precision-seeding Metering-device Optical-electric sensor青岛农业大学机电工程学院本科毕业设计(论文)1绪论1.1研究目的和意义在农业生产过程中,播种是最基本也是最重要的一环。它要求在有限的播种农时内,根据农业要求对种子实施作业。播种机是执行播种作业的主要机具,其性能好坏直接关系到农作物的生长和产量。而排种器是播种机上的重要部分,其性能的好坏直接决定播种机性能的好坏,影响播种质量。因此对排种器性能进行充分的监测,保证其性能优质可靠,是保证播种机质量的重要的一环。精密播种已成为播种技术发展的一个重要的方向。单粒精密播种不仅可以节约种子,节省工时,有利于田间管理,而且能使种植作物时所需的资源(如种子、肥料、水等)得到充分的利用,从而能大大提高作物的产量。在国外,对玉米、大豆等作物普遍采用精密播种。在我国,精密播种技术也是近年来农业部大力推广节本增效工程技术的主要内容之一。但是就目前国内外使用精密播种机的情况来看,现有的精密播种机的性能还不能完全满足农艺上的需要,还需要不断的研制新型的精密播种机。特别是在我国,各种精密播种机的研制大多还处于探索和试验阶段。即使目前己投入使用的精密播种机,也还存在许多有待改进的问题。在排种器的设计和试验过程中对其排种性能进行精确、高效的监测,则是研制高性能精密播种机的重要保证。因此,本次设计就针对玉米、大豆等需要精密播种的作物设计了一种简单的排种器排种性能的监测装置。采用光电传感器对播种的作物进行监测,出现漏播后进行初步报警,并在漏播位置及时撒下有色粉进行标记,便于农民进行补种。当漏播次数过多时启动二级报警提醒驾驶员注意。这样一来不仅提高了播种的质量,还可进行及时补种提高作物生产率,节省了农民的体力和时间可进行其他农业劳动。1.2国内外排种器性能监测系统的发展传统的排种器试验往往是测定播下种子的粒距,其中最早、使用最多的测定方法是涂黄油(或其它粘胶物料)的帆布带法1。这种方法虽然结构简单,操作方便,但是要利用黄油等粘胶物来固定种子,既浪费黄油和种子,污染环境,又操作较麻烦,而且种子不能反复使用,工作效率低。到1974年,张波屏首先在我国研制成移动式排种器试验台1。采用沙盘固定种子,不仅可以使种子回收利用,而且便于观测、取样。电子技术在精密播种机领域的应用,使精密播种机的功能更多、更完善、更能适应使用者的要求,电子监测装置在国内外已被广泛应用。美国cyclo-500型播种机上配置的电子监控系统是由传感器、光电转换线路、报警控制和信号显示装置构成2。传感器是监视仪的重要部件,其作用是将输种管中种子流动的情况变换成电信号。传感器多用光电元件安装在输种管附近,当种子通过装有传感器的种子通道时,遮住光束,使光电管发出信号,表示有种子通过,LED显示器有规律的闪亮,当某一行或者数行发生障碍时,无种子通过,LED显示器不正常闪亮,并发出报警声响。波兰科学家开发了一套装备UKS-1型排种器的电子控制系统,该控制系统与S078Polonez播种机配套使用,也可用于具有相同结构的其他播种机3。如今,电子技术迅速发展,智能单片机在播种机上的应用,使得现代化的播种机监控系统有了新的发展空间,更多的研究开始利用微型单片机来控制监测装置。国内从80年代后期也开始了微机检测系统的研究。1989年北京农业工程大学电力电子学院开始将CCD (Charge-Coupled Device)用于排种器性能的检测,能够满足对精播、条播、穴播部分指标的评价4。黑龙江矿业学院针对气吸式精密播种机漏种问题,研究了以MCS -S1单片机为核心的智能化高精度漏种检测仪,对播种的全过程进行实时检测,并同步反馈漏种信息给操作手5。该检测仪利用单片机实现智能化检测,结构简单、工作可靠、轻便实用、安装方便。试验证明,播大豆的漏种检测精度达100%,播玉米的漏种检测精度达98%以上。中国农业大学的丁至成教授研制了基于单片机的排种均匀度检测仪6。该仪器以8031为中央处理器,轻便、成本较低,除能在显示设备上显示检测数据外,还能打印计算结果。利用压电式声电传感器将下落籽粒机械碰撞产生的声波转变为电脉冲,并采用放大、整形、限压电路,下落籽粒的时间间隔采用了定时/计数器计时,并通过中断方式发送到单片机实现控制。另外,黑龙江八一农垦大学张锡智、华中农业大学的王树才等人都分别以单片机为核心研制播种机排种器的性能监测系统7-8。基于计算机视觉的排种器性能检测,是一种省时省力的快速非接触检测方法,在排种器性能检测中具有重要的意义。马旭运用计算机图像处理技术,建立了精密排种器性能检测系统9。该系统通过对种子动态图像的详细分析,提出了根据播种面积和种子间距来检测排种器性能的特殊方式。李伟利用计算机视觉技术实现对精密播种机的排种检测,解决了通过直接获得种子粒间距而检测播种精度的难点问题,提出了动态图像亚拼接检测方 法10。山西农业大学的董亚峰研究了一种基于机器视觉检测的模式识别方法并行了试验验证11。以种子自身的截面积为参数,消除了从图像上看因种子重叠而造成的漏计。随着虚拟仪器的出现,排种器的性能监测技术进入了一个新的阶段。它将计算机硬件资源、仪器硬件、数据分析处理软件、通信软件及图形用户界面等有效的结合,具有传统仪器所具有的信号采集、信号处理分析、信号输出等功能。由于虚拟仪器技术可由用户定义自己的专用仪器系统,且功能灵活、测控精确、容易构建,便于与其他计算机系统和网络资源相集成,所以应用广泛12。华中农业大学工程技术学院的夏俊芳、周勇、张平华以Labview 为开发平台,建立了精密排种器漏播虚拟仪器检测系统13。通过对检测系统的标定和所测粒距样本的试验结果分析,得出了排种器的合格指数、重播指数 、漏播指数 、标准差及变异系数等排种指标。河北农业大学机电系开发完成了一套精密播种机工作性能微机化检测系统14。该系统采用光电传感器测量落种,采用电磁传感器测量排种器转速。软件采用了IBMPC 8088汇编语言,对信号进行采集、处理和分析,可测定出操作速度、排种均匀性、变异系数等参数。中国农业大学的金衡模进行了精密播种机自动监测及漏播补偿装置设计,作者采用两组传感器进行检测种子的流动,对漏播及时报警并能开启自动补偿系统15。作者还设计了空气排堵系统。通过传感器的监测,当堵塞发生时可自动报警并及时输入高压空气排出堵塞。该装置能够进一步提高播种质量,减少劳动强度,提高劳动生产率,解决了由于堵塞而带来的长期漏种现象。从以上可看出现代的检测方法已经达到一定水平,精密播种检测系统可实现精播机田间播种检测自动化、智能化,大大提高了精密播种机的播种质量。目前,大型的气J式精密播种机目前还没有普及开,简单的机械式播种机应用还比较广泛,因此国内精密播种机的研究也仅在适合国内情况下进行。目前国内大部分的研究是运用价值低廉的单片机系统进行检测和控制。在国外,精密播种机己经相当成熟,其检测控制系统也非常先进,功能齐全,性能良好,作业精度较高。1.3设计研究内容基于以上分析,本次设计集中在用光电传感器进行漏播监测,用单片机作为控制装置,对漏播进行报警并标记出漏播位置,以求较大幅度地提高精密播种机的播种质量和生产效率。设计具体包括以下方面:(1)漏播监测系统:采用光电传感器对6个通道的播种情况进行监测,由于玉米、大豆等作物本身存在一定的株距,光电传感器监测不到种子并不代表出现漏播,需定时一段时间,当超过设定时间后仍未监测到种子说明出现漏播。对6个通道进行定时,需要用两片8253芯片进行扩展。(2)自动报警和漏播位置显示系统:当出现漏播时要及时报警,用二极管显示出哪个通道出现漏播,并在漏播位置撒下有色粉进行标记。当漏播次数过多时,可能是排种管堵塞或没有种子了,则采用蜂鸣器报警,提醒驾驶员注意。(3)控制系统设计:包括器件选择、硬件电路设计、电路图绘制、单片机的外围器件的设计,这些组成一个完整的控制系统。(4)软件程序设计:为由单片机组成的排种器性能监测及报警、控制装置提供软件程序,8253初始化、外部中断和漏播次数显示程序。(5)实物制作与调试:根据选择的器件和设计内容,对器件进行焊接、组装,制作出具体实物并调试。412系统总体方案设计2.1设计方案的选择2.1.1播种的要求目前播种主要有两种形式:一种是针对小麦等作物的条播,一种是针对玉米、大豆等作物的精密播种。条播时,只要传感器检测到信号就说明出现漏播,即可给单片机发出中断请求,进行报警或其它操作。但精密播种时,作物之间本身需要一定的株距,所以当传感器监测不到种子时不能立即报警,而需要定时器进行定时,当超过设定时间后说明未播种的距离已经超过了作物的株距,发生了漏播,此时才需报警。同时不同作物生长所需株距不同,通过定时器可设定不同的时间。2.1.2器件的选择(1)控制装置的选择排种器所用的监控装置主要有几种:原始的排种器试验装置,基于电子技术的排种监控系统,用单片机控制的排种监控系统,基于计算机视觉的排种监控系统以及虚拟仪器技术监控播种机的排种。基于设计任务的需要,本次设计采用单片机最小应用系统作为漏播监测的控制装置。(2)定时芯片的选择由于播种一般都是宽幅作业,排种器监测系统需要对多个通道的播种状况进行监控。本次设计模拟了6个通道,虽然单片机本身具有两个定时/计数器,但这远不能满足设计的需要,因此采用两片8253芯片进行扩展,这样就可对6个通道分别进行定时。(3)监测装置的选择本次设计中的监测装置采用的是光电传感器,光电传感器的种类有槽形光电传感器、 对射式光电传感器、光纤式光电传感器、反射式光电传感器等,且每种传感器都有不同的类型和监测范围。基于现有实验设备的考虑,采用镜反射式光电传感器对播种状况进行监测。2.1.3报警装置及漏播位置显示在播种过程中,偶尔的漏播属于正常现象,当刚开始漏播时只需用二极管显示一下哪个通道出现漏播即可。对漏播次数进行统计,在漏播次数过多时(可能是排种管堵塞或没有种子了)再用蜂鸣器进行深度报警,提醒驾驶员注意。当某一通道出现漏播时,启动电磁继电器来控制电磁铁动作,撒下有色粉对漏播位置进行标记,便于农民及时补种。2.2总体设计方案通过以上分析,总体设计方案如下:系统硬件电路如图2-1所示,采用单片机最小系统作为控制装置,用两片8253作为6个通道的定时器,当光电传感器监测不到种子时启动定时器开始定时,在定时时间到之前有种子播下,定时器就停止工作,等待下次重新开始定时。当定时时间到后仍没有监测到种子播下说明出现了漏播,OUT端输出一个CLK信号的低电平,进行初级报警使对应通道的二极管发光并启动电磁继电器动作,撒下有色粉进行位置标记,同时向单片机发出外部中断请求,单片机接收到外部中断信号后,进行以下操作:对设定两个特殊的存储单元的内容加1,记下此次漏播,一个用于记录总的漏播次数并显示,另一个当记录的漏播次数超过一定值后就启动蜂鸣器报警同时自身值被清零,重新计数;单片机最小应用系统显示模块初级报警二级报警8253定时/计数器光电传感器排种器电磁继电器电磁铁图2-1 系统硬件电路采用单片机作为控制系统,通过编写相关程序来达到自动监测的目的,软件系统设计主程序流程图如图2-2所示。 图2-2 软件系统设计主程序流程图当有外部中断请求时,单片机会立即响应并执行相应的程序,外部中断子程序流程图如图2-3所示。图2-3 外部中断子程序流程图3监测系统设计3.1光电传感器基本原理目前,排种器性能监测方法多采用光电法,构成光电传感器的发光器件常用红外或可见光发光二极管,受光器件有光敏电阻、光敏二极管、光敏三极管、硅光电池等。光电传感器是利用光敏元件将光信号转换为电信号的装置。使用它测量非电量时,首先将这些非电物理量的变化转换成光信号的变化,再将光信号的变化转变为电信号的变化。光电传感器的这种测量方法具有结构简单、非接触、高可靠、高精度和反应速度快等特点。光电传感器在一般情况下,有三部分构成,它们分为:发送器,接收器和检测电路。原理图如图3-1所示。图3-1 光电传感器原理图发送器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)和激光二极管。接收器有光电二极管或光电三极管组成。在接收器的前面,装有光学元件如透镜和光圈等。在其后面是检测电路,它能滤出有效信号和应用该信号。此外,光电传感器的结构元件中还有发射板和光导纤维。3.2镜反射式光电传感器光电传感器的种类一般分为四种:槽形光电传感器、对射式光电传感器、光纤式光电传感器、反射式光电传感器。每种传感器的工作方式和监测范围是不同的,由于本次设计采用的是镜反射式光电传感器,现只将其性能介绍如下:镜反射式光电传感器:把发光器和接收器装入同一个装置内,在它的前方装一块镜面,利用反射原理完成光电控制作用的传感器称为镜反射式光电传感器。正常情况下,发光器发出的光被镜面反射回来被接收器收到;一旦光路被检测物挡住,接收器接收不到光时,光电开关就动作,输出一个开关控制信号。图3-2 镜反射式光电传感器图3-2就是镜反射式光电传感器。工作电压为6-36V。接通电源在无障碍物的情况下信号端输出高电平,当有障碍物时信号端输出低电平,可用来监测有无种子落下。4控制系统设计本次设计采用单片机作为控制系统,现将AT89C51单片机应用系统的性能介绍如下:4.1 AT89C51单片机芯片的主要特性AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 4.2单片机最小应用系统单片机是整个控制系统的核心部分,软件的储存测量、数据的处理执行、组件控制命令的发出等都要经过单片机,它是一个微型计算机系统,有存储、I/O、定时及中断等功能。单片机最小系统即为单片机系统能进行工作所必需的最少功能结构,其他功能都在最小系统的基础上实现。图4-1是电路原理图。图4-1 单片机最小应用系统单片机最小系统除了AT89C51芯片外,还包括一个复位电路和一个振荡电路。复位电路:复位操作有上电自动复位和按键手动复位两种方式。上电复位是外部的复位电路在系统通上电源后直接使单片机工作,单片机的起停通过电源控制。上电自动复位原理:通电时,电容两端相当于短路,于是RST引脚上为高电平,然后电源通过电阻对电容充电,RST端电压慢慢下降,降到一定程度即为低电平,单片机开始正常工作。手动复位是在复位电路中设计按键开关触发复位电平,控制单片机复位。振荡电路:振荡电路是通过晶振给单片机提供时钟周期,使单片机一步步执行程序代码,进行正常工作。单片机内部有一个用于构成片内振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体(或陶瓷谐振器)一起构成自激振荡器。图4-1中外接石英晶体(或陶瓷谐振器)以及电容或构成并联谐振电路,接在放大器的反馈回路中。电容的大小没有严格的要求,但也会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和稳定性。外接石英晶体时,和一般取30pF10pF,外接陶瓷谐振器时,和一般取40pF10pF。本系统采用11.0592MHz的晶振,电容取22pF。4.3外部中断设计当出现漏播时,就会给单片机发出中断请求,进行相关的漏播处理。AT89C51有3类5个中断源,它们分别是两个外部中断、两个定时器中断和一个串行中断。本次设计中使用的外部中断0其入口地址是0003H,外部中断0请求,由P3.2引脚输入。定时器控制寄存器TCON的中断标志:TCON是定时/计数器0和1的控制寄存器,同时也是用来存放两个定时/计数器的溢出中断请求标志和两个外部中断请求标志。该寄存器的地址是88H,位地址8FH-88H。TCON寄存器与中断有关的位如表4-1所示。其中IE0是外部中断请求标志,当CPU采样到INT0端出现有效的中断请求时,此位由硬件置1,表示外部事件请求中断。当中断响应完成后转向中断服务时,由硬件自动清零。IT0是外中断请求信号方式控制位,当IT0=1时,选择脉冲触发方式,负跳变有效;当IT0=0时,选择电平触发方式,低电平有效。表4-1定时器控制寄存器TCON的中断标志中断允许控制寄存器IE:在MCS-51中断系统中,中断的允许或禁止是由片内的中断允许控制寄存器IE控制的。IE寄存器的地址是A8H,位地址是AFH-A8H。寄存器的内容及位地址如表4-2所示。其中EA为中断允许总控制位。EA=0时,表示CPU禁止所有中断,即所有的中断请求都被屏蔽;EA=1时,表示CPU开放中断,但每个中断源的中断请求是允许还是禁止,要由各自的允许位控制。EX0是外部中断允许控制位。EX0=0时禁止外中断,EX0=1时允许外中断。表4-2中断允许控制寄存器IE中断处理过程包括中断响应、中断处理、和中断返回。本次设计采用外部中断0来响应8253的OUT端输出的信号,进行相关的中断处理,与中断有关的程序如下:ORG 0000HAJMP MAINORG 0003H ;外中断0入口AJMP INTOMAIN:SETB IT0 ;负跳变沿产生外中断SETB EA ;开总中断SETB EX0 ;开外部中断0INTO: INC 30H ;记下此次漏播 INC 31H PUSH ACC; MOV A,30H CJNE A, #100, INT0_1 MOV 30H, #0INT0_1:POP ACCRETI5定时系统设计播种机在播种时大都是宽幅作业,几行至十几行开沟器同时作业,因此排种器监测系统需要对多个通道的播种状况进行监控,在精密播种时,由于作物之间本身存在一定的株距,光电传感器监测不到种子时并不一定是出现了漏播,只有当超过设定的时间(对应作物的株距)不落种,才能判断为漏播并进行报警。行与行之间的播种是相互独立的,每行必须设置一个相对独立的定时器进行定时,以便监测是否漏播,即需要多个定时器分别进行定时。AT89C51只有两个定时器T0和T1,这在数量上远远不够,必须对定时器进行扩展。该系统采用两片8253可编程定时/计数器扩展芯片,对6个通道分别进行定时。8253可编程定时/计数器扩展口和AT89C51连接方法如图5-1所示。数据总线D0-D7与AT89C51的PO口相连接,片选信号由P1.1,P1.2控制,地址选择线A0,A1由P2口提供。读/写线RD,WR与89C51读/写控制线相连。图5-1 8253与AT89C51电路连接图5.1 8253芯片引脚及内部结构5.1.1 8253的引脚8253是24脚双列直插式芯片,用+5V电源供电。芯片内有三个相互独立的16位定时/计数器。8253的引脚和功能框图如图5-2所示:图5-2 8253引脚图5.1.2 8253的内部结构8253内部结构框图如图5-3所示。它由数据总线缓冲器、读/写逻辑、控制字寄存器以及三个独立的16位计数器组成。图5-3 8253内部结构框图(1)3个独立的16位计数器每个计数器具有相同的内部结构,它包括一个8位的控制寄存器、一个16位的计数初值寄存器CR、一个16位的减1计数器CE和一个16位的输出锁存寄存器OL。16位的计数初值寄存器CR和16位的输出锁存寄存器OL共同占用一个I/O端口地址,CPU用输出指令向CR预置计数初值,用输入指令读回OL中的数值,这两个寄存器都没有计数功能,只起锁存作用。16位的减1计数器CE执行计数操作,其操作方式受控制寄存器控制,最基本的操作是:接受计数初值寄存器的初值,对CLK信号进行减1计数,把计数结果送输出锁存寄存器中锁存。(2)控制寄存器控制寄存器用来保存来自CPU的控制字。每个计数器都有一个控制命令寄存器,用来保存该计数器的控制信息。控制字将决定计数器的工作方式、计数形式及输出方式,亦决定如何装入计数初值。8253的3个控制寄存器只占用一个地址号,而靠控制字的最高两位来确定将控制信息送入哪个计数器的控制寄存器中保存。控制寄存器只能写入,不能读出。(3)数据缓冲器数据缓冲器是三态、双向8位缓冲器。它用于8253和系统数据总线的连接。CPU通过数据缓冲器将控制命令字和计数值写入8253计数器,或者从8253计数器中读取当前的计数值。(4)读/写逻辑读/写逻辑的任务是接收来自CPU的控制信号,完成对8253内部操作的控制。这些控制信号包括读信号RD、写信号WR、片选信号CS以及用于片内寄存器寻址的地址信号A0和A1。当片选信号有效,即CS=0时,读写逻辑才能工作。该控制逻辑根据读/写命令及送来的地址信息,决定三个计数器和控制寄存器中的哪一个工作,并控制内部总线上数据传送的方向。8253共占用4个I/O地址。当A1A0=00时,为计数器0中的CR(计数器0的计数初值写入该寄存器)和OL(计数器0的当前计数值从该寄存器读出)寄存器的共用地址,至于是将计数初值写入CR,还是从OL中读出当前计数值,则由控制信号WR和RD决定,这两个信号同时只能有一个有效。当A1A0=01和10时,分别为计数器1和计数器2的CR和OL的共用地址。当A1A0=11时,是3个计数器内的3个控制寄存器的共用地址,至于CPU是给哪个计数器送控制信号,则由控制字中的最高两位的编码来决定。8253的端口地址分配及内部操作如表5-1所示。表5-1 8253端口地址及内部操作CSRDWRA1A0操作01000写计数初值到计数器0的CR01001写计数初值到计数器1的CR01010写计数初值到计数器2的CR01011写控制字,并根据控制字高两位将其送相应的控制寄存器00100从计数器0的OL中读出当前的计数值00101从计数器1的OL中读出当前的计数值00110从计数器2的OL中读出当前的计数值00111无操作1未选中011无操作5.2 8253编程8253定时/计数器在工作之前。用户必须对其进行初始化编程:首先CPU用输出指令向控制寄存器送控制字,然后再用输出指令向计数初值寄存器CR预置计数/定时的初值。启动工作后,CR中的初值就送入减1计数器CE对CLK输入的计数/定时脉冲信号进行减1计数。当CE中的内容减为0,则表示定时/计数到,则OUT端输出信号。输出信号的波形形式由工作方式决定。5.2.1 方式选择控制字8253方式控制字格式如图5-4所示。D7和D6用来选择计数器,D5和D4确定读写格式,D3 D1择工作方式,D0决定数制。0二进制计数1十进制计数00选择计数器001选择计数器110选择计数器211非法00将减1计数器CE中的数据 锁存到OL中(锁存功能)01对计数器的低8位读或写10对计数器的高8位读或写11计数器16位操作(先低8位,后高8位读或写)000方式0001方式110方式211方式3100方式4101方式5D0D7D6D5D4D3D2D1 数制工作方式读写格式计数器选择图5-4 8253控制字格式5.2.2 工作方式8253中各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。8253的各种工作方式如下:方式0-计数结束则中断,方式1-单脉冲发生器,方式2-速率波发生器,方式3-方波发生器,方式4-软件触发方式计数,方式5-硬件触发方式计数。由于本次设计只用到了方式二,因此只对方式二进行详细介绍。方式2分频工作方式既可以用软件启动(GATE=1时写入计数初值后启动),也可以用硬件启动(GATE=0时写入计数初值后并不立即开始计数,等GATE由低变高时启动计数)。方式2一旦启动,计数器就可以自动重复地工作。如图5-5所示,刚开始OUT为低电平写入控制字后,OUT信号变为高电平,当GATE为高电平时,若计数初值N=3,启动计数后,以CLK信号的频率进行减1计数。当减到1时,OUT输出一个宽度为一个CLK时钟周期的负脉冲,OUT恢复成高电平后,计数器又重新开始计数。方式2需要GATE信号保持高电平。当GATE变为低电平时,停止计数。GATE由低变高后,CR中的计数初值又重新装入减1计数器CE中开始计数。由于GATE信号由传感器控制,可以在监测不到作物时启动定时/计数器定时,超过设定时间后由OUT产生一个负跳变,启动外部中断0,单片机进行相关处理。方式2在计数过程中若写入新的计数初值,并不影响当前的计数过程。在本次计数结束后,才以新的计数初值开始计数。TOUT=N*TCLKCLKCWN=3WRGATE132123333OUT图5-5 方式2的波形5.2.3 8253初始化根据图5-1和表5-1可知,8253的控制字地址为0C00H,计数器0、1、2的地址分别为0100H、0800H、0400H。由图5-3可得计数器0、1、2的方式控制字分别为34H、74H、B4H。设计中使用了两片8253芯片,其片选信号由P1.1、P1.2单独控制。只有当片选信号有效时,才可对8253进行编程,而两片8253的初始化程序是一样的,只介绍一个芯片的初始化程序。CLR P1.2 ;CS清零,选中芯片MOV A, #0B4H ;选计数器2,MOV DPTR, #0C00HMOVX DPTR, A ;写入控制字MOV A, #0FFH ;赋计数器2低八位初值MOV DPTR, #0400HMOVX DPTR, AMOV A, #0FFH ;赋计数器2高八位初值MOV DPTR, #0400HMOVX DPTR, AMOV A, #74H ;选计数器1MOV DPTR, #0C00HMOVX DPTR, A ;写入控制字MOV A,#0FFH ;赋计数器1低八位初值MOV DPTR, #0800HMOVX DPTR, AMOV A, #0FFH ;赋计数器1高八位初值MOV DPTR, #0800HMOVX DPTR,AMOV A, #34H ;选计数器0MOV DPTR, #0C00HMOVX DPTR, A ;写入控制字MOV A, #0FFH ;赋计数器0低八位初值MOV DPTR, #0100HMOVX DPTR, AMOV A, #0FFH ;赋计数器0高八位初值MOV DPTR, #0100HMOVX DPTR, A5.3时钟信号电路设计由于不同作物的株距是不同的,有些作物要求距离较大,以便作物能获得足够的光照。若取单片机的时钟工作频率约12MHz作为8253的时钟频率,即使8253的最大计数值为0FFFFH,也只能沿时5. 46ms。这远远不能满足长时间的定时要求,因此要降低8253的时钟频率。但是AT89C51单片机的时钟频率大约在12MHz,这有利于进行快速中断和避免执行程序时带来的时间影响。若要对12MHZ的时钟进行分频,当进行300分频后才变为40KHz的时钟,这样分频倍数较高,因此需要另外的时钟源。采用硬件方法来进行定时,可以克服软件定时下CPU一直被占用的缺点,大大提高了CPU的利用率。本设计采用555芯片构成的多谐震荡电路和74LS161构成的分频电路提供时钟信号。5.3.1 芯片介绍(1)555定时芯片555定时器芯片共有8个引脚,工作电压为5V,如图5-6所示。555定时器主要是与电阻、电容构成充放电电路,并由两个比较器来检测电容器上的电压,以确定输出电平的高低和放电开关管的通断。这就很方便地构成从微秒到数十分钟的延时电路,可方便地构成单稳态触发器,多谐振荡器,施密特触发器等脉冲产生或波形变换电路。图5-6 555定时器芯片引脚图(2)74LS161计数器芯片 74LS161计数器为可预置的4位二进制同步计数器,工作电压为5V,共有16个引脚,如图5-7所示。74LS161的清除端是异步的。当清除端CLEAR为低电平时,不管时钟端CLK状态如何,都可完成清除功能。74LS161的预置是同步的。当置入控制器LOAD为低电平时,在CLK上升沿作用下,输出端Q0Q3与数据输入端P0P3相一致。74LS161的计数是同步的,通过CLK同时加在四个触发器上而实现的。当ENP、ENT均为高电平时,在CLK上升沿作用下Q0Q3同时变化,从而消除了异步计数器中出现的计数尖峰。74LS161有超前进位功能。当计数溢出时,进位输出端(RCO)输出一个高电平脉冲,其宽度为Q0的高电平部分。在不外加门电路的情况下,可级联成N位同步计数器。其功能表如表5-2所示,时序图如图5-8所示。图5-7 74LS161引脚图表5-2 74LS161功能图CLKCLEARENPENTLOADFUNCTIONLClearHHLHCount & RC disabledHHHCount disabledHLHCount & RC disabledHLLoadHHHIncrement counter图5-8 74LS161时序图5.3.2 连接电路如图5-9,由555定时器和外接元件R2、R3、C1、C 2构成多谐振荡器,脚2与脚6直接相连。电路没有稳态,仅存在两个暂稳态,电路亦不需要外加触发信号,利用电源通过R2、R3向C1充电,以及C1通过R3向7引脚的放电端Ct 放电,使电路产生振荡。电容C1在和之间充电和放电,其波形如图5-10所示。输出信号的时间参数是: 555电路要求R1 与R2 均应大于或等于1K,但R1R2应小于或等于3.3M。本次设计中需要1HZ的CLK信号,占空比为60%。参数选择为:R2=288K,R3=577K,C1=100nF, C2=10nF。再通过74LS161进行分频,即可得到低频信号。图5-9 CLK信号发生电路图5-10 多谐振荡器波形图6报警、显示及位置标记功能设计6.1报警电路在整个播种过程中,当某个通道出现漏播时,应进行初级报警,由于偶尔的漏播属于正常现象,只需对应通道的二极管发光显示一下即可。发光二极管报警电路图如图6-1所示。传感器监测不到种子时信号线输出高电平,启动8253开始定时,设定时间到仍未监测到种子即出现漏播时8253定时器中的OUT端就会输出一个CLK信号的低电平,对应漏播通道的二极管就会导通,发光报警。图6-1 二级管报警电路 但当漏播次数过多时,可能是排种器漏口被堵住或者是没有种子了,此时给P1.0清零,启动蜂鸣器报警,提醒驾驶员注意并采取一定的处理措施。蜂鸣器报警电路如图6-2所示。P1.0图6-2 蜂鸣器报警电路6.2 LED显示模块显示电路主要由2个数码管、上拉电阻、74HC573组成。由发光二极管组成的八段数码管(LED)是单片机应用产品中最常用的廉价输出显示设备。它由8段发光二极管按一定的规律排列而成。当某一发光二极管导通时,相应的一个点或一个笔画被点亮,控制不同的组合的二极管导通,就能显示出各种字符。发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器。一位显示器的8个发光二极管用ag表示,dp表示小数点的亮与暗,如图6-3所示。74HC573为八进制3态非反转透明锁存器,它的输入是和标准CMOS 输出兼容的;加上拉电阻,他们能和LS/ALSTTL 输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。 图6-3 八段数码管 图6-4 74HC573引脚排列当出现漏播时希望能将漏播次数及时显示出来,由于漏播只是小概率事件,因此设定显示只有两位,数值最高到99,这满足实际要求。其显示程序如下所示:Disp: MOV A, 30H ;要显示的数放在30H中MOV B, #10MOV DPTR, #TAB ;查表DIV AB ;A与B相除,商放在A中,余数放在B中MOVC A, A+DPTR MOV P0, A ;显示十位上的数CLR P2.0CALL L3SETB P2.0MOV A, BMOVC A, A+DPTR MOV

温馨提示

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

评论

0/150

提交评论