基于51单片机的红外计数系统设计(共81页).docx

上传人:飞****2 文档编号:14131581 上传时间:2022-05-03 格式:DOCX 页数:81 大小:1.01MB
返回 下载 相关 举报
基于51单片机的红外计数系统设计(共81页).docx_第1页
第1页 / 共81页
基于51单片机的红外计数系统设计(共81页).docx_第2页
第2页 / 共81页
点击查看更多>>
资源描述

《基于51单片机的红外计数系统设计(共81页).docx》由会员分享,可在线阅读,更多相关《基于51单片机的红外计数系统设计(共81页).docx(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上摘 要本文介绍了一款以单片机AT89S52为控制器的红外计数系统的设计。该系统可实现对人流量的监测、实时显示以及存储。系统采用PC机作为上位机,AT89S52单片机为下位机,二者可相互通信。单片机实时监测显示人流量信息,并向上位机发送人流量信息。同时上位机也可以向单片机发送控制命令并且可存储导出人流量信息。PC机与单片机之间的通信采用RS-232C通信标准来实现。除此之外,该系统只占用了单片机少量的I /O口和内存,为系统留下了功能扩展的空间。关键字:单片机、红外对射管、串口通信、上位机控制专心-专注-专业ABSTRACTThis paper introduces a

2、 design of infrared counting system based on MCU AT89S52. The system is able to monitor the flow rate of visitors of which data can be displayed real-timely and stored. In this system, the PC serves as upper computer as well as MCU AT89S52 serves as lower computer. Communication between the upper an

3、d lower computer acts like the process that MCU AT89S52 sends the information of the flow rate of visitors being monitored to PC which can stores it and sends control commands in response. The communication applies the RS-232C communications standards.In addition, the system takes up only a small am

4、ount of the MCU I/O ports and memory capacity, so that the system has much functional space for expansion.Key words: MCU, infrared shooting tube, serial communication, PC control目 录第一章 引言1.1 单片机发展简述(Microcontrollers)诞生于1971年,经历了SCM、MCU、SoC三大阶段,早期的SCM单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列M

5、CU系统。基于这一系统的系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位,但因为性价比不理想并未得到很广泛的应用。90年代后随着大发展,技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位迅速取代16位单片机的高端地位,并且进入主流市场。当代系统已经不再只在环境下开发和使用,大量专用的被广泛应用在全系列的单片机上。而在作为和手机核心处理的高端甚至可以直接使用专用的Windows和。单片机的发展主要经历了三个主要阶段,分别为早期阶段(SCM)、中期发展(MCU)、当前阶段(SoC)。如下介绍:早期阶段:即(Microcontrollers

6、)阶段,主要是寻求最佳的单片形态的最佳。“创新模式”获得成功,奠定了SCM与完全不同的发展道路。在开创独立发展道路上,功不可没。中期发展:即(Micro Controller Unit)阶段,主要的技术发展方向是:在不断扩展满足嵌入式应用时,通过增加对象系统要求的各种外围与接口电路,以突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、厂家肩上。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。Philips公司以其在应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到。

7、因此,当我们回顾发展道路时,不要忘记Intel和Philips的历史功绩。当前趋势:SoC(System on Chip)式的独立发展之路。向MCU阶段发展的重要因素,就是寻求应用系统在上的最大化解决,因此,专用的发展自然形成了SoC化趋势。随着、IC设计、EDA工具的发展,基于SoC的应用系统设计会有较大的发展。因此,对的理解可以从单片微型计算机、延伸到单片应用系统。1.2 单片机应用综述渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。这是由于具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的,可实现诸如电压、电流、频率、湿

8、度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用控制会使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或更加强大。家用电器也广泛采用了控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他视频器材、再到量设备和等。在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。而本次设计属于单片机在生活领域的一个应用,结合红外对射传感器做成一个人流量监测器。在此基础上我们亦可以用相同的原理做成工业产品在生产线上的计数器。1.3 背景及意义随着中国经济的飞速发展,国人的收入水平越来越高,我国人民对精神物质文化需求越来越高。大多数国人

9、会选择在节假日举家出游,同时人们对博物馆,图书馆和球场等一些公共场所的使用也越来越频繁。这样就导致了很多社会问题,比如黄金长假景区人流过多造成了很多拥堵,使得人们观景感受体验下降,也容易发生踩踏等安全事故;随着近年来恐怖组织等犯罪集团越来越猖獗,博物馆,图书馆等公共设施也需要有效的管控人流数量,让公共环境更加安全可靠。但是人力毕竟是有限的,虽然国家加大了对这方面的投入,但是仍然显得十分不够。因此在科技发展的今天,我们需要一种能在公共场所入口处进行自动计数,对公共场所入口处的人流进行实时的、有效的、精确的监控的系统。利用单片机做红外线电子计数器能够在公共场所入口处进行准确的自动计数,对公共场所入

10、口处的人流进行实时的、有效的、精确的监控的系统,包括控制器硬件实物和上位机软件1。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。如今的产品自动计数器大多采用非接触式的计数触发方式。早已开发出了多种型号的专用检测芯片.而利AT89C2051为控制单元、辅以多种外围硬件搭配而成的计数装置已成为现在自动计数应用领域的潮流。而如何提高自动计数器的实时性,抗干扰能力、稳定性是现在国内外自动计数生产厂家研究的主要课题.产品自动计数器主

11、要用于工厂的流水线上,往往是处于高温,高噪声等极度恶劣的环境当中.而MCS-51系列单片机构成的产品自动计数器在这种环境中工作时往往会出现误动作(单片机程序跑飞)或死机(程序进入死循环).这也是基于单片机构成的产品自动计数器存在的致命问题。本次设计选用红外对射传感器为单片机的外围电路,单片机为控制单元,且本设计按要求为实验室级别,达到功能即可,不需考虑这些问题。第二章 系统总体方案及硬件平台设计2.1 设计内容该毕业设计的主要内容:基于AT89S52单片机,使用C语言编程,设计制作一个放置在公共场所入口的红外计数器,通过红外对射的方式,实现对图书馆博物馆等公共场所进出人流量的统计,并可以将统计

12、得到的数据进行实时显示,且可以实现与上位机实时串口通信,上位机负责对人员进出情况进行实时的记录和统计。该系统要求具有较强的抗干扰性,计数准确。本次设计需要我们需要运用的知识以及相应知识对应的内容以及功能要求。本次设计软件开发的任务有:1.本次设计是基于51单片机的,所以对于所使用的AT89S52单片机需要十分熟练。2.由于下位机程序都是由C语言编辑的。其中包括了数码管显示模块,串口通信模块,数据处理模块,数据处理模块包括了对红外对射传感器收发情况的处理。所以要求C语言编程功底深厚。3.上位机程序部分也是软件系统的重要组成部分。上位机选用可视化编程语言vb。需要在上位机上实现的功能有显示人流量信

13、息,与下位机的通信,并能控制下位机数码管的显示。硬件部分是软件运行以及功能实现的基础。本次设计硬件部分的内容有:计数器硬件系统的上位机为pc电脑,供用户使用,通过通信系统与单片机相连;下位机为单片机,需要完成电路板的设计绘制焊接。2.2 技术指标由于本次设计重点在于原理的实现,在技术指标上没有到达产品级别。其具体如下:1.实时性:下位机能够实时显示人的进出情况,上位机对人流量的显示应与下位机同步。2.计数器容量:本设计为99,但可扩充。3. 收发管最大相隔距离,即门的宽度不小于50厘米。4.抗干扰性:该红外对射管在室内光照条件下,能够正常使用,不受照明灯等关照影响5.数据存储容量:本设计为上位

14、机存储信息,上位机为pc,理论上可以满足一般现实生活中所要求信息量的存储。2.3 总体方案设计本设计为了实现能在公共场所入口处进行准确的自动计数,并能实时显示和记录相关信息的功能,决定使用C语言对AT89S52单片机进行编程,并通过红外对射的方式,实现对进出人流量的统计,将得到的数据在数码管上实时显示并发送给由Vb编写的上位机程序进行处理和记录。具体的实施方案为利用红外发光二极管发射红外线,红外接收二极管接收此红外线,此时红外对射收发电路会给单片机的特定IO口一个持续稳定的高电平信号2。当有人挡住红外光,接收管没有接收到红外信号时,红外对射收发管将输出低电平给单片机IO口3。当单片机检测到高低

15、电平的变化时,将会根据预先设置好的下位机程序进行计数,并通过相应的数据处理程序进行处理,之后通过显示程序和具体的译码及显示电路使数码管显示实时数值。同时单片机将通过通信电路将数据上传到上位机,使上位机对人员进出情况进行实时的记录和统计。上位机亦可通过通信电路向下位机传输指令。这样就实现了本设计的统计人流数量并可以进行管控的功能。为实现这一方案,本设计着重从硬件和软件两个方面进行了设计,下面将分别介绍。2.3.1 硬件总体方案设计为了有效、准确的实现本设计的内容,本设计的硬件分为了以AT89S52为控制核心的下位机和以PC为主体的上位机两大部分。其中下位机为本设计的硬件设计的主要部分,具体可分为

16、控制单元,译码电路,驱动电路,通信系统电路,红外对射收发器和显示电路六个部分。本设计的具体硬件结构方块框图如图2-1所示。下位机控制单元:该单元是整个系统的核心部分,其功能为检测红外信号,处理数据,显示数据和与上位机进行数据和命令的交换,这里选用的是AT89S52。单片机的技术门槛较低开发成本也较低且技术相对成熟。现在市场上常用的单片机主要有MCS-51、AVR、ARM、PIC等。其中应用最广泛的单片机首推Intel的51系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。常作为简单系统的控制单元。且51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只

17、须将该脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作输出脚使用时,则为高电平或低电平均可。所以在控制部分方案的选择中选定51系列单片机作为控制部分的核心器件4。图2-1 硬件结构方块框图单片机的技术门槛较低开发成本也较低且技术相对成熟。现在市场上常用的单片机主要有MCS-51、AVR、ARM、PIC等。其中应用最广泛的单片机首推Intel的51系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势。常作为简单系统的控制单元。且51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作输出脚使

18、用时,则为高电平或低电平均可。所以在控制部分方案的选择中选定51系列单片机作为控制部分的核心器件4。译码电路:由于本设计的显示部分采用了6个8段的数码管,共计需要14个IO口,再加上报警系统和红外检测系统,会显得IO口非常的不够用,因此要对单片机的端口个数进行扩展5。经常采用的端口扩展方法是用串并转换芯片进行译码。常用的串并转换芯片有74HC154(416线译码器)、74LS164(8位串并转换器)、74HC595等。本次设计采用的是两个74HC595级联进行译码,只需3个IO口就可完成显示数码管的输出。驱动电路:51系列单片机端口低电平时,吸入电流可达20 mA,具有一定的驱动能力;而为高电

19、平时,输出电流仅数十A甚至更小(电流实际上是由脚的上拉电流形成的),基本上没有驱动能力,所以单片机不能直接驱动数码管的显示。在单片机和数码管之间还需要增加以功能放大位目的的驱动电路7。这里采用的是ULN2803八路NPN达林顿。通信系统电路:通信部分要满足的设计要求就是稳定、快速、简单易实现。因为通常情况下显示屏和上位机的距离不会很远,所以通信距离的要求不是很高。计算机数据通信主要采用并行通信和串行通信两种方式。(1)并行通信并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。(2)串行通信串行通信数据是一位一位顺序传送,只

20、用很少几根通信线,串行传送的速度低,但传送的距离长,因此串行适用于长距离而速度要求不高的场合。在串行发送时,数据是一位一位按顺序进行的,而计算机内部的数据是并行的。因此,当计算机向外发送数据时,必须将并行数据转换为串行数据再发送。反之,又必须将串行数据转换为并行数据输入计算机中。这种转换即可以用硬件实现也可以用软件实现。单由软件实现会增加CPU负担,降低其利用率,故目前常采用硬件实现。通用的通用异步接收/发送器,简称UART(Universal Asynchromous Receeiver/Trabsnitter)是完成这一功能的硬件电路。在单片机芯片中,UART已经集成在其中,作为其组成部分

21、,构成一个串行口6。综上所述,题目设计已经选定了单片机为开发方式而单片机的UART已经集成在单片机内,所以通信系统选择串行通信为通信方式。红外对射收发器:在现在的工程设计中,红外收发器主要有两种类别,一种是必须将信号调制到38KHZ载波上进行传输的红外收发器,其接收端共有三个引脚;另外一种是直接发射红外光线,接收端根据有无红外线照射改变阻值,只有两个引脚,又称红外光敏二极管。第一种精度更高,常用于复杂信息的传输,但由于本设计只需判断有无人通过这两种状态,选用第二种也可以满足要求,且更加简单、方便。因此选用红外收发二极管。显示电路:显示电路需要满足两个功能,一是显示人数,二是作为报警灯显示滞留人

22、员是否已经饱和。本设计采用的是8段数码管进行人数显示和LED发光二极管进行报警,这两种器件技术成熟、性能可靠、价格便宜、原理简单,非常适合作为本设计的显示器件。2.3.2 软件总体方案软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。设计目标和硬件总体结构确定的情况下,软件系统按功能可以分为主程序,显示子程序(数码管与报警灯的显示),数据处理程序,通信程序三个主要部分组成。具体结构如图2-2所示:图2-2 软件功能结构框图软件的编写需要借助软件编辑器和编译软件,编译完成后还需要下载到单片机中执行。编写软件之前得首先选择一种合适的语言以及配套的编辑器和编译软件。最后还要选择一款与所

23、选单片机的下载器或下载软件来把编写的程序下载到单片机中执行。1.单片机编辑语言现在主要运用的单片机编程语言为汇编语言和C语言。两种语言相比较各有优点。汇编语言(Assembly Language)是面向机器的程序设计语言,是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。其具有执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植8。C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码。C语言结构是以括号 而不是子和特殊符号的语言。C可以进行许多机器级函数控制而不用

24、汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对51的存储器结构有初步了解;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;程序有规范的结构,可分为不同的函数。这种方式可使程序结构化;将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;编程及程序调试时间显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力;已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来。基于以上理由,决定采用C语言为

25、该显示系统的编程语言。2.系统软件编辑器介绍C语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。因此在系统软件设计中,编译器必不可少。目前在单片机开发中普遍都是使用KEIL C51来进行编译。因此,软件设计最终方案为采用C语言为程序语言,KELC为编译工具按照数据处理、通信、显示等几个功能模块来编写程序。3.上位机用户软件其中系统采用现在已经非常普遍的PC机作为上位机,这样对该显示系统的硬件要求便降低了,增加了系统的通用性。上位机的作用是存储并处理显示内容。然后通过通信系统,上位机能够接受并显示下位机传输的内容,同时上位机也能够向下位机发送清零命令以及最大饱和人数。上位机

26、用户窗口是用户直接使用的界面,所以对上位机编辑语言的选择很十分重要。经过查阅资料了解到,VB是Visual Basic的简写,是可视化的编程语言,是一种简单、高效地开发应用软件的工具,可用于开发Windows环境下的各类应用程序,且简单易学、效率高。所以最终选择了vb语言编辑上位机程序。2.4 硬件平台设计整个硬件系统主要由上位机,通信系统,单片机系统,译码电路,显示驱动电路和红外对射传感器六部分组成。具体工作流程有两条为: 1.由驱动电路进行供电,进行电压和电流的处理以达到红外对射传感器正常工作所需的电流,电压;红外对射传感器检测到人的进出时,产生低电平信号。将人的进出信号传给单片机。单片机

27、对信号进行处理,由数码管显示出人进出的情况并通过I/O口将数据串行输出,再由上位pc机对数据进行更系统的处理存储。2.当用户有命令需要时,可通过上位pc机对下位机进行控制。其流程为,用户通过单击上位机用户窗口的功能按钮,上位机产生控制命令数据并通过串口将数据串行输出给单片机,单片机接收后执行控制指令处理显示代码将控制内容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,下位机的显示驱动电路进行电压和电流的处理以达到红外对射传感器正常工作所需的电流,电压要求,进而使所需控制实现。根据硬件的功能结构图选取合适器件,器件不但要求能实现所要求的功能还要能兼容至整个系统之中。通过查阅资料和对比最

28、终的硬件原理图见附录。 该系统所要实现的功能和要求有以下几点:(1)数码管显示要清晰。(2)驱动电路要能提供数码管所需范围内的电压和电流要求。(3)译码电路的高低电平的区分能力以及译码的输入输出频率必须满足单片机以及驱动电路的要求。(4)单片机要能接收上位机的指令和显示内容且能够处理后控制数码管的显示,并且端口驱动能力要足以驱动译码电路。(5)单片机由ISP下载线下载程序和供电,可不设立专用供电电源。(6)由串口完成单片机与上位机的通信,通信速度和数据传输的可靠性要达到显示要求。2.4.1 控制单元设计控制单元是整个显示系统的核心,该系统中采用51系列单片机为核心器件,用来和上位机通信发送人员

29、进出信息和处理上位机发送的控制指令。并且直接输出数据通过译码电路控制数码管显示实时的人员状态和报警信息。在51系列单片机中选定一款合适的机型来作为控制单元的主控芯片。根据题目的要求该芯片必须要具有的就是方便的编程能力,因为在软件设计时方便的程序下载对程序的验证和编写非常有用。还有就是为了提高对人流进出情况的判断速度,单片机的执行速度要尽可能的快。根据这两点要求,选择美国ATMEL公司生产的AT89S52为控制单元的主控芯片AT89S52是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含8k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失

30、性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域6。AT989S52具有以下特点:8KB在系统编程(ISP)Flash闪速存储器4.05.5V的工作电压范围全静态工作模式:0Hz33MHz256B的内部RAM32个可编程I/O口线3个16位定时/计数器全双工串行UART通道控制电路设计中采用的是单片机系统,该系统必须要是工作在一个最小系统(指单片机的可以的最小配置系统)。AT89S52的最小

31、系统包括了外界时钟电路和复位电路,选定一定数量的IO口作为控制口控制外部的各种器件和数据的输出。根据功能选择一定的单片机端口添加外围的器件,具体电路如图所示。在该系统中,P1各口主要用作数码管的显示数据的控制输出和下位机程序的烧录入口。具体接法为:P1.0,P1.1,P1.2分别接作为译码电路的两片级联74HC595的SER,RCLK,SRCLK端,以产生移位脉冲并使串行数据并行输出。P1.5,P1.6,P1.7分别接SPI口的MOSI,MISO,SCK端,以烧录下位机程序。P2口作为检测人员进出状态的信号接口和控制饱和警报灯是否亮灭的接口。具体为P2.0接作为检测是否有人进入的红外二极管的正

32、极,P2.1接接作为检测是否有人进入的红外二极管的正极。P2.2报警灯接负极。控制电路图如图2-3所示:图2-3 控制部分电路图P3口的P3.0,P3.1分别为串口通信的RXD、TXD。由于P3口是特殊功能口,在该系统中基本是采用其第二功能。其第二功能和实际运用如表2-1所示:表2-1 AT89S52 P3口第二功能的应用端口第二功能实际作用P3.0RXD(串行输入口)与上位机通信的数据输入口P3.1TXD(串行输出口)与上位机通信的数据输出口AT89S52单片机的P0口留为外部数据存储器和程序存储器的扩展用,以备内部存储器和程序存储器不够用的情况时使用。2.4.2 译码电路设计译码电路的功能

33、是为了解决单片机I/O端口不足。段选译码和位选译码所用器件为两片级联74HC595。同时74HC595,也是串行转为并行的重要元器件。每次点亮八段数码管时,先要由单片机处理信息,计算出八段数码管所要显示的信息。这需要同时给八段数码管的各个接口赋值,74HC595元器件可以串行输入,然后锁存。锁存之后就是并行的输出。74HC595还有级联。两个74HC595级联最多可以并行输出16位数据。具体电路如图2-4所示:图2-4 译码电路74HC595 简介以及特点简述: 1、输出端的驱动电流限定值:25mA;2、低输入电流:1 mA最大 3、8位串行输入、并行输出移位寄存器与存储寄存器4、工作电压范围

34、:为2V到6V 5、移位寄存器具有直接清除6、级联正常使用时的典型参数: 1、电源电压(Vcc):26 V2、直流输入/ 输出电压:0Vcc V 3、输入上升/ 下降延时: VCC = 2.0 V 1000 ns VCC = 4.5 V 500 nsVCC = 6.0 V 400 ns74HC595时序图和功能表见如下图2-5和表2-2所示:图2-5 74HC595时序图表2-2 74HC595功能表2.4.3 驱动电路设计为了使数码管稳定,持续的点亮,必须要加强单片机I/O口的驱动能力。单片机本身的驱动能力是有限的,而且让单片机过多的驱动其他元器件对于单片机本身也是一种损耗,会影响其寿命。单

35、片机温度过高时温度过高时,还会影响其运算速度。所以设计时选用了八路NPN达林顿管ULN2803加强驱动,同时为了加强驱动电流,在ULN2803的输出端应连接一个1K的上拉电阻。具体接法如下图2-6所示:图2-6 驱动器件ULN2803的接法ULN2803是由8个NPN达林顿晶体管组成的阵列,特别适用于低逻辑电平数字电路(诸如TTL, CMOS或PMOS/NMOS)和较高的电流/电压要求之间的接口,广泛应用于计算机,工业用和消费类产品中的灯、继电器、打印锤或其它类似负载中。所有器件具有集电极开路输出和续流箱位二极管,用于抑制跃变。该电路为反向输出型,即输入低电平电压,输出端才能导通工作ULN28

36、03的最大额定值如下表所示:表2-3 ULN2803最大额定值参数符号数值单位输出电压VO50V输入电压VI30VIC500mA基极电流-连续IB25mA操作环境温度范围TA0 to +70储存温度范围Tstg 55 to +150结温TJ125ULN2803引脚图如图2-7所示,和内部结构如图2-8所示:图2-7 ULN2803引脚图ULN2803引脚功能简介:1-8引脚:输入端11-18引脚:输出端9引脚:地端10引脚:电源+图2-8 内部结构图2.4.4 通信系统硬件设计为方便单片机下位机程序的烧录和与上位机进行串口通信,分别采用了ISP(in-system programming 在线

37、系统编程)接口和RS232接口。1.ISP接口ISP(In-System Programming 在线系统编程),指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。AT89S52单片机支持ISP接口烧写程序,所以在本设计最小系统里加入了ISP接口,其ISP实现采用标准SPI接口(串行外围设备接口SPI(serial peripheral interface)总线技术)。标准SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件,其接口包括以下四种信号:(1)MOSI 主器件数据输出,从器件数据输入(2)MI

38、SO 主器件数据输入,从器件数据输出(3)SCLK 时钟信号,由主器件产生(4)/SS 从器件使能信号,由主器件控制大部分AVR MCU的ISP数据端口亦为 SCK、MOSI、MISO引脚(如Attiny13/24/2313,Atmega48/88/168,Atmega16/32/162,Atmega8515/8535等),如表2-3所示:表2-3 端口比较ISP下载器端口AVR端口MISOMISOVCCVCCSCKSCKMOSIMOSIRESETRESETGNDGND下图是标准的SPI接口排列:图2-9 标准SPI接口使MOSI与单片机的P1.5,MISO与单片机的P1.6,SCK与单片机P

39、1.7连接,即可实现ISP接口烧写程序的功能。2.RS232接口AT89S52单片机具有全双工串行UART通道,支持单片机进行数据的串行传输。RS-232C标准规定了PC机发送数据总线TXD和接收数据总线RXD采用EIA电平,即传送数字“1”时传输线上的电平在315V之间;传送数字“0”时,传输线上的电平在315之间。但单片机串行口采用正逻辑TTL电平,即数字“1”时为5V;数字“0”时为-5V,所以单片机与计算机不能直接相连进行通信,必须将RS-232C与TTL电平进行转换。在通用的电平转换芯片中,MAX232系列的芯片以集成度高,单5V电源工作,即可完成RS-232C与TTL电平之间的转换

40、而成为常用芯片。在该显示系统中,MAX232是最重要的硬件组成部分。电路如图2-10所示:图2-10 串口通信系统电路图2.4.5 红外对射收发器设计红外对射收发器主要使用红外发光二极管和红外接收二极管。红外发光二极管发出稳点持续的定向红外光线,照射红外接收二级管,此时红外接收二极管处于导通状态。当有人通过时,红外光线被阻断,接收二极管处于截止状态。其红外接收管在两种状态下的正极电压分别为5V和0V,单片机通过检测这两种状态,判断有无人通过,具体接法如下图2-11所示,单片机P2.0和P2.1分别接IN和OUT,以分别检测进和出。图2-11 红外接收检测电路红外线发光二极管由红外辐射效率高的材

41、料(常用砷化镓GaAs)制成PN结,外加正向偏压向PN结注入电流激发红外光。光谱功率分布为中心波长830950nm,半峰带宽约40nm左右。其最大的优点是可以完全无红暴,(采用940950nm波长红外管)或仅有微弱红暴(红暴为有可见红光)而延长使用寿命。红外线发光二极管的发射强度因发射方向而异。当方向角度为零度时,其放射强度定义为100%,当方向角度越大时,其放射强度相对的减少,发射强度如由光轴取其方向角度一半时,其值即为峰值的一半,此角度称为方向半值角,此角度越小即代表元件之指向性越灵敏。一般使用红外线发光二极管均附有透镜,使其指向性更灵敏。红外接收二极管又叫红外光敏二极管,能很好地接收红外

42、发光二极管发射的波长为940nm的红外光信号,而对于其他波长的光线则不能接收。光敏二极管管芯是一个具有光敏特性的PN结,它被封装在管壳内。与普通二极管一样,它的PN结具有单向导电性,因此,光敏二极管工作时应加上反向电压。当无光照时,电路中有很小的反向饱和漏电流,一般为1 * 10-8 - 1X10 -9A(称为暗电流),此时相当于光敏二极管截止;当有光照射时,PN结附近受光子的轰击,半导体内被束缚的价电子吸收光子能量而被击发产生电子一空穴对O这些载流子的数目,对于多数载流子影响不大,但对P区和N区的少数载流子来说,则会使少数载流子的浓度大大提高,在反向电压作用下,反向饱和漏电流大大增加,形成光

43、电流,该光电流随入射光强度的变化而相应变化。光电流通过负载RL时,在电阻两端将得到随人射光变化的电压信号。光敏二极管就是这样完成电功能转换的。2.4.6 显示电路设计本设计的显示电路部分包括三个共阴极的两位八段数码管和一个LED饱和报警灯。三个数码管分别显示进入人次,离开人次和停留人数。LED灯亮时,表示超过最大饱和人数。两位八段数码管有8个段选接口和2个位选接口。段选接口控制数码管的8个LED灯的亮灭来控制不同的字形输出,位选接口则控制哪个数码管显示字形,具体结构如下图2-11所示。本设计采用扫描的方式,由第一个595控制段选信号,输出字形,第二个595控制位选信号,不停的使6个数码管依次循

44、环点亮,显示我们需要的数据。饱和报警LED采用普通的发光二极管,由单片机的P2.2口控制。具体接法如下图2-12所示:图2-11 八段数码管结构图图2-12 显示电路接法2.5 系统开发流程此次系统的开发一般大致分为五个阶段:1.分析毕业设计的任务书此阶段是该统软件开发与硬件设计的立论之处,主要确定系统开发的开发目标。2.软件设计以及硬件设计此阶段中根据对任务书要求分析的结果,先对硬件系统进行设计,其中包含对所需原件分析,从价格性能以及使用难易度情况的角度,选择最合适的原件。当硬件系统设计好之后,对整个软件系统进行设计,如系统框架设计等。软件设计一般分为总体设计和详细设计。好软件设计将为软件程

45、序编写打下良好的基础。3.程序编码此阶段是将软件设计的结果转化为上位机以及下位机运行的程序代码。在程序编码中必定要制定统一、符合标准的编写规范。以保证程序的可读性、易维护性。提高程序的运行效率。4.软件测试在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。5.软硬件联合测试本设计的软硬件联合测试分为两步,首先在proteus里进行仿真,若仿真成功,证明此方案可行。然后做出实物,焊接好电路板,直接烧录测试程序进行测试。第三章 软件系统设计3.1 软件总体设计该毕业设计的下位机选用了单片机以及其红外收发模块,编辑语言选用了c语言。原因之后章节陈述。由于个人电脑

46、在国内已经很普及,所以上位机选用了个人电脑。编辑语言选用了vb语言。原因之后章节陈述。上位机程序与下位机程序通过串口程序模块相互通信。3.2 下位机程序设计下位机由单片机最小系统模块,显示模块以及驱动模块和红外模块共同构成,下位机程序设计就是单片机的程序设计,实现对数码管的实时控制、红外传感器的信号接收处理,加上能够与上位机进行串口通信的功能设计。下位机主程序流程图3-1如下所示:图3-1下位机主程序流程图3.2.1 Keil 开发环境下位机程序即单片机内的程序,这里我们选用经典的Keil环境,使用C语言进行开发。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语

47、言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。3.2.2 串口通信程序设计系统采用串行中断的方式进行通信。MCS-51单片机的五个中断源两种类型:一类是外部中断源;另一类是内部中断源,包括两个定时器/计数器(T0和T1)的溢出中断和串行口的接收和发送中断。MCS-51单片机设置了4个专用寄存器用于中断控制,分别为定时器控制寄存器(TCON),串行口中断控制器(SCON),中断允许控制寄存器(IE),中断优先级控制寄存器(IP)。编程时通过设置其状态来管理中断系统。在编辑中断程序时首先是将中断控制寄存器(IE)初始化。其控制位分布如表。EA为中断允许总控制位,EA=1时CPU开发中断;EA0时,CPU屏蔽所有中断。ES、ET、EX1、ET0、EX0为对应的串行口中断、定时器/计数器1中断、外部中断1中断、定时器/计数器0中断、外部中断

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁