版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE0本科毕业设计(论文)(2012届)论文题目基于51单片机的智能门铃设计(英文)TheDesignofSmartdoorbellbasedon51single-chip所在学院电子信息学院专业班级电气工程及其自动化学生姓名学号指导教师职称完成日期2012年月日基于51单片机的智能门铃设计2012年4月摘要随着科技的发展,智能门铃在生活中会越来越多,智能门铃替代门铃的主要方式有智能识别与无线通信功能。无线门铃的英文名称是wirelessdoorphone或wirelessdoorbell,又称无线遥控门铃或遥控门铃。无线门铃是利用民用无线技术(Zigbee、WIFI、蓝牙、2.4G等)开发出来的一类门铃。一般的无线门铃有效传输距离约40米。近年来采用2.4G频率无线传输视频或语音信号,传输距离在无障碍环境下传输距离可达400米。无线门铃不需要布线,安装简单灵活,但是传输距离受传输距离和现场环境影响较大。有线门铃正好与之相反。本课题采用传统的电路设计方法,为设计智能门铃系统,首先从单片机外围电路、红外热释传感器电路、LED数码管电路、RS485通信接口电路以及电源供电电路对系统的硬件进行了设计;然后从主程序结构,显示程序及串行通信程序等方面介绍了智能门铃的软件设计;最后总结设计的经验与教训,进一步认识设计的不足方面。关键词:单片机;A/D转换;LED数码管;智能门铃AbstractWiththedevelopmentofscienceandtechnology,intelligentdoorbellinlife,moreandmoreintelligentidentificationandwirelesscommunicationcapabilities,themainwayofthesmartthedoorbellalternativedoorbell.TheEnglishnameofthewirelessdoorbellofwirelessdoorphone,orofwirelessaffordancesarealsoknownasawirelessremotecontroldoorbell,ortheremotecontroldoorbell.Thewirelessdoorbellistheuseofcivilianwirelesstechnology(Zigbee,WIFI,Bluetooth,2.4G,etc.)developedadoorbell.Thewirelessdoorbelleffectivetransmissiondistanceofabout40m.Inrecentyears,usingthe2.4Gfrequencywirelesstransmissionofvideoorvoicesignals,thetransmissiondistancetransmissiondistanceupto400metersinabarrier-freeenvironment.Wirelessdoorbelldoesnotrequirewiring,installationissimpleandflexible,butthetransmissiondistancebythetransmissiondistanceandon-siteenvironmentalimpact.Wireddoorbelljusttheopposite.Thistopicusingthetraditionalcircuitdesignmethodforthedesignofintelligentdoorbellsystem,thefirstsingle-chipperipheralcircuits,infraredpyroelectricsensorcircuit,LEDdigitalcontrolcircuit,RS485communicationinterfacecircuitandpowersupplycircuit,thehardwareofthesystem,thedesign;fromthemainstructure,proceduresandserialcommunicationprogramintroducesthesoftwaredesignofintelligentdoorbell;sumupexperiencesandlessonsofthedesign,andabetterunderstandingofthedeficienciesinthedesign.KeyWords:MCU;A/Dconversionchip;LED;Intelligentdoorbell
目录 摘要 3Abstract 41引言 11.1本课题的研究意义与背景 11.2智能门铃的设计要求 11.3研究的主要内容 22智能门铃的设计方案 32.1系统的方案分析 32.2单片机的选型 32.3热释红外 42.4显示方案 42.5A/D转换方案 53硬件设计 63.1硬件设计 63.2AT89C51单片机 73.2.1AT89C51的引脚 73.2.2AT89C51的时钟电路 83.2.3AT89C51的复位电路 93.3ADC0809电路 103.3.1A/D转换器芯片ADC0809简介 103.3.2MCS-51单片机与ADC0809的接口 133.4热释红外电路 133.4.1热释红外线传感器RE200B 143.4.2菲涅尔透镜 153.4.3电路组成框图 153.4.4电路结构组成及原理分析 163.5显示电路 163.6按键电路 173.7通信电路 183.8门铃设计 184系统程序设计 204.1设计思路与流程图 204.2显示子函数 204.3模/数转换测量子函数 204.4按键扫描函数 214.5数据处理程序 254.6通信程序 265系统调试和功能测试 285.1系统硬件调试 285.2系统软件调试 286结束语 30致谢 31参考文献 32附录一 33附录二 34PAGE38浙江万里学院本科毕业论文1引言1.1本课题的研究意义与背景随着电子技术、微电子技术的飞速发展,微型计算机发展很快,单片机技术成为自动控制技术的核心之一。单片机作为计算机的一个独特的分支,它是在一块芯片上集成了多种功能部件所构成的一台完整的、具有一定功能的单片微型计算机。它打破了典型微型计算机按逻辑功能划分芯片结构的传统概念,以其体积小,功能强,性能价格比高等优点广泛应用于诸多领域,如工业控制系统、智能化仪表、数据采集系统等,单片机技术的开发和应用水平已逐渐成为一个国家工业发展水平的标志之一。智能门铃区别于普通门铃,在于它的智能化,相比其他门铃,增加了人员识别,密码解锁,无线等功能。无线门铃的英文名称是wirelessdoorphone或wirelessdoorbell,又称无线遥控门铃或遥控门铃。无线门铃是利用民用无线技术(Zigbee、WIFI、蓝牙、2.4G等)开发出来的一类门铃。一般的无线门铃有效传输距离约40米。近年来采用2.4G频率无线传输视频或语音信号,传输距离在无障碍环境下传输距离可达400米。无线门铃不需要布线,安装简单灵活,但是传输距离受传输距离和现场环境影响较大。有线门铃正好与之相反。1.2智能门铃的设计要求可靠性:系统应保证长期安全的运动。系统中的硬软件及信息资源应满足可靠性设计要求。安全性:系统应具有必要的安全保护和保密措施。抗干扰性:系统应具有较强的抗干扰性,对各类用户的误操作应有提示或自动消除能力。适应性:系统应对不断发展和完善的统计核算方法、调查方法和指标体系具有广泛的适应性。可扩充性:系统中的硬软件应具有扩充升级的余地,不可因硬软件扩充、升级或改型而使原有系统失去作用。实用性:注重采用成熟而实用的技术,使系统建设的投入产出比最高能产生良好的社会效益和经济效益。先进性:在实用的前提下,应尽可能跟踪国内外最先进的计算机硬软件技术、信息技术及网络通信技术,使系统具有较高的性能指标。易操作性:贯彻面向最终用户原则,使用户操作简单直观,易于掌握。1.3研究的主要内容本课题旨在设计一个智能门铃系统,具有人员识别功能,按键解锁等功能,还可以进行无线信号传输,实现智能无线门铃系统设计。实现功能如下:能够根据门铃前是否有人,来决定门铃想闹时间,当人走开始,门铃自动停止响闹;能够通过按键进行人机交换信息;能够通过天线进行远程响闹等。论文的主要安排如下:介绍课题研究背景,门铃设计准侧等,最后总结了研究内容。系统总体设计,以及各部分选型设计。系统具体硬件设计,包括单片机外围电路设计,显示电路设计,红外采集电路设计等等。系统软件设计,系统总体流程图设计,采集软件设计,按键扫描与LED数码管显示等。系统调试。总结。
2智能门铃的设计方案2.1系统的方案分析智能门铃系统智能门铃系统门铃AT89C51单片机控制电路ADC0809红外热释LED数码管485接口电路与天线图2.1智能门铃的结构框图如图2.1所示,本系统包含AT89C51单片机与其控制电路,红外数据采集模块(红外热释与ADC0809),显示电路,以及远程数据传输模块,及门铃。单片机与其控制电路:主要实现各部分电路控制,以及数据核心处理。远程数据传输模块:主要实现门铃信号进行远程数据传输。LCD电路:主要提供信息提示等。门铃:实现通报功能。2.2单片机的选型在本设计中单片机是系统的控制核心,因此,单片机的选择,对于所设计系统的实现以及功能的扩展有着很大的影响。单片机种类很多,在众多51系列单片机中,较为常用的是ATMEL公司的AT89C51单片机。AT89C51片内4KROM是Flash工艺的,使用专用的编程器自己就可以随时对单片机进行电擦除和改写,片内有128字节的RAM。AT89C51已满足本次设计的要求,同时我们对于这个单片机芯片也较为熟悉,因此,在本次设计中选用了ATMEL公司的AT89C51单片机。2.3热释红外本文采用RE2000B构成热释红外传感器,热释电红外线传感器主要是由一种高热电系数的材料,如锆钛酸铅系陶瓷、钽酸锂、硫酸三甘钛等制成尺寸为2*1mm的探测元件。在每个探测器内装入一个或两个探测元件,并将两个探测元件以反极性串联,以抑制由于自身温度升高而产生的干扰。由探测元件将探测并接收到的红外辐射转变成微弱的电压信号,经装在探头内的场效应管放大后向外输出。为了提高探测器的探测灵敏度以增大探测距离,一般在探测器的前方装设一个菲涅尔透镜,该透镜用透明塑料制成,将透镜的上、下两部分各分成若干等份,制成一种具有特殊光学系统的透镜,它和放大电路相配合,可将信号放大70分贝以上,这样就可以测出10——20米范围内人的行动。2.4显示方案(1)七段LED数码显示在单片机系统中,发光二极管(LED)常常作为重要的显示手段。LED显示器内部由7段发光二极管组成,因此亦称之为七段LED显示器,由于主要用于显示各种数字符号,故又称之为LED数码管。每个显示器还有一个圆点型发光二极管,用于显示小数点。但其显示并不是很直观,同时编程相对复杂,可显示字符比较少。(2)液晶显示模块芯片LCD为英文LiquidCrystalDisplay的缩写,即液晶显示器,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图象。在实际应用中,用户很少直接设计LCD显示器驱动接口,一般是直接使用专用的LCD显示驱动器和LCD显示模块。其中,LCD显示模块LCM(LiquidCrystalDisplayModule)是把LCD显示器、背景光源、线路板和驱动集成电路等部件构成一个整体,作为一个独立的部件使用,具有功能较强、易于控制、接口简单等优点,在单片机系统中应用较多。而本次选择的12864液晶,具有成本低廉、易于控制、接口简单等优点,已经成为单片机应用设计中最常用的信息显示器件了。2.5A/D转换方案A/D转换采用ADC0809。ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
3硬件设计3.1硬件设计根据上述的芯片资料和方案的对照考虑,确定基于51单片机的智能门铃设计,如图3-1所示。图3-1 智能门铃电路图在设计中,用了两个主要元件:控制芯片AT89C51单片机和模拟数字转换器ADC0809。其中控制芯片AT89C51单片机的控制功能能满足电路功能实现的要求,它主要实现两个功能:1.通过P3.0、P3.3对ADC0809的引脚START和EOC的控制来实现模拟数字转换器ADC0809的转换开始和结束,并通过P3.2对输出允许信号OE的控制实现控制三态输出锁存器向单片机输出转换得到的数据;最后在模拟数字转换结束后通过P1口从ADC0809的数据输出线D7-D0把数据采集进来。2.通过P0口把采集进来的LCD12864显示,并通过P2进行控制LCD进行动态显示。另外模拟数字转换器ADC0809实现的功能就是完成对采集进来的模拟信号的数字转换。电路中,利用ADC0809的IN0口将模拟数据采集进来。ALE地址锁存允许信号和START转换启动信号分别与单片机的P3.3及P3.0连接,以实现对它的控制;进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P1端口读入,经过数据处理之后在LCD上显示。3.2AT89C51单片机89C51系列单片机最早是由Intel公司开发和生产的,Intel公司在1980年推出MCS-51单片机,也称89C51单片机。AT89C51单片机是ATMEL公司1989年生产的产品,ATMEL率先把89C51内核与Flash技术相结合,推出轰动业界的AT89系列单片机。本设计采用ATMEL生产的MCS-51系列的AT89C51单片机芯片作为主芯片。MCS-51单片机所占的市场分额很大,在单片机领域影响力很大,几十年居于单片机领域领头羊地位,其产品大量作为单片机教材范例使用。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。该单片机片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
3.2.1AT89C51的引脚图3-2为AT89C51的引脚图。图3-2AT89C51芯片引脚40只引脚按照其功能来分,可分为3类:电源及时钟引脚:Vcc、Vss;XTAL1、XTAL2。控制引脚:PSEN、ALE、EA、RESET。I/O口引脚:P0、P1、P2、P3,为4个8位I/O口的外部引脚。3.2.2AT89C51的时钟电路在AT89C51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2,在芯片的外部通过这两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。在由多片单片机组成的系统中,为了各单片机之间的时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。时钟电路如图3-3所示。a)内部时钟a)内部时钟b)外部时钟3.2.3AT89C51的复位电路复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或者操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间应持续时间24个振荡脉冲周期以上[6-7]。复位操作有上电自动复位和按键手动复位两种方式。复位电路如图3-4所示。8989C51R1+5VR2KRST89C51R1RST+5VC1图3-4AT89C51复位电路3.3ADC0809电路3.3.1A/D转换器芯片ADC0809简介ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。ADC0809的引脚图如图3-5所示。图3-5ADC0809引脚图1、ADC0809的内部结构ADC0809的内部逻辑结构图如图3-6所示。图3-6ADC0809内部逻辑结构图3-6中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换器进行转换,这是一种经济的多路数据采集方法。地址锁存与译码电路完成对A、B、C3个地址位进行锁存和译码,其译码输出用于通道选择,其转换结果通过三态输出锁存器存放、输出,因此可以直接与系统数据总线相连,表3-1为通道选择表。表3-1通道选择表2、信号引脚ADC0809芯片为28引脚为双列直插式封装,其引脚排列见图3-5。对ADC0809主要信号引脚的功能说明如下:IN7~IN0——模拟量输入通道ALE——地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。START——转换启动信号。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平。本信号有时简写为ST.A、B、C——地址线。通道端口选择线,A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。其地址状态与通道对应关系见表9-1。CLK——时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500KHz的时钟信号EOC——转换结束信号。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。D7~D0——数据输出线。为三态缓冲输出形式,可以和单片机的数据线直接相连。D0为最低位,D7为最高OE——输出允许信号。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。Vcc——+5V电源。Vref——参考电源参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V,Vref(-)=-5V).。3.3.2MCS-51单片机与ADC0809的接口ADC0809与MCS-51单片机的连接如图3-7所示。图3-7ADC0809与MCS-51单片机的连接电路电路连接主要涉及两个问题。一是8路模拟信号通道的选择,二是A/D转换完成后转换数据的传送。模拟通道选择信号A、B、C分别接P2.0、P2.1、P2.2),而地址锁存允许信号ALE由P2.3控制,则8路模拟通道的地址为0FEF8H~0FEFFH。START信号接由P2.4控制。因为ADC0809可直接在2MHZ的时钟频率下工作,所以利用单片机的30脚ALE的输出2MHZ作为CLOCK信号。(单片机的晶振接12MHZ)另外参考电压直接利用本系统的Vcc,因此要求Vcc为标准的5V电压。3.4热释红外电路红外线是一种光线,是太阳光线中众多不可见光线中的一种,具有普通光的性质,可以以光速直线传播。红外线由德国科学家霍胥尔于1800年发现,又称为红外热辐射(Infraredradiation)。红外线可分为三部分,即近红外线,波长为0.75~1.50μm之间;中红外线,波长为1.50~6.0μm之间;远红外线,波长为6.0~l000μm之间。随着科学技术的发展,红外线越来越广泛的应用于通讯、军事、航天、医疗、考古、天文、探测等科学领域,即使在日常生活和农业生产中也广泛应用到红外技术。如红外线取暖器、红外自动干手器、红外线报警器、远红外粮食烘干等。热释电红外线传感器是80年代发展起来的一种新型高灵敏度探测元件。它能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。将这个电压信号加以放大,便可驱动各种控制电路。本文以热释电红外线传感器RE200B为例,介绍它在报警电路中的应用。3.4.1热释红外线传感器RE200BRE200B采用TO-5封装形式如图3-8所示,正常工作直流电压3-10V;信号输出电压最小值2.5V,典型值4V;噪声输出电压最大250mV,典型值90mV,频率响应0.3Hz—3Hz,增益±10Bb。该传感器探测范围平视角138度,仰视角125度。如图5所示。在传感器前安装菲涅尔透镜可以增大探测范围,增强传感器工作的稳定性。此传感器工作在7—14um的红外光谱之间。正常工作周围环境温度范围-300--700,储存温度-400—800。为了防止传感器工作失灵,防止传感器丢失其物理特性,切勿将传感器置于以下情况或环境中:1、在温度快速变化的环境中。2、在强烈震动的环境中。3、在浓雾环境或者干扰传感器接收红外线的环境中。4、在有流动的腐蚀性气体或海风的环境中。5、暴露在阳光直射的环境中。6、暴露在热风或有热源的环境中。图3-8TO-8封装图3.4.2菲涅尔透镜菲涅尔透镜利用透镜的特殊光学原理,在探测器前方产生一个交替变化的“盲区”和“高灵敏区”,以提高它的探测接收灵敏度。当有人从透镜前走过时,人体发出的红外线就不断地交替从“盲区”进入“高灵敏区”,这样就使接收到的红外信号以忽强忽弱的脉冲形式输入,从而强其能量幅度。3.4.3电路组成框图该报警器主要由红外传感器、信号放大电路、电压比较器、延时电路,如下图所示:红外热释传感器红外热释传感器信号放大电路电压比较器LED灯延时电路输出图3-9红外热释传感器电路3.4.4电路结构组成及原理分析热释红外线传感器RE200B是接收人体发出红外线的核心元件,是整个电路的信号接收部分。该传感器放在不同的防范区域,一旦有人闯入防范区域,传感器输出感应到的信号,送入下一级电路。如图3-9所示。第一级主要由元件VT1、R2和R3组成单管共射放大电路。由RE200B输出的信号由电容C1耦合送到VT1的基极。第二级主要由元件IC2A、R4、R7、R8、C2、C3和C4组成高增益、低噪声的同相比例运算放大电路,该电路具有共模输入电压高、输入电阻高、输出电阻低的特点。电压比较电路主要由元件IC2B、R10、R11、R12、C5和VD1组成。图3-10红外热释传感器电路具体组成3.5显示电路目前,液晶显示模块与单片机的连接一共有四种方法:8位并行、4位并行、3位串行和2位串行。其中用得比较广泛的是8位和3位串行,下面就分别介绍一下这两种方法。8位并行法首先使用AT89S52单片机的8个I/O口(如P1.0-P1.7)分别与MS12864RLCM的8位数据口(DB0-DB7)相连,构成数据数据传输通道。另外单片机还需3个I/O口分别与LCM的读/写选择口(R/W)、数据/命令选择口(D/I)、使能信号输入口(E)连接。这种接法的优点是编程简单,易于单片机控制,缺点是单片机需要太多的I/O口与LCM连接,不适合在I/O口使用紧张的情况。3位串行法只需用单片机的3个 I/O口分别与LCM的片选输入口(CS)、串行数据口(SID)和时钟输入口(SCLK)相连接即可。这种接法的优点是与单片机的接口简单,适合在单片机I/O口紧张的情况使用,缺点是时序复杂,编程难度大,不易于单片机编程控制。考虑到许多场合单片机I/O口使用紧张,本控制器使用3位串行接法。FM12864M-12L模块的电路设计以及与AT89S52的接口电路如图3-11所示。图3-11FM12864M-12L与AT89S52连接图3.6按键电路本设计采用一个4×4的键盘,具体电路如图3-12:图3-12按键电路3.7通信电路RS-485作为一种多点差分数据传输的电气规范,现已成为业界应用最为广泛的标准通信接口之一,这种通信接口允许在简单的一对双绞线上进行多点双向通信。它所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的。正因为此,许多不同领域都采用RS-485作为数据传输链路。这项标准得到广泛接受的另外一个原因,是它的通用性RS-485标准只对接口的电气特性做出规定,而不涉及接插件电缆或协议。在此基础上,用户可以建立自己的高层通信协议。本系统采用SP485芯片来组成RS485串口通信,电路图如图3-13。图3-13通信电路3.8门铃设计在此基础上,设计门铃,采用继电器控制门铃220V导通,电路图如图3-14。图3-14门铃设计4系统程序设计计算机在完成一项工作时,必须按顺序执行各种操作。这些操作是程序设计人员用计算机所能够接受的语言把解决问题的步骤事先描述好的,也就是事先编制好计算机程序,再由计算机去执行。另外,一个有效率的控制系统还需要完善的算法,由算法绘制出相应的流程图,这样根据流程图编制软件程序。4.1设计思路与流程图系统要设计智能门铃系统,需要实现红外热释信号与A/D转换、数据处理、数据输出等基本功能。软件系统框图如图4-1所示:数据处理子程序数据处理子程序红外采集子程序通信子程序显示子程序图4-1软件系统框图4.2显示子函数因为显示用到4位一体LED数码管,考虑到AT89C51的I/O口不足,所以采用采用动态扫描法实现4位数码管的数值显示。通过控制P3口的输出数值控制LED亮与不亮,从而达到动态显示,节省I/O口的目的。测量所得的A/D转换数据放在定义的ad_data内存单元中,测量所得的A/D数据在显示时需要经过转换变成十进制BCD码。4.3模/数转换测量子函数模/数(A/D)转换测量子函数用来控制对ADC0809的模拟输入电压进行A/D转换,并将对应的数值移入内存单元。其程序流程如图4-2。开始启动一次转换开始启动一次转换A/D转换结束?EOC=1?NY取数据(OE=1)返回ALE为地址锁存允许输入线,高电平有效。ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。当EOC变为低电平时,这时给OE为高电平,转换的数据就输出给单片机了。ADC0809进行A/D转换时,通过ALE为高电平,使输入有效,然后ALE改为低电平,锁存地址,地址锁存后将ST置高电平,使ADC0809内部寄存器清零,再ST置高电平,芯片开始进行A/D转换。当EOC为高时,转换结束。这时把OE置为1,。将转换成功的数据送给单片机,完成一次模/数转换。4.4按键扫描函数系统设置16个按键用于设计密码解锁。键盘扫描程序,实现如下:PROC
KEYCHK
KEYNAME
DATA
40H
;按键名称存储单元
;(b7-b5纪录按键状态,b4位为有效位,
;b3-b0纪录按键)
KEYRTIME
DATA
43H
;重复按键时间间隔
SIGNAL
DATA
50H
;提示信号时间存储单元
KEY
EQU
P3
;键盘接口(必须完整I/O口)
KEYPL
EQU
P0.6
;指示灯接口
RTIME
EQU
30
;重复按键输入等待时间KEYCHK:
;//=============按键检测程序=============================================
MOV
KEY,#0FH
;送扫描信号
MOV
A,KEY
;读按键状态
CJNE
A,#0FH,NEXT1
;ACC<=0FH
;
CLR
C
;Acc等于0FH,则CY为0,无须置0
NEXT1:
;
SETB
C
;Acc不等于0FH,则ACC必小于0FH,
;CY为1,无须置1
MOV
A,KEYNAME
ANL
KEYNAME,#1FH
;按键名称屏蔽高三位
RRC
A
;ACC带CY右移一位,纪录当前按键状态
ANL
A,#0E0H
;屏蔽低五位
ORL
KEYNAME,A
;保留按键状态
;//=============判别按键状态,决定是否执行按键扫描========================
CJNE
A,#0C0H,NEXT2
;110按键稳定闭合,调用按键检测子程序
SJMP
KEYSCAN
NEXT2:
CJNE
A,#0E0H,NEXT3
;111按键长闭合,重复输入允许判断
SJMP
WAIT
NEXT3:
CJNE
A,#0A0H,EXIT
;101干扰,当111长闭合处理
ORL
KEYNAME,#0E0H
WAIT:
MOV
A,KEYRTIME
JNZ
EXIT
;时间没到,退出
;//=============键盘扫描程序==============================================
KEYSCAN:
MOV
R1,#0
;初始化列地址
MOV
R3,#11110111B
;初始化扫描码
LOOP:
MOV
A,R3
RL
A
MOV
R3,A
;保留扫描码
MOV
KEY,A
;送扫描码
MOV
A,KEY
;读键盘
ORL
A,#0F0H
;屏蔽高四位
CJNE
A,#0FFH,NEXT31
;A不等于FFH,说明该列有按键动作
INC
R1
;列地址加1,准备扫描下一列
CJNE
R1,#4,LOOP
;列地址不等于4,扫描下一列
SJMP
EXIT
;没有按键,退出
;//=============按键判断对应位等于零,说明该行有按键按下==================
NEXT31:
JB
ACC.0,NEXT32
MOV
R2,#0
;第0行有按键
SJMP
NEXT5
NEXT32:
JB
ACC.1,NEXT33
MOV
R2,#1
;第1行有按键
SJMP
NEXT5
NEXT33:
JB
ACC.2,NEXT34
MOV
R2,#2
;第2行有按键
SJMP
NEXT5
NEXT34:
MOV
R2,#3
;第3行有按键
NEXT5:
;计算按键地址
MOV
A,R1
RL
A
RL
A
;列地址乘4(每列对应4行)
ADD
A,R2
;加行地址
MOV
DPTR,#KEYTAB
MOVC
A,@A+DPTR
ANL
KEYNAME,#0E0H
ORL
KEYNAME,A
;送按键(送值的时候已经置按键有效)
MOV
KEYRTIME,#RTIME
;送重复按键等待时间
CLR
KEYPL
;打开指示灯
MOV
SIGNAL,#10
;送信号提示时间(每次按键闪100ms)
EXIT:
MOV
KEY,#0FFH
;置键盘接口高电平
RET
;退出
DB
1BH
;扫描码1,对应B
**
**
DB
1CH
;扫描码2,对应C
**
I/O口
PX.4
PX.5
PX.6
PX.7
**
DB
1DH
;扫描码3,对应D
**
**
DB
11H
;扫描码4,对应1
**
PX.0
A(0)
1(4)
2(8)
3(C)
**
DB
14H
;扫描码5,对应4
**
**
DB
17H
;扫描码6,对应7
**
PX.1
B(1)
4(5)
5(9)
6(D)
**
DB
1EH
;扫描码7,对应E
**
**
DB
12H
;扫描码8,对应2
**
PX.2
C(2)
7(6)
8(A)
9(E)
**
DB
15H
;扫描码9,对应5
**
**
DB
18H
;扫描码A,对应8
**
PX.3
D(3)
E(7)
0(B)
F(F)
**
DB
10H
;扫描码B,对应0
**
**
DB
13H
;扫描码C,对应3
******************************************
DB
16H
;扫描码D,对应6
DB
19H
;扫描码E,对应9
DB
1FH
;扫描码F,对应F
END4.5数据处理程序设置分辨率为8位转化后得到的数据,进行相应的处理,系统根据数据情况进行控制处理。红外热释传感器信号与光强信号的采集与A/D转换,并把数据传递给单片机,并保存起来。数据处理时,把数据取出来,放在一个整型变量中。首先取出整数部分进行处理,求出数据十进制表示时的百位、十位及个位,再求小数部分数据计算流程图如图4-3所示。整数部分计算程序保存数据小数数据整数部分计算程序保存数据小数数据计算程序保存数据1开始返回图4-3光强值计算程序流程图整数寄存器除以100商存入百位寄存器整数寄存器除以100商存入百位寄存器余数存入整数寄存器除以10商存入十位寄存器余数存入个位寄存器小数寄存器把小数部分逐次与00H~0FH比较若相等时进行相应置位保存整数寄存器返回返回开始开始图4-4整数计算子程序流程图图4-5小数计算子程序流程图4.6通信程序行通信有两种工作方式,查询方式和中断方式。当系统工作在指令状态时,程序一直处于等待上位机命令状态,所以本设计采用查询方式进行串口通信。根据制定的串行通信协议和串口数据块的格式。系统上电后,系统处于等待上位机命令状态,两者经过第一次握手通信后,上位机才能向系统发送相应的命令数据包,通信中每两个字节的最大间隔时间为15ms,然后系统根据数据包中的长度值和BCC校验码,进行判断通信是否正确,正确后根据相应的命令值执行相应的操作。系统执行命令后要向上位机返回数据包,同样,首先也要经过一次握手通行后,系统才能向上位机发送数据包。下面仅给出系统在查询方式下串行通信的部分程序。……TMOD=0x21;//定时器1状态设置,T1为方式2定时TH1=0xFD;TL1=0xFD;//设定波特率为9600bpsSCON=0x50;PCON=0x00;//波特率不倍增TR1=1;//开启定时器1while(!RI);//一直等待数据来临RI=0;//有数据则清RItemp=SBUF;//接收STXif(temp==0x02)//判断接收是否为STX{SBUF=0x06;while(!TI);TI=0;//返回ASK,完成第一次握手通信TL0=0x00;TH0=0xCA;//设置定时器0初值TR0=1;//开启定时器05系统调试和功能测试单片机的系统调试主要包括硬件调试和软件调试,这两者是不能分开的,许多硬件错误是在软件调试中被发现和纠正的。但通常是先排除明显的硬件故障以后,再和软件结合起来调试以进一步排除故障。可见硬件的调试是基础,如果硬件调试不通过,软件设计则是无从做起。5.1系统硬件调试硬件设计方面从布线到焊接安装完成之后,就开始进入硬件调试阶段。首先,我们应该排除元器件失效问题。造成这类错误的原因有两个:一是元器件买来时就已坏了;另一个是由于焊接错误,造成器件损坏。要排除这种错误我们可以采取检查元器件与设计要求的型号、规格和连接是否一致,在保证安装无误后,用替换方法排除错误。其次,排除电源故障问题。在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查VCC与GND之间电位,若在5V~4.8V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。本次设计的硬件调试顺序为先显示器后键盘。在显示器调试通过后,键盘调试就比较简单,完全可以借助于显示器,利用程序进行调试。利用开发装置对程序进行设置断点,通过断点可以检查程序在断点前后的键值变化,这样可知键盘工作是否正常。硬件上的故障往往由于设计和加工制板过程中工艺性错误所造成的。主要包括错线、开路、短路。排除的方法是首先将实物连接板认真对照原理图,看两者是否一致。应特别注意电源系统检查,以防止电源短路和极性错误,并重点检查系统总线(地址总线、数据总线和控制总线)是否存在相互之间短路或与其它信号线路短路。必要时利用数字万用表的短路测试功能,可以缩短排错时间。5.2系统软件调试在确认过硬件电路连接及焊接工艺无误后,我们就开始采用连击仿真的方式进行软件调试。一般,我们使用KeilC51uVision2进行仿真调试。KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,它提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。同时,编译后生成的汇编代码效率很高,多数语句生成的汇编代码很紧凑,易于理解。同时,联机仿真必须借助仿真开发装置、示波器、万用表等工具,这些工具是单片机开发的最基本工具。调试手段可采用单步或设置断点运行方式,检查程序执行结果是否符合设计要求。通过检测可发现程序中的死循环错误、机器码错误及转移地址的错误。同时也可以发现用户系统中的硬件故障,软件算法及硬件设计错误。
6结束语本设计利用单片机AT89C51控制与模数转换ADC0809,实现模拟信号转换数字信号的功能。ADC0809与单片机连接电路简单,利用4位数码管实现动态显示节省了大量的接口资源。ADC0809为8路的数字转换,该芯片功能强大,性能优越,能为很多领域,特别是对模拟量转的换工作精确性和可靠性有较高要求的场合,提供较好的实时转换。但是,由于ADC0809易受环境影响,会使该电路出现数据精度不高、显示混乱等问题,还有待继续研究和改进。关于本次毕业设计,由于设计经验的不足和所掌握知识的限制,当初设想的一些其他功能无法完全实现。这次的设计应该说是我们之前三年多的学习的一个汇总报告,通过这次的设计让我想到许多之前犯的错误。太习惯于考试,所以没有把学习的目标摆正,学的很多知识都只是为了应付考试而学,对于自己真正掌握了解的只是却显得十分不足,所以从一开始的设计就显得自己无从下手。从这次毕业设计中,让我更深刻的体会到理论联系实际的重要性,只有多听多看多实践,才能更好的运用所学知识。这对于以后的学习工作都同样的重要,让我更好的意识到:实践方能出真知。
致谢首先,我要衷心感谢我的指导老师!本次设计的选题及论文的修改,老师都给予了悉心指导和帮助,在此,献上最诚挚的敬意。另外要感谢自己本科学习生活中帮助我的同学们和老师们,感谢她们在毕业设计期间为我提供的无私帮助!在课题进行到比较困难的时候,经常能提出宝贵的意见及给了我很强大的力量帮助。最后,向在百忙中抽出宝贵时间参与论文评审和答辩的专家和评委们,表示由衷地感谢!
参考文献刘笃仁.传感器原理及应用技术[M].西安:西安电子科技大学出版社,2003.吕泉.现代传感器原理及应用[M].北京:清华大学出版社,2006.张洪润.传感器技术大全[M].北京:北京航空航天大学出版社,2007.潘永雄.新编单片机原理与应用[M].西安:西安电子科技大学出版社,2005王建校,杨建国,宁改娣,危建国.51系列单片机及51程序设计[M]北京:科学出版社,2002樊延虎,邵思飞,刘根据.一种单片机键盘显示系统的设计[J].延安大学学报(自然科学版).2002,(02):29-30马忠梅,刘滨,戚军,马岩.单片机C语言Windows环境编程宝典[M].北京:北京航空航天大学出版社,2003蒋延彪,刘电霆,方华等.单片机原理及应用[M].重庆:重庆大学出版社,2003HanJianguo,MiuJunbi,andGuiyunTian.FoundationandApplicationMicrocontroller[M].HigherEducationPress,2004,(11):54-162张靖武,周灵杉.单片机系统的PROTEUS设计与仿真[M].北京:电子工业出版社,2007董普松.Protues在单片机系统设计中的应用[J].现代电子技术.2008,(14):153-154刘淑红,张国玉.单片机系统的PROTEUS和KEIL联调设计与仿真[J].仪器仪表用户.2009,(02):97-98附录一附录二部分源程序:PROC
KEYCHK
KEYNAME
DATA
40H
;按键名称存储单元
;(b7-b5纪录按键状态,b4位为有效位,
;b3-b0纪录按键)
KEYRTIME
DATA
43H
;重复按键时间间隔
SIGNAL
DATA
50H
;提示信号时间存储单元
KEY
EQU
P3
;键盘接口(必须完整I/O口)
KEYPL
EQU
P0.6
;指示灯接口
RTIME
EQU
30
;重复按键输入等待时间KEYCHK:
;//=============按键检测程序=============================================
MOV
KEY,#0FH
;送扫描信号
MOV
A,KEY
;读按键状态
CJNE
A,#0FH,NEXT1
;ACC<=0FH
;
CLR
C
;Acc等于0FH,则CY为0,无须置0
NEXT1:
;
SETB
C
;Acc不等于0FH,则ACC必小于0FH,
;CY为1,无须置1
MOV
A,KEYNAME
ANL
KEYNAME,#1FH
;按键名称屏蔽高三位
RRC
A
;ACC带CY右移一位,纪录当前按键状态
ANL
A,#0E0H
;屏蔽低五位
ORL
KEYNAME,A
;保留按键状态
;//=============判别按键状态,决定是否执行按键扫描========================
CJNE
A,#0C0H,NEXT2
;110按键稳定闭合,调用按键检测子程序
SJMP
KEYSCAN
NEXT2:
CJNE
A,#0E0H,NEXT3
;111按键长闭合,重复输入允许判断
SJMP
WAIT
NEXT3:
CJNE
A,#0A0H,EXIT
;101干扰,当111长闭合处理
ORL
KEYNAME,#0E0H
WAIT:
MOV
A,KEYRTIME
JNZ
EXIT
;时间没到,退出
;//=============键盘扫描程序==============================================
KEYSCAN:
MOV
R1,#0
;初始化列地址
MOV
R3,#11110111B
;初始化扫描码
LOOP:
MOV
A,R3
RL
A
MOV
R3,A
;保留扫描码
MOV
KEY,A
;送扫描码
MOV
A,KEY
;读键盘
ORL
A,#0F0H
;屏蔽高四位
CJNE
A,#0FFH,NEXT31
;A不等于FFH,说明该列有按键动作
INC
R1
;列地址加1,准备扫描下一列
CJNE
R1,#4,LOOP
;列地址不等于4,扫描下一列
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024建设工程检测合同
- 门诊部护理及治疗规范
- 塑料制品在工业设计中的应用考核试卷
- 服装行业质量标准分析
- 建筑施工安全常识教育考核试卷
- 供应链优化项目计划书考核试卷
- 大数据在数字创意设计评价中的应用与发展考核试卷
- 内陆养殖实现乡村振兴的新模式考核试卷
- 企业教育培训的团队协作考核试卷
- Salbutamol-hemisulfate-Standard-生命科学试剂-MCE
- 头痛的国际分类(第三版)中文
- 音乐ppt课件《小小的船》
- 幼儿园教学课件语言教育《雪地里的小画家》
- 结构化面试经典100题及答案
- ESG引领下的西部城市再出发-新型城市竞争力策略研究白皮书
- 小学生班干部竞选自我介绍PPT模板公开课一等奖市赛课获奖课件
- 万科物业岗位说明书2
- 音乐教学说课
- 边坡喷锚施工方案全套资料
- 国家安全教育知到章节答案智慧树2023年临沂职业学院
- 检验科生化项目临床意义ppt课件-生化室项目临床意义ppt
评论
0/150
提交评论