




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要随着社会科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。 红外电子密码锁是一种以高强度密码序列为基础,在单片机上实现的密码开关。它以红外光作为信息媒体,从而实现了遥控,也可以配备一个结构简单的接触式通讯接口,坚固并且防损。该锁具有使用方便、操作简单、价格低廉等特点,给人们的生活带来了极大方便。特别适用于那些正常人体不宜接近的特殊场合,比如高辐射区、高传染区等。 本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机和从机,实现钥匙信息在主机上的初步认证注册、密码信息的加密、红外传输、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,利用红外来传输,这便于对密码信息的随机加密和保护。而且采用红外遥控相对于机械锁和键盘输入的电子密码锁具有较高的优势。如红外线发射装置采用红外发光二极管,遥控发射器易于小型化且价格低廉;采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,增加遥控功能,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;红外线不会向室外泄露,不会产生信号串扰;反应速度快、传输效率高、工作稳定可靠等。所以红外线遥控是目前使用最广泛的一种通信和遥控手段。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。关键词: 红外线 遥控 电子密码锁 单片机目 录引 言2第1章 绪论41.1 红外通信基本原理41.2 设计要求4第2章 系统方案设计72.1 系统构成框图72.2 系统设计思想7第3章 基本功能设计83.1 选择密码83.2 密码显示83.3 本机键开锁83.4 密码错误报警83.5 遥控开锁93.6 遥控修改密码功能9第4章 遥控设计104.1 采用单片机串行通信原理104.1.1 串行通信基础104.1.2 串行通信中串行I/O和数据的实现114.1.3 串行口的选择及波特率的计算134.2 利用红外线遥控原理14第5章 硬件工作电路原理154.3 遥控发射电路设计155.1 本机键开锁的工作原理165.2 遥控开锁的工作原理165.3 按键显示的工作原理175.3.1 LED显示器结构与原理175.3.2 按键方式18第6章 单片机软件设计206.1 软件结构206.2 AT89C51单片机简介206.3 主要特性21总 结22参 考 文 献23附录 空外遥控电子密码锁程序带源码24引 言锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。锁具发展到现在已有一百多年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。为什么会出现这种情况呢?因为传统锁具都存在致命的弱点:第一、 锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏;第二、 锁具制作工艺,技术落后,无法阻止技术手段的开启。目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言:“没有我打不开的锁。”其实,不是他们多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。本设计就是其中的一种,红外遥控电子密码锁。本设计是利用红外传输为途径,方便远距离开锁,不用像传统锁那样一定要将钥匙插进锁里才能开启;利用单片机来随机产生密码并加密,防止了在开锁时被人中途拦截了密码信息而复制出另外的钥匙来,这是因为密码是随机产生的,每次开锁的具体密码均是不一样的,所以就算窃取了上次开锁的密码也是不能将锁打开。本设计的最大特点就在于采用了双单片机的双向通讯,密码是在锁与钥匙两边均有加密的,从而杜绝了开锁信息被盗取的可能性。该设计具有使用方便、操作简单、价格低廉等特点,特别适用于那些正常人体不宜接近的特殊场合,比如高辐射区、高传染区等。第1章 绪论进入二十一世纪以来各种电子信息技术进入高速发展阶段,包括信息系统技术微电子、计算机和现代通信技术、传感器技术,这也包括红外线技术,红外线是一种人的肉眼看不见的光线,最近二三十年来,初露头角的红外技术,在各个领域里获得了广泛的应用。开始应用到生产上,并形成了一门崭新的技术-红外技术。本设计针对传统机械锁的不足而设计的通过红外来控制的密码锁。1.1 红外通信基本原理红外遥控是单工的红外通信方式,本设计的红外遥控采用以通信方式为基础的红外遥控,而且本设计也使用了红外通信技术,故着重分析红外通信的基本原理。 红外通信是利用红外技术实现两点间的近距离保密通信和信息转发。它一般由红外发射和接收系统两部分组成。发射系统对一个红外辐射源进行调制后发射红外信号,而接收系统用光学装置和红外探测器进行接收,就构成红外通信系统。 红外线是波长在750nm至1mm之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通信一般采用红外波段内的近红外线,波长在0.75um至25um之间。红外数据协会(IrDA)成立后,为了保证不同厂商的红外产品能够获得最佳的通信效果,红外通信协议将红外数据通信所采用的光波波长的范围限定在850至900nm之内。 红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号(载波信号),通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。脉时调制(PPM)是红外数据协会(IrDA)和国际电子电工委员会(IEEE)都推荐的调制方式,本设计采用脉时调制方法,即用两个脉冲串之间的时间间隔来表示二进制信息,数据比特的传送仿照不带奇偶校验的RS232通信,首先产生一个同步头,然后接着8位数据比特,如图1-1所示。图1-1 PPM调制波形图载波信号的频率 f=38KHz,载波周期T=26.32us,本设计使用单片机软件产生载波,取T=26us,脉冲宽度t1=10T=260us,二进制数0的脉冲串周期t2=500us,二进制数1的脉冲串周期t3=1000us。 普通的红外遥控采用面向指令的帧结构,数据帧由同步码,地址码和指令码组成,指令码长度多为816个比特,传送多字节遥控协议时效率偏低,而增加指令码的长度不利于接收器同步,为此本设计选用一种面向字节的帧结构,采用类似于异步串行通信的帧结构,每帧由一个起始位(二进制数0)、8个数据位和2个停止位(二进制数1)构成,如图2-8所示。每帧传送1个字节的数据,帧与帧间隔大于2ms,帧结构不含地址信息,寻址问题由高层协议解决。 图1-2 数据帧结构示意图由于红外光存在反射,在全双工的方式下发送的信号也可能会被本身接收,因此,红外通信应采用异步半双工方式,即通信的某一方发送和接收是交替进行的。1.2 设计要求1.3.1 基本要求通过红外遥控,单片机之间的串口通信来实现近距离遥控开锁。利用软件来加密和解密,加强密码的安全性。锁和钥匙要成配套,不同套之间的钥匙和锁不能使用。要有钥匙丢失之后,可将该钥匙报废的功能。1.3.2 说明 红外通信元件不限,其安装位置及安装方式自定。 红外传输要有1M以上的距离。 单片机类型不限,经济实用,性价比高为上。 单片机内的序列号是产品在出厂时就已经设定,无法更改。第2章 系统方案设计2.1 系统构成框图 图2.1 遥控密码锁的基本结构图2.2 系统设计思想本系统采用单片机AT89C51作为本世纪的核心元件,利用红外遥控原理和单片机串行发射、接收等功能而实际的一款具有本机开锁和遥控开锁的电子密码锁。第3章 基本功能设计红外遥控密码锁的基本功能设计主要分为如下六个部分。3.1 选择密码我们将编辑好的密码程序储存在EPROM中,用户通过密码选择键AT89C51中的P1.5口上的按键进行选择。具体操作过程如下:首先按一下P1.5口上的按键,然后再逐渐输入号码,最后按“#”号确认即可。比如现在用户要是选择了57618这组数字作为密码,则用户只有首先按一下P1、5上的按键,接着在本机键盘上输入5、7、6、1、8之后再按“#”号键即表示密码被设置好了,那么下次用户只要键入这组数字即可开锁。本设计中我们编入了两套密码即:57618和81675.当然我们还可根据需要在EPROM中存入更多的密码,供用户选择。3.2 密码显示为了帮组用户确认是否有键按下,我们特在电路中设置了模拟显示电路,而为了防止密码外泄,显示时,并不是显示用户按下的数字符号,二十一个特定的字母符号提醒用户是否有键按下。有键按下,就会显示出字符“H”,没有键按下,则不会显示字符。这样既巧妙地提醒了用户有保护了用户密码,此乃本设计可靠性优点之一。3.3 本机键开锁当用户键入正确密码后,再按确认键“#”号,便会自动开锁。但愿能过户键入密码时应注意:数字与数字之间的间隔时间为3秒,例如密码为57618,当键入第一个数字5后应在3秒内键入第二个数字7,否则,就会视为无效。如果键入密码后不按“#”号,系统会当做放弃开锁处理。3.4 密码错误报警 当用户键入错误密码时,系统就会报警,由扬声器发出5秒报警声。当连续三次出现密码错误时,则系统会长期报警不止。这时必须按复位方可停止。此乃安全可靠性能之一。3.5 遥控开锁 当此锁用于私家车库或仓库时,用户可以不上车,只要手指遥控器,键入正确密码便会自动开锁;如果密码错误,同样也会报警。开锁成功或关锁成功,密码锁都会发出语音提示,告诉用户操作成功。这是本设计优越性能之三。3.6 遥控修改密码功能 只有管理员才有修改密码的权限,当需要修改密码时,按下密码修改键后须先输入管理员密码,然后输入旧密码后,才可输入新密码,新密码须输入两次单片机会将新修改的密码储存到外部的储存器中。第4章 遥控设计4.1 采用单片机串行通信原理4.1.1 串行通信基础在实际工作中,CPU与其外部设备之间常常要进行信息的交换,一台计算机与其他的计算机之间有时也要交换信息,所有这些信息交换均可称为“通信”。通信的基本方式可分为并行通信和串行通信两种,本设计选取串行通信,如图4.1所示为串行通信的示意图。而按照串行数据的传送方式,串行通信可分为一部传送和同步传送两类,本设计选取一部传送方式,如图4.2所示为一部通信的字符帧格式。 图4.1 串行通信的示意图 图4.2 异步通信的字符帧格式由图4.2可见,一部传输方式中的每个字符由4个部分组成:起始位、数据位、奇偶校验位和停止位。一个字符由起始位开始,停止位结束。这4个部分组成异步传输中的一帧,即异步传输以帧为单位进行。起始位:起始位为0信号,占用一位,用来通知接收设备的字符帧开始来到。线路上不传送字符时,应保持为1.接收端不断检测线路的状态,若连续为1以后又测到一个0,就知道是发来一个新的字符帧,发上应准备接收。字符帧的起始位还被用来同步接收端得时钟以保证以后的接受正确的进行。数据位:起始位后面紧接着的就是数据位,它可以是5位、6位、7位或8位,由于串行通信的代价是数据的位数成正比,所以要根据需要来确定数据的位数,本设计取8位数据,即一帧数据传11位数据,其中一位起始位,8位数据位,一位奇偶校验位,一位停止位。发送时,总是最低位先传送。奇偶校验位:位于数据之后,只占有一位。奇偶校验位在信息发送中用处很大,它可以用来检验信息传送过程中是否有错。它的状态常由发送端的奇偶校验电路自动根据发送字符中“1”的个数来确定。本设计采用奇偶校验,即在传输信息中,若“1”的个数为奇数,则奇偶校验位为0,若“1”的个数为偶数,则奇偶校验位1.停止位:用来表征一个字符的结束,搞电位有效。接收端收到停止位时,就表明着一字符帧已接收完毕,同时,也为接收下一个字符帧做好准备只要收到0就是新的字符帧的起始位。4.1.2 串行通信中串行I/O和数据的实现数据的串行转换通常都是用硬件手段一种为通用一部接收器/发送器UART来实现的。UART的硬件结构如图4.3所示。图4.3 硬件UART逻辑框图硬件UART由3部分组成:接收部分,发送部分,和控制部分,它既能进行并行好串行的转换,有能进行到并行的转换。同时接收和发送都具有双缓冲结构。(1) 接收部分接收时,由RXD送来的串行数据先进入接收移位寄存器,编程并行数据后传送给接收数据缓冲器,在控制信号的作用下,并行数据通过数据总线送给CPU。接收的关键问题是如何实现接收字符信息的再同步。在UART处于工作状态时,接收部分始终检测者RXD线,一旦发现线路上出现上出现低电平信号,便开始一个字符数据的同步过程。UART使用外部时钟CLOCK来同步接收的字符,外部时钟周期Tc和数据Td之间额关系为: Tc=TdK (K=16或640)若K=16,意味着哎每一个时钟脉冲的上什沿采样RXD线,若发现低电平,在继续采样8次(一个CLOCK采样一次),如果都是“0”便确认起始位开始,这样便从第9个CLOCK开始,每隔16个时钟周期采样一次数据线作为输入数据位。接收部分在对奇偶校验位和停止位进行了处理,有效字符数据被装入接收数据缓冲器,如图4.4所示。(2) 发送部分UART的发送过程由发送数据缓冲器接收CPU送来的并行数据,然后并行送至发送移位寄存器,并在发送时钟和发送控制电路控制下通过TXD线一位一位地发送出去。起始位,停止位是由UART在发送时自动添加上去的。UART发送完一帧后产生中断请求,CPU响应后可以把下一个字符送到发送数据缓冲器,重复上述过程。 图4.4 接收数据的字符同步过程(3) 控制部分UART在发送时,电路自动检测发送字符位中“1”的个数,并在奇偶校验位上添加“1”或“0”,使得“1”的总数(包括奇偶校验位)为偶数(奇校验时为奇数),如图4.5(a)所示。UART在发送时,电路对字符和奇偶校验位中的“1”的个数加以检测,如“1”的个数为偶数(奇校验时为奇数),则表明数据传输正确:如“1”的个数为奇(奇校验时为偶数)则表明在传输时错误,如图4.5(b)所示。(a)(b)图4.5 收发两端的奇偶校验电路4.1.3 串行口的选择及波特率的计算(1) MCS-51单片机串行接口的工作方式有4种,由SCON中的SM0,SM1定义,编码及功能如表所示,本设计选择串行口工作方式3。 表 串行口工作方式(2) 波特率的设置 当串行口工作在方式3时,波特率由下式确定,即 其中,fosc选12MHz,T1的初值为0F4H,SMOD=0,则式(4-1)为 4.2 利用红外线遥控原理红外线发射/接收控制电路均采用AT89C51单片机来实现,电路简单,输入控制方式可选择,实用性强。具体工作过程如下:发射时:图4.6所示为遥控发射电路图。首先,将从串行发射口P3.1(TXD)送出的数据反馈到P1.1口进行内部调制,再从P1.2口送出,在经过红外发射二极管发射出去,发射距离为10m。接收时:采用与发射配套的红外接收头,将发射出的数据接收后送到串行口P3.0(RXD)中,再由系统进行确认接收数据是否与发送数据是否相符,相符则开锁,不相符则放弃。4.3 遥控发射电路设计遥控发射电路利用了通用的红外发射管,有兴趣的读者可参考相关文献。现只列出电路图,如图4.6所示 图4.6 遥控发射电路第5章 硬件电路的工作原理5.1 本机键开锁的工作原理本机键开锁电路如图5.1所示,AT89C51作为本电路的核心,P0口和P1.0、P1.1、P1.2外接本机键盘,P3.0(RXD)口外接遥控接收头,P1.3口外接报警信号放大器,用来放大报警信号,驱动扬声器,P1.5外接密码选择键,EPROM内存有两套密码,P2口接数码管,用来显示按键是否按下,P1.4口外接驱动控制电路用来控制LM386的电源,也就是说只有报警时,LM386才供电源,平常断电,这样大大减小了耗电流。本电路由遥控发射器、接收器、键盘、显示器组成,本机采用了10个按键,作为密码输入键,同时也采用了遥控器开锁。具有以下功能:当没有接受到遥控信号时,这时由键盘输入密码,当5位有效密码输入正确时按“#”号确认,P1.7口输出高电平使电磁锁动作,完成开锁,同时,电路进入延时状态,延时5秒钟后,电路将自动回复到初始的闭锁状态。当5位有效密码输入正确,但没有按“#”好键确认是,这时电路将自动放弃,恢复到初始和闭锁状态。在输入5位有效密码时,必须按照先后顺序输入,如顺序错误或密码不对时,这是若不按“#”号确认,将无法开锁,并通话四发出5秒钟的报警信号,用以提醒用户。若连续3次输入错误,系统会长时间报警,这时必须按复位键恢复到初始化状态。输入密码时,首位密码正确输入后,电路将开始自动计时,每位密码术之间的输入间隔应在3秒内。否则将作为输入超时处理,系统自动放弃,恢复到初始状态。5.2 遥控开锁的工作原理当选择遥控开锁时,本机键便会被封锁。这时,用户手执遥控器按下AT89C51上的P1.0口上的按键时,便有数字从AT89C51P1.2口发出,发送的过程如下:先将从P3.0送出5FH,然后将5FH反馈到P1.1口进行内部调制,调制的规则是“0” 电图5.1 本机键开锁电路图平调制,最后将调好的数据送P1.2口通过红外发光二极管以波长为940mm的红外光发出红外遥控信号。然后,在本机控制电路中的AT89C51的P3.0口接有与发光二极管配套的接收头,将接收头的光信号转换成电信号数据。最后,通过系统与内部原先设置的数据进行比较确认,如果一致便可开锁,如果不一致便放弃开锁。5.3 按键显示的工作原理5.3.1 LED显示器结构与原理LED显示块是由发光二极管显示字段的显示器件。在单片机应用系统中通常使用的是7段LED。这种显示块有共阴极与共阳极两种,本设计将用共阳极。共阳极LED显示快的发光二极管与阳极并接,如图5.2(a)所示。 图5.2 LED显示块的内部电路通常的7段显示块中共有8个发光二极管,其中7个发光二极管构成七笔字形“8”,一个发光二极管构成小数点。7段显示块与单片机接口非常容易。只要将一个8位并行输出与显示块的发光二极管引脚相连即可。8位并行输出不同的字节数据即可获得不同的数字或字符,如表所示。通常将控制发光二极管的8位字节数据称为段选码。共阳极与共阴极的段选码为互补数。5.3.2 按键方式按键方式分为独立式和例行式两种,本设计采用独立式按键结构,供设置了10个按键。独立式按键是指直接用I/O口线构成的单个按键电路。每个独立按键结构,共设置了10个按键。独立式按键是指直接用I/O口线构成的单个按键电路。每个独立按键单独占有一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线的工作状态。他的电路配置灵活,软件结构简单。表 LED显示块功能表 第6章 单片机软件设计6.1 软件结构 串行口初始化开始发射键按送数据到CPU串行口数据送完返回开始串行口初始化接收数据数据是否接完接收数据正确进入开锁程序不处理返回主程序 图6.1 遥控发射程序框图 图6.2 遥控接收程序框图6.2 AT89C51单片机简介AT89C51是一种带4K字节闪烁可编程可擦除只读储存器(FPEROMFalsh Progranmmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪烁可编程可擦除只读储存器的单片机单片机的可擦除只读储存器可反复擦除100次,该器件采用ATMEL高密度非易失储存器制造,技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于多功能8位CPU和和闪烁储存器组合的单个芯片,ATMEL的AT89C51是一种高效微处理器,AT89C51是它的一种精简版本,AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。6.3 主要特性与MCS-51兼容4K字节可编程闪烁储存器100写/擦循环数据可保留10年全静态工作:0Hz24Hz三级程序储存器锁定128*8位内部RAM可编程I/O线 两个16位定时器/储存器5个中断源可编程串行通道低功耗的闲置和掉线模式片内振荡器和时钟电路 总 结这次的工程实训,时间长、内容多.几乎涵盖了大学中所学的知识。我经过了从收集资料、设计、绘图、审核的整个过程。时间在既充实又紧张设计过程中过去,我获得了综合运用过去所学过的大部分课程进行设计的基本能力。在这段时间的设计里,我查看了很多相关资料并完成了相关设计内容,掌握了串行通信的原理和应用。了解异步串行通信的特点。提高动手能力和理论联系实际能力。虽然这个毕业课题对我有相当的难度,但是在自己的不懈努力下完成了它,在做设计的过程中,明白了很多的道理,痛苦就像逆境,它在人生的旅途中总是短暂的,而痛苦后的甜蜜总是最幸福的。 它不仅仅是一个设计,一个课题,给我今后的工作生涯也是有相当大的裨益使使我学会思考,学会借助各种学习的途径努力提高自我的能力,这才是学习的真谛。设计虽然完成了,但我只是掌握了红外遥控设计中很少的一部分知识.还有很多深奥的专业知识等着我们去挖掘、去探索、去学习。我也将会在今后的工作学习中不断充实自己,不断完善自己的专业知识,为自身的发展打下坚实的基础。通过这次课程设计的学习与思考,认真总结,在这次红外遥控电子锁的设计中,我学到了很多,遇到了很多问题,自己摸索着改正了一些,还有一些错误我没有发现。软件的也是一个很难的地方,一开始就看不懂的,其中有很的的知识是不了解的,通过请教老师,在老师的细心指导下才知道了一点有关的知识。总之,这次课程设计让我明白:理论必须和实际结合才有威力,知识必须通过应用才能实现其价值!所学的东西最终是要面向应用的,是为了在以后的工作中能够更好的应用,此时的知识积累是为以后的工作做好坚实的基础。这个设计总体上不算完美,但是在这次课程设计的经历的好处是不可估量的。通过对本次课题的设计,我学会了发现问题、独立思考问题,然后用自己的专业知识以及通过现代科技的各种手段来解决问题,在很大程度上提高了我的动手能力,团队合作协调能力。并在一定程度上促进了我对专业知识的学习和巩固。本设计从选题到最后完成,都得到了指导老师彭志刚老师的悉心指导。曹老师渊博的知识、严谨的治学态度和诲人不倦的精神永远是我学习的榜样,她富于开拓与创新的精神以及丰富的社会知识都给我留下了深刻的印象,使我在设计中受益匪浅,在此谨向曹老师致以深切的谢意!参 考 文 献1于殿泓,王新年编著单片机原理与程序设计实验教程 北京航空航天大学出版社,1990.2 赵文博,刘文涛编著单片机语言C51程序设计 人民邮电出版社 2005.3 张永枫,单片机应用实训教程 西安电子科技大学出版社,2005.4何利民.MCS-51系列单片机应用系统设计与接口技术 北京航空航天大学出版社,1990.5张毅刚.MCS-51单片机应用设计 人民邮电出版社,2005.6张凯.LED介绍完全手册 北京航空航天大学出版社,2000.7张友德.单片微型机运力应用与实验 复旦大学出版社,1996.8马忠梅,等.单片机的C语言应用程序设计 北京航空航天大学出版社,2003.9张齐,杜群贵。单片机应用系统设计技术 北京电子工业出版社,2004.10李伯成.单片机及嵌入式系统 北京清华大学出版社,2005.附录 红外遥控电子密码锁程序带源码ORG 0000H ;主程序CLR P1.7 ;清零MOV RO , #OOHCLR P1.3 ;关报警CLR P1.7 ;P1.7清零CLR P1.4 ;关报警MOV RO , #OOH ;串行口初始化MOV 52H , #02H ;将立即数02H送52HMOV TMOD , #20H ;设置T1工作方式2MOV TL1 , #OF4H ;定时初始值送TL1MOV TH1 , #OF4H ;定时初始值送TH1SETB TR1 ;启动定时器T1MOV SCON , #ODOH ;定义串行行工作方式3 MOV PCON , #OOHKEY: JNB P1.5 , KEP1 ;选择密码57618 LJMP KEP2 *密码57618 程序 KEP1: MOV P2 . #0FFH ;关显示 MOV A , P0 ;判断是否有键按下 CPL A ;对P0口的数据取反 ANL A , #OFFH ;立即数OFF 与PO的数据相与 JNZ JP ;有键按下转至JP MOV A , P1 ;判断是否有键盘按下 CPL A ;将P1口的数据取反 ANL A , #O7H ;累加器数据为零转遥控接收程序 JZ WAIT ACALL K10MS ;调用10秒延时 MOV A , P1 CPL A ANL A , #O7H JZ WAITPP1: CJNE A , #01H , JP1 MOV P2 , #89H ;显示字符”H” LJMP K0P1PP2: CJZE A , #02H , JP2 MOV P2 , #89H ;显示字符”H” LJMP KOP1JP2: CJNE A , #04H , KY MOV P2 , #89H ;显示字符”H”JP3: MOV A , #O7H CJNE A , #07H , JP3 LJMP LP1KOP1: MOV A , P1 ANL A , #07H CJNE A , #07H , KOP1 LJMP KEP1JP: LCALL D10MS MOV A , PO CPL A , ANL A , #OFFH JZ C6 CJZE A , #01H , KEY02 MOV P2 , #89H LJMP KEY1KEY02: CJNE A , #02H , KEY03 MOV P2 , #89H LJMP KJP1KEYO3: CJNE A , #04H , KEY04 MOV P2 , #89 LJMP KJP1 KEY04: CJZE A , #08H , KEY05 MOV P2 , #89H LJMP KJP1KEY05: CJZE A , #10H , KEY06 MOV P2 , #89H LJMP KJP1KEY06: CJZE A , #08H , KEY07 MOV P2 , #89H LJMP KJP1KEY07 CJZE A , #10H KEY08 MOV P2 , #89H LJMP KJP1KEY08 CJZE A , #10H , C6 MOV P2 , #89H LJMP KJP1KJP1: MOV A , P0 CJNE A , #OFFH , KJP1 C6: LJMP WAIT*KEY1: LCALL MP CJNE A , #02H , KEY03 MOV P2 , #89HKEY2 LCALL MP CJNE A , #04 , KEY02 MOV P2 , #89HKEY3 LCALL MP CJNE A , #08 , KEY02 MOV P2 , #89HKEY4 LCALL MP CJNE A , #10H , KEY02 MOV P2 , #89HKEY5 MOV A , P0 CJNE A , #0FFH , KEY5 MOV P2 , #OFFH MOV R5 , #30HKEY6: MOV A , PO CPL A ANL A , #OFFH JNZ BB2 MOV A , P1 CPL A ANL A , #O7H JZ BB1 LCALL D10MS MOV A , P1 CPL A ANL A , #07H JZ CJNE A , #04H , B1 MOV P2 , #89H LJMP LP2B1: CJNE A , #01H , BL1 MOV P2 , #89H LJMP KOP1BL1: CJNE A , #02H , BB1 MOV P2 , #89H LJMP KOP1BB2: LCALL D10MS MOV A , P0 CPL A ANL A , #OFFH JZ BB1 LJMP KEY02BB1: MOV R7 , #OC8HBB4: MOV R6 , #OF9H NOP NOP BB5: JNZ R6 , BB5 DJNZ R7 , BB4 DJNZ R5 , KEY6 LJMP WAIT*密码81675程序KEP2: MOV P2 , #OFFH ;关显示 MOV A , PO CPL A ANL A , #OFFH JNZ HP MOV A , P1 CPL A ANL A , #07H JZ C9 LCALL D1OMS MOV A , P1 CPL A ANL A , #07H JZ C9BB: CJNE A , #O1H , HP1 MOV P2 , #89H LJMP K1P1HP1: CJNE A , #02H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽马鞍山市博望区人民医院招聘派遣制人员8人考前自测高频考点模拟试题完整参考答案详解
- 2025年福建金闽再造烟叶发展有限公司招聘15人考前自测高频考点模拟试题及答案详解1套
- 2025广西柳州市柳南区委社会工作部招聘专职化城市社区工作者16人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025甘肃平凉市崆峒区零工市场招聘公益性岗位考前自测高频考点模拟试题及一套参考答案详解
- 2025年丽水市龙泉市医疗卫生事业单位公开招聘工作人员28人模拟试卷附答案详解(典型题)
- 2025年人保财险陕西省分公司招聘(57人)考前自测高频考点模拟试题及完整答案详解
- 2025年创意写作考试试题及答案
- 2025年铁总服务有限公司应届高校毕业生招聘考前自测高频考点模拟试题有完整答案详解
- “百万英才汇南粤”2025年佛山市高明区公开招聘中小学教师(第四场)考前自测高频考点模拟试题及完整答案详解
- 2025年马鞍山和县安徽和州城市建设集团有限公司二季度招聘5人考前自测高频考点模拟试题及答案详解(各地真题)
- 2025年盘锦市总工会面向社会公开招聘工会社会工作者52人考试参考试题及答案解析
- 2025河北水发节水有限公司公开招聘工作人员16人笔试参考题库附答案解析
- 新版中华民族共同体概论课件第十二讲民族危亡与中华民族意识觉醒(1840-1919)-2025年版
- 夜间红外成像算法优化-洞察及研究
- 设备点巡检基础知识培训
- 曲阜师范大学毕业论文答辩课件模板课件
- 谢好网金字塔教学课件
- 人教版二年级数学上册第一单元测试卷(含答案)
- 2025至2030复合磨机衬板行业发展趋势分析与未来投资战略咨询研究报告
- 《云计算与大数据技术》教学大纲(48学时版)
- 细胞外囊泡研究与应用
评论
0/150
提交评论