《智能家居门禁系统的研制41.docx》由会员分享,可在线阅读,更多相关《智能家居门禁系统的研制41.docx(43页珍藏版)》请在三一办公上搜索。
1、项目研究报告智能家居门禁系统的研制项 目 研 究 报 告项 目 批 准 号 XZ0701 项 目 名 称 智能家居门禁系统的研制 项 目 负 责 人 李 辉 所 在 单 位 石家庄经济学院 目 录一、研究的主要意义和目的 3二、研究的主要内容、方法及过程 3第一节 研究主要内容 3第二节 研究方法 3第三节 研究过程 3三、主要研究的成果介绍 4第一节 智能门禁系统概述 4第二节 语音提示模块设计 4第三节 智能拨号报警 12第四节 自动照明模块设计 21第五节 电子门锁模块设计 26第六节 设置无人状态模块设计 30第七节 单片机汇编程序设计 31四、学术价值的的自我评价 39五、成果的社会
2、影响 39第一节 课题研究取得的主要业绩 39第二节 课题研究的应用前景和社会影响 39六、研究中尚存在的问题 41参考文献41项目编号:XZ0701智能家居门禁系统的研制项 目 研 究 报 告项目组负责人:李 辉主要成员:张立亚摘要:为了给人们提供一个安全,舒适和谐的家居环境,本文采用单片机AT89C51、语音芯片ISD2560等,构成一个具有语音留言、警告、笛声报警、智能电子门锁、人体红外线感应自动照明灯等功能的家居系统,用户可根据家庭的实际需要方便地进行扩展,此系统的设计体现了人性化,个性化和趣味化三大特点,使用方便,快捷,稳定,安全。关键词:单片机;语音芯片;门禁系统43一、研究的主要
3、意义和目的众所周知,高科技带给我们生活的不断改善,更为我们提升需求层次,尽快达到马斯洛人类需求理论的第四层次,体验尊贵的价值提供了保障。如何把高科技尽快转化为产品,是世界各国技术人才追求的目标。随着社会的发展进步,家居门禁的研制也已成规模。门禁系统又称出入口控制系统,是一种高度智能化既可实时控制又可脱机使用的通道监管、报警安全系统。它是安全防范系统中非常重要的组成部分。在家庭防盗和智能控制中起到非常重要的作用,受到现代家庭的亲睐。如何使家居的门禁系统设计变的人性化、个性化、趣味化、实现智能性已经成为家居门禁设计的一个值得研究拓展和有市场价值的方向,本文就是基于这样的思想,以AT89C51单片机
4、为核心结合一些传感器、其它智能芯片,以模块化、积木式的原则设计了一种家居门禁系统,其功能性,实用性,价值性都得到相当完善的理论研究。二、研究的主要内容、方法及过程第一节 研究主要内容单片机是一个集成在一块芯片上的完整计算机系统。它具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,而且价值不断被扩大,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。我们结合目前所学知识和市场上应用最普遍的AT89C51单片机,集合其他的接口芯片和辅助设备,组成了一个智能智能家居门禁系统。目前,我们已经对该系统进行了理论上的可行性分析和一些实验验证,得到了有关
5、老师和专家的指导,并且于2008年四月份在科学技术与工程杂志社发表有关成果论文一篇。该门禁系统有五大功能模块组成:语音提示设计模块、计智能拨号报警设计模块、自动照明设计模块、电子门锁设计模块、设置无人状态设计模块。构成了一个性能上良好,功能上齐全的家居门禁。第二节 研究方法我们采用理论、实验相结合方法,对智能门禁系统各个模块进行了认真的研究。第三节 研究过程1、实验准备阶段(2007年4月2007年4月)总结经验,调整方向。我们结合自己的基本情况以及老师的建议,通过对该项目的内容和原理进行了系统的分析,初步形成了项目研究方案和明确的努力方向。2、初步实验阶段(2007年5月2007年7月)重点
6、学习,努力提高完成课题实验的各项准备后,我们对处于核心地位的单片机的有关知识进行了系统学习,努力提高自己的综合能力,为项目的开展和研究做充分的准备。在此期间我们了解了单片机的硬件结构如定时器/计数器、中断系统、存储器、并行和串行I/O口等,然后是指令和软件编程,对于单片机的一些简单控制和编程有了一定的掌握。对于实验所用到的各中芯片资料进行大量收集,提取我们所需要的技术性资料。3、全面研究阶段(2007年8月2007年10月)理论实验,全面推进具备一定的研究基本条件,我们进行了有关元器件的购买,进入实验和理论结合的阶段。完成了单片机的焊接和测试,并利用其进行语音控制的实验等。4、项目总结阶段(2
7、007年10月2008年3月)提炼精华,成果展示根据项目研究方案和结题要求,本项目组认真开展了结题工作,对实验过程和主要内容进行了总结提炼,对该智能门禁系统进行深度的理论分析,以便形成有价值的研究成果。我们把一些模块的实验验证和理论分析的结果进行了汇总,然后进行了论文的撰写。于2008年年初在科学技术与工程杂志社发表有关成果论文一篇。三、主要研究的成果介绍第一节 智能门禁系统概述智能家居门禁系统把自动照明、语音提示录音、设置无人状态、智能电子门锁和智能语音拨号报警系统通过AT89C51单片机连接在一起,构成一个智能化、智能的家庭实用型门禁系统。其系统框图见图1.1。图1.1: 多功能门禁系统
8、智能门禁系统自动照明系统智能电子门锁无人状态功能语音拨号系统语音提示录音以单片机AT89C51为核心,把语音芯片ISD2560接口所构成的外设电路以及其他智能设备电路与单片机的数据存储器(RAM)和程序存储器(EPROM)统一编制址的方式把两片器件挂入数据地址总线中,构成了一个智能家居门禁系统。图1.2给出的是智能门禁系统模块原理。图1.2: 智能门禁系统模块原理电路结构简图AT89C51语音模块报警模块 照明模块辅助模块第二节 语音提示模块设计2.1简述过去,数码语音的开发设计不但结构设计复杂、编程录制麻烦、开发生产成本高,而且音质欠佳,难以实用。现在,一切都发生了彻底的改变:单芯片设计、任
9、意语言音乐随录随放、断电语音不丢失、音质接近磁带效果、控制功能强大、价格低廉等等,这一切就是ISD数码语音电路给我们带来的变革。在多媒体技术广泛应用、市场竞争日益激烈的今天,几乎所有的产品都更注重人机界面的友好性、易用性和安全性,人性化的语音提示是最自然、最廉价、最有效的手段,它可以为您设计的产品升级换代,让您的新产品“开口说话”,使它更具说服力、竞争力。ISD系列语音电路是美国ISD(Information Storage Device)公司的专利新产品,它打破了传统的先A/D再D/A的模式,而采用独特的直接存储模拟信号技术,从而大大提高了存储密度,且使模拟信号得到永久保存。ISD系列电路以
10、其音质自然、使用方便、单片存储、反复录放、低功耗、抗断电等众多优点立即在语音应用领域确立了其不可争辩的霸主地位,它在通讯设备、智能仪表、治安报警、语音报站、报数报价、语音讲解、语音记录、语音复读、教学仪器、智能玩具、电子礼品等场合获得了广泛的应用。2.2电路特点与性能ISD语音电路主要有1200、1400、2500、3300、4000五大系列产品,它们的主要存贮时间及性能如下表2.1所示:表2.1 ISD语音电路主要存贮时间及性能器件型号存储时间采样频率最大段数控制方式电压ISD121010秒6.480地址并行5VISD142020秒6.4160 地址并行5VISD2560/90/12060/
11、90/120秒8.0/5.3/4.0600/600/600地址并行5VISD33060/120/24060/120/240秒8.0/8.0/4.0400/800/800SPI串行3VISD4002-2/3/42/3/4分钟8.0/5.3/4.0600SPI串行3VISD4003-4/6/84/6/8分钟8.0/5.3/4.01200SPI串行3VISD4004-8/12/168/12/16分钟8.0/5.3/4.02400SPI串行3V表2.2 DIP各引线端功能(1)DIP封装图及各引线端功能引线端名称功能17AO/MOA6/M6地址810A7A9地址11AUX IN辅助输入12、13VSS
12、D、VSSA数字和模拟地14、15SP+、SP-扬声器输出16、28VCCA、VCCD模拟、数字信号电源正极17、18MIC、MIC REF麦克风输入与输入参考端19AGC自动增益控制20、21ANA IN、OUT模拟信号输入和输出22溢出23片选(低电平允许芯片工作)24PD芯片低功耗状态控制25录放音结束信号输出26XCLK外部时钟27P/录/放控制选择如图2.1及表2.2所示。图2.1 DIP封装图下图2.2为ISD系列芯片的内部基本结构框图,由图可知,在这种CMOS器件内部,MIC前置放大器、自动增益控制电路、抗干扰滤波器、平滑滤波器、扬声器、放大器和振荡器、模拟量存储器等全部集成在该
13、单片内,只要外接MIC、扬声器和几个电阻、电容、开关,再加上电源(电池),这就构成了一个完整的语音录/放系统。而与此有明显不同的是,前述的T6668等系列语音芯片则需外接扬声器、放大器、石英晶振、动态存储器等电路。图2.2 ISD2500系列结构图图2.2中,管脚MIC(17脚)为麦克风输入端。MICREF(18脚)为麦克风参考输入端。ANAOUT(21脚)为模拟输出端,ANAIN(20脚)为模拟输入端。AGC(19脚)为自动增益控制输入端,SP+、SP-(14、15脚)为扬声器输出端,可接816的扬声器。PD(24脚)为低功耗输入端。CE(23脚)为片选输入端,低电平有效。P/R(27脚)为
14、录/放音选端,接高电平时芯片放音,低电平时芯片录音。XCLK(26脚)为外部时钟输入端。EOM(25脚)为信息录/放结束输出端,放音结束时自动输出一个负脉冲。OVF(22脚)为溢出输出端,本管脚可被用来进行器件的串联,以加长录/放音的时限。AUXIN(11脚)为辅助输入端。Vcca、Vccd(16、18脚)为电源输入端。Vssa、Vssd(12、13脚)为地输入端。A0至A9为地址输入端。ISD录/放技术与80年代的T6668等语音芯片最大差别在于ISD芯片内不存在A/D和D/A转换器。其工作原理是采用直接模拟存储技术,把模拟量成功的存入半导体存储器中。即在对输入的音频模拟量每作一次取样时,电
15、压数据被暂存在芯片内的取样保持电路中并最后被存储在片内的EEPROM存储单元中。该EEPROM存储单元构成模拟量存储阵列(如图1所示)。在将模拟量信息写入模拟存储单元EEPROM时,ISD线路采用闭环方式。取样保持电路将保持的取样电压值提供给比较器的一个输入端,而模拟量存储单元则将其电压输入至比较器的另一端。在多次写入中,电子被“泵入”存储单元,并使存储电平反馈到比较器,当模拟存储单元的输出电压等于取样保持电平时,则停止写入。(2)操作模式表2.3当最高位地址(MSB)A8、A9都为高电平时,地址端 就作为操作模式选择端 (高电平有效)如下表2.3所示。模式控制功能典型应用A0/M0信息检索快
16、速检索信息A1/M1删除EOM标志在全部语音录放结束时,给出EOM标志A2/M2未用当工作模式 操作时,此端应接低电平A3/M3循环放音从0地址开始连续重复放音A4/M4连续寻址可录放连续的多段信息A5/M5CE电平触发允许信号中止A6/M6按钮控制简化器件接口使用操作模式时需要注意两点:1、所有操作模式下的操作都是从0地址开始,以后的操作根据模式的不同,而从相应的地址开始工作。当电路中录音转放音或进入省电状态时,地址计数器复位为0。2、操作模式位不加锁定,可以在MSB(A8、A9)地址位为高电平时,CE电平变低的任何时间执行操作模式操作。如果下一片选周期MSB(A8、A9)地址位中有一个(或
17、两个)变为低电平,则执行信息地址,即从该地址录音或放音,原来设定的操作模式状态丢失。3)分段录放音 2500系列最多可分为600段,只要在分段录/放音操作前(不少于300纳秒),给地址A0A9赋值,录音及放音功能均从设定的起始地址开始,录音结束由停止键操作决定,芯片内部自动在该段的结束位置插入结束标志(EOM);而放音时芯片遇到EOM标志即自动停止放音。2500系列地址空间是这样分配的:地址0599作为分段用(见下表2.4),地址600767未使用,地址7681023为工作模式选择。表2.4 2500系列地址空间分配十进制二进制信息时间(秒)A9A8A7A6A5A4A3A2A1A0256025
18、752590000000000000005000001100105.06.257.50100000110010010.012.515.0250001111101025.031.2537.5300010010110030.037.545.0400011001000040.050.060.0500011111010050.062.575.0599100101011159.974.8789.852.3电路的应用开发ISD系列单片语音录放电路中,目前使用最广泛的是ISD1420、ISD2560/90/120、ISD4002/4003/4004三大类芯片,大多数的应用系统或OEM都是由它们构成的,这里对
19、ISD2500常用电路的应用开发进行说明。ISD2500系列芯片按录放时间60秒、75秒、90秒和120秒分成ISD2560、2575、2590和25120四个品种。ISD2500系列和1400系列语音电路一样,具有抗断电、音质好,使用方便,无需专用的语音开发系统等相同优点。它的最大特点在于片内E2PROM容量为480K(1400系列为128K),所以录放时间长;有10个地址输入端(1400系列仅为8个),寻址能力可达1024位;最多能分600段;设有OVF(溢出)端,便于多个器件级联。1、典型应用电路:图2.3 典型应用电路图2.4 按键模式应用电路3、和微处理器配合使用电路图2.5 和微处
20、理器配合使用电路ISD2560/90/120P地址功能表如下表2.5所示。地址状态功能状态DIP开关123456789101112(ON=0,OFF=1)地址位A0A1A2A3A4A5A6A7A8A9P/RCE(1为高电平,0为低电平,*为高或低电平)0000000000一段式最长60秒录放音,从首地址开始。1000000000以十位二进制表示地址,每个地址代表100毫秒。地址模式0000000010一段从A6地址开始的12秒录放音。*0只要A8、A9有一位是0,就处于地址模式。*0*0001000011循环放音操作,按住CE键不放循环放音第一段。操作模式0000100011按顺序连续分段录放
21、音,录音时压住CE键不放,放音时每触发一次CE键即放音一段,按PD键复位。每段语音长度不限。按钮模式0000001011表2.5 ISD2560/90/120P地址功能表以上给出的只是ISD的基本电路,因ISD的功能较强,如果需要应用ISD的更多功能,可在此基础上加以改进。例如,在对单独ISD芯片使用时,还可选择ISD所特有的工作模式来实现信息提示、循环或连续放音控制、按键模式等多项功能。总之,ISD系列芯片是功能强,很有实用价值的语音芯片。由该芯片组成的语音电路系统保真、可靠、简易。适合在智能测控系统中应用推广。2.4本系统中的应用在对ISD的开发应用中,可分两类电路。一类是只单独应用ISD
22、芯片进行语音录/放。另一类是ISD与微机相接合电路,用微机控制ISD进行录/放。 我们现提出三种单独应用ISD的基本电路。当然,根据需要也可以在该三种电路的基础上设计出更完美的电路。(1)单放电路 该电路仅有放音功能。电路很简单,只要将图2.2中的A0至A9及PD、CE等相连一起接地,再在SP+、SP-接扬声器,即可进行放音,当电源接通时,即放音。当电源关断时,即停止放音,使用者可根据需要,预先将该芯片放入图2.6所示的电路中进行录音储存,然后取出,再进行单放。图2.6 最简单的录/放电路(2)录/放电路 图2.6为最基本的录/放电路,在这种电路中,只是执行录音和放音功能,没有地址的分段应用。
23、芯片工作时,CE信号开始为高电平,在录音时,将P/R-脚通过开关S时接高电平,将CE开关瞬时接地再放开,则已录制的内容将回放。(3)分段录/放电路 可将ISD划分为几段,录进不同的内容,然后根据需要播放某段内容。图2.7 分段录/放电路图2.7即为分段录/放电路,该电路的功能是用一片录/放时间为20S的ISD1020A芯片存储4段(每段5S长)的语音信息。每一段用一个按钮控制。用该芯片的8位地址线确定每段录/放的起始位置。该芯片共有160个有效地址(即:A0A7的有效分段范围为0000000010011111)。由于该芯片录放时间为20S,每个地址语音分辨率为0.125S。这就是说,每8个地址
24、计数等于1S的录/放时间。由于8个计数等于1S,8又是二进制的偶次倍率,小于8的数可忽略不计,这样就可把A0、A1和A2都接地,用剩余的A3A7来编程。用按钮和二极管,我们可以在第1S和第19S之间选择任一间隔启动语音录/放。在图3电路中,4个启动信息的位置是第0S(存储列阵的起点)、5S、10S和15S,每个信息长度为5S。表2给出了上述时间间隔的二进制起始地址。例如当按下第二段的按钮时,该段语音信息的起始地址为00101000。显然,可以用改变二极管的连线来选择不同的地址。二、ISD与微机接口电路 当今,以语音芯片为核心的语音系统正为计算机所采用,逐渐形成计算机的一个功能接口系统,如同计算
25、机的常用外围设备如键盘、打印机等一样,正成为计算机的一个重要外围设备,实现真正的“人机”语音对话。特别是以微电脑为核心的智能测控仪表,如配接上ISD等语音系统,可实现测控参数的“视听”效果一体化,即仪器可视、听并用,效果十分美妙。下面我们提出ISD1020A与单片微机8031的连接电路。单片微机与ISD芯片的电路连接十分简单而且调试方便。其优点是:(1)可很方便的用单片机的I/O口线对ISD地址线编程分段,省略了如图3所示的机械开关S1S4和众多的分段二极管。(2)可很方便地用软件实现一次、多次、循环和定时放音,代替了人工对ISD工作模式的选择。(3)ISD的分段编码电平及控制信号与微机总线的
26、TTL电平完全兼容,而且两者均使用同一电源。将ISD1020A的A0A2接地,A3A7和CE端分别与8031的I/O接口P1.0-P1.5相接。于是,ISD1020A被分为20个语音段,每段时间长度为1S。由单片机控制ISD的录/放,可用同一个录放子程序实现,将录/放开关S拨至相应位置,然后运行录/放子程序,就可将分段或全程段随意录/放。我们正是采用ISD2560芯片,通过程序将ISD2560分成5段每段8秒,分别录入三段代表不同状态的话。正常工作时,单片机根据各个传感器和内部定时的状态,操作ISD2560调出不同的声音段播放。其它语音地址留给来访者按键录音,单片机采用自动加一方式,最多可有2
27、段留言。当没有按下“无人”时,单片机根据红外传感器判断是否有人。自动调用不同的语音、提示、警告或致欢迎辞。原理图见图2.8。图2.8 录/放原理图第三节 智能拨号报警3.1简述随着人们生活水平的提高和安防意识的增强,急需开发面向大众、价格低廉、运行可靠的自动报警系统。鉴于住宅电话和移动通信设备的普及,以及电话语音报警的快捷、有效及价格低廉等优点,公共通信网成了报警系统的最佳传输媒介。本文介绍的报警系统就是在此基础上发展起来的一种智能语音拨号报警系统,该系统可广泛用于各种对安防要求较高的场合,如智能楼宇、商场、银行和工厂等。电话自动报警的主要功能为:用户根据需要把自己的手机号码、办公室电话或报警
28、监控中心的电话预存入报警主机。报警主机不断地对所监控的设备(门禁、烟雾探测器、窗磁、摄像头等)状况进行巡检,当有不安全情况(如火灾、非法入室、视频丢失等)发生时,报警主机拨通预先存入的电话号码,播放相应的警情语音。若电话占线或者无人接听,可拨下一个预存的电话号码,如果所有预存的电话都占线或者无人接听,则会自动把所有的预存电话重拨一遍,保证了报警的有效性和可靠性。3.2 系统组成和工作原理系统组成框图如图3.l所示。采用AT89C51单片机作为控制核心,外接E2PROM用于存储电话号码、设置参数(定时布/撤防、联动、视频等)以及警情信息等。当AT89C51单片机实时巡检到新的警情信号(防区故障、
29、视频丢失、主电断电或上位机死机)时,报警主机就会自动进行警情处理(声光报警、启动相应联动、记录警情以及拨号报警等)。拨号报警的工作原理如下:系统自动地控制摘挂机电路模拟摘机,同时AT89C51单片机通过可编程并行接口8255将MT8880置为呼叫模式,检测是否有拨号音。若有拨号音,则将MT8880设为突发方式,并按用户预设的电话号码自动拨号。拨完电话号码以后立即检测对方是否摘机,一旦检测到对方摘机,就启动语音提示电路发送与警情相一致的语音信息,完成自动拨号报警。图3.1 系统原理框图AT89C51简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Progra
30、mmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。(1)主要特性:与MCS-51 兼容4K字节可编程闪烁存
31、储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 (2)管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上
32、拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八
33、位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表3.1所示:P3口同时为闪烁编程和编程校验接收一些控制信号。表3.1 P3口也可作为AT89C51的一些特殊功能口口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外
34、部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在
35、SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XT
36、AL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。(3)振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(4)芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
37、此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。串口通讯:单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢?SBUF 数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。”实
38、际上SBUF 包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址99H。CPU 在读SBUF 时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H 地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfr SBUF = 0x99;当然你也可以用其它的名称。通常在标准的reg51.h 或at89x
39、51.h 等头文件中已对其做了定义,只要用#include 引用就可以了。SCON 串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON 就是51 芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51 芯片串行口的工作状态。51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON 寄存器。它的各个位的具体定义如下: SM0 SM1 SM2 REN TB8 RB8 TI RISM0、SM1 为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设置。 SM0 SM1 模式
40、功能 波特率 0 0 0 同步移位寄存器 fosc/12 0 1 1 8位UART 可变 1 0 2 9位UART fosc/32 或fosc/64 1 1 3 9位UART 可变在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。表中的fosc 代表振荡器的频率,也就是晶振的频率。UART 为(Universal Asynchronous Receiver)的英文缩写。SM2 在模式2、模式3 中为多处理机通信使能位。在模式0 中要求该位为0。REM 为允许接收位,REM 置1 时串口允许接收,置0 时禁止接收。REM 是由软件置位或清零。如果在一个电路
41、中接收和发送引脚P3.0,P3.1 都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0 来禁止接收,在子程序结束处加入REM=1 再次打开串口接收。大家也可以用上面的实际源码加入REM=0 来进行实验。TB8 发送数据位8,在模式2 和3 是要发送的第9 位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。RB8 接收数据位8,在模式2 和3 是已接收数据的第9 位。该位可能是奇偶位,地址/数据标识位。在模式0 中,RB8 为保
42、留位没有被使用。在模式1 中,当SM2=0,RB8 是已接收数据的停止位。TI 发送中断标识位。在模式0,发送完第8 位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI 置位后,申请中断,CPU 响应中断后,发送下一帧数据。在任何模式下,TI 都必须由软件来清除,也就是说在数据写入到SBUF 后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI 不会由硬件清除,所以这时必须用软件对其清零。RI 接收中断标识位。在模式0,接收第8 位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求CPU 取走数据。但在模式1 中,SM2=1时,当未收到有效的停止位,则不会对RI 置位。同样RI 也必须要靠软件清除。常用的串口模式1 是传输10 个位的,1 位起始位为0,8 位数据位,低位在先,1 位停止位为1。它的波特率是可变的,其速率是取决于定时器1 或定时器2 的定时值(溢出速率)。AT89C51 和AT89C2051 等51 系列芯片只有两个定时器,定时器0 和定时器1,而定时器2是89C52 系列芯片才有的。波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。有一些初学的朋友认为波特率