




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-PAGE . z基于MSC-51单片机红外线电子密码锁一、【摘要】电子技术的飞速开展,给古老的锁具生产带来了巨大的变革,古老的机械锁平安性能差,容易被破坏,给管理和使用带来了很多的不便。而电子技术的开展解决了这个问题。红外线抗干扰能力强、使用方便、工作可靠等优点,本系统采用AT89C51单片机为核心接收和发送,采用AT24C02可擦除存放器存储密码,设计了6位密码控制密码锁的开、关。同时用APR9600语音芯片提示密码存储状态及效果。该系统可靠性高,本钱低,操作方便等特点。第1节 前言本系统采用单片机技术实现红外线遥控设置密码控制锁头,具有性能可靠,电路简单,本钱低廉,平安稳定等特点。1、单
2、片机的开展概述单片机是在一块集成电路芯片上集中了继电器、存储器、运算器和输入输出端口的微型计算机,它体积小,耗电省,它以高性价比和灵活性,在工业控制仪器仪表和家电领域得到了广泛的应用。即使是在PC机以286、386、Pentium、P等高速更新换代的同时,单片机依然保持旺盛的生命力。MCS-51系列单片机是应用最广泛的单片机,许多新型的单片机,在硬件和软件上都与MSC-51系列单片机兼容。目前,单片机分为通用型和专用型两种。MCS-51系列单片机通用型的单片机,通用型的单片机把开发资源全部公开,用户可以根据自己的应用系列进展设计,适用面广,应用灵活。单片机位数是指单片机一次能够处理的数据的宽度
3、,如4位机的MSM64155A,8位机的8051兼容系列,16位机的MSP430系列等。目前4位、8位、16位的单片机同时并存,都有自己的市场。8位和16位机的应用领域最广,目前在国仍是主流。存储器包括程序和数据存储器,与的单片机没有程序存储器。除了容量之外还有类型之分,如ROM、RAM、EPROM、E2PROM、FLASHhe OPT型数据存储器。现在很多单片机的存储器使用FLASH ROM、FLASH RAM,可以再线擦写,断电后数据可以保存很长时间。1.2、电子密码锁的概述电子技术与机械技术的结合,产生了一大批的密码锁如声控锁,磁控锁,密码锁,遥控锁,指纹锁等先进的锁具,目前我目前国外密
4、码锁系统的主要方向的开展是:接触式密码锁系统,非接触式密码锁系统,智能识别密码锁系统,但是他们都相应的存在着不同的缺点.例如:接触式密码锁系统本钱较低,体积小,卡片本身无须电源,但使用不太方便,而且有接触磨损.相比之下,红外遥控密码锁系统的本钱与接触式密码锁系统相当,而且可以进展近距离遥控,使用十分方便。本系统采用AT89C51做为遥控和处理的核心,发射采用红外发光二极管,遥控器制作简单,本钱低廉。1.3、本系统的运用和实际意义对于工业控制微机系统来说输入设备键盘几乎是必不可少的。遥控技术经历了有线遥控、无线电波遥控,现今的红外遥控,技术已相当成熟,功能越来越强,运行越来越稳定,应用越来越广泛
5、。先进的遥控技术配合单片机运用到工业控制中去,则,控制系统的操作将变得更容易、更快捷、更方便、更平安。本系统是基于AT89C51制作的红外线遥控电子密码锁。因为本系统发射局部和接收局部都是使用AT89C51芯片控制,发射的波形简单和接收也稳定,由于本系统键盘采用无线方式,所以他不仅可以近距离的控制,它所构成的单片机还可以方便地满足一些需要远距离控制的场合,以及一些特殊场合,例如:单片工业控制微机系统在一个密封的容器,通过玻璃小窗进展参数输入或控制、单片工业控制微机周围环境不适宜用户近距离操作等等。1.3 、本系统设计任务及要求、设计任务设计一款基于AT89C51单片机的红外线电子密码锁、 设计
6、要求1、遥控器局部采用AT89C51为核心红外发光二极管为发射头软件控制发射波形2、接收局部AT89C51为核心采用一体化接收头接收采用AT89C51为核心解码控制、所具备功能本系统所设计的电子密码锁主要功能有:按开锁键输入六位正确密码能开锁,能修改密码,能够在掉电的情况下存储密码,语音提示,能够在误输入密码后取消所输入数据并开锁。第2节 电子密码锁的硬件设计本系统的硬件设计主要包括单片机AT89C51、红外线发射电路、一体化接收头、AT24C02掉电存储单元设计,语音提示单元设计。在硬件设计过程中,充分利用各个部件的功能实现红外线电子密码锁的设计。、系统的硬件构成及功能、遥控器局部单片机AT
7、89C51有丰富的I/O接口,控制灵活,实现键盘的连接和发射电路的发射功能红外线遥控器的单片机控制方案如下列图一所示。他由以下局部组成:单片机AT89C51、键盘控制电路、和发射电路等电路组成。1、遥控器发射电路设计遥控发射器的电路原理图如附录中所示,其中P0口和P2口用作键盘扫描端口,制作14个功能操作键,第9脚为单片机的复位脚,采用简单的RC上电复位电路;15脚作为红外线遥控器的输出口,用于输出38KHZ载波编码,18、19脚接12MHZ晶振。P0口需要接上拉电阻。具体电路如附录的电路图。2、简单的键盘接口每个键盘独立地与单片机的I/O线直接相连就构成了简单的键盘。如下图下列图所以示。键与
8、键之间的工作状态互不影响。简单按键可以根据需要的灵活地设计,每个键占一根线,软件编写简单方便。P0口和P2口接一上拉电阻,扫描P0口和P2口判断是否有键按下,有键按下时通过查键并执行键功能程序。3、红外线发射电路遥控器信息码由AT89C51单片机定时器1中断产生38MHZ的红外线方波信号,由P3.5口输出,经过三极管9013放大,由红外线发射管发送。改变R1的大小可以改变发射距离。系统的程序设计、接收局部红外线接收的单片机控制方案如图二所示。他由以下局部组成:一体化红外线解手头、锁头电路、AT89C51单片机电路、AT24C02 掉电存储控制、APR9600语音提示控制。和LED模拟显示电路。
9、单片机AT89C51不但具有丰富的I/O接口,还能实现所要求的功能而且能在很大的程度上扩展功能。 1、接收头局部本系统采用HS-IR红外一体化接收头接收遥控器发送的波形,它是远距离一体化红外接收头,他是一种集红外接收、放大、整形于一体的集成电路,不需要任何外接元件,就能完成从红外线接收到输入与TTL电平信号兼容的所以工作,没有红外遥控信号时为高电平,收到海外信号时为低电平,而且和普通的塑封三极管大小一样,它适合各种红外线遥控和红外线数据传输,它可以直接将信号输出到微处理器解码,具有高的接收灵敏度和长的接收距离,该器件为底电压和低功率,其调制频率为37.9KHZ,40KHZM56KHZ。工作电压
10、为2.5V7.5V。他有三个引脚,包括供电脚,接地和信号输出脚。红外接收头部放大器的增益很大,很容易引起干扰,因此在接收头的供电脚上须加上滤波电容,一般在10uf以上。在供电脚和电源之间接入1K欧电阻,进一步降低电源干扰具体电路如下中电路图所示。当红外线接收器件接收到发射器的红外指令信号时,接收头将红外信号变成电信号,再经过放大、整形后发送到AT89C51的INT0端,由CPU完成解码处理,并进展识别,以控制密码所的工作,工作电路如下列图所示:2、锁头控制 锁头电磁铁控制局部:锁头控制局部包括输出驱动、继电器、电磁铁和锁头。电路图如下所示。控制信号由AT89C51的P.3口输出,经过驱动管90
11、12,控制继电器动作,进而控制电磁铁带动锁头,实现开、关的控制。继电器并联二极管电路:电路形式见图3,主要是为了保护晶体管等驱动元器件。当图中晶体管VT由导通变为截止时,流经继电器线圈的电流将迅速减小,这时线圈会产生很高的自感电动势与电源电压叠加后加在VT的c、e两极间,会使晶体管击穿,并联上二极管后,即可将线圈的自感电动势钳位于二极管的正向导通电压,此值硅管约0.7V,锗管约0.2V,从而防止击穿晶体管等驱动元器件。并联二极管时一定要注意二极管的极性不可接反,否则容易损坏晶体管等驱动元器件。(3)、语音提示局部 由APT9600语音录放芯片和喇叭组成。APR9600语音芯片采用模拟技术的一款
12、音质好,噪音低,不怕断电、可反复录放的新型语音电路,单片电路可录放3260S,串行控制时可分256段以上,并行控制时最大可分8段。APR9600驱动、停顿信号CE由AT89C51的P2.7控制,模式信号MSEL1/2接高电平为并行控制,分八段,每段最大7.5S;录放选择信号接高电平为放音方式。录音电路如下列图所示:一体化接收头2.3、AT24C02引脚图及其引脚功能AT24C02芯片引脚配置如图3所示。图3 AT24C02引脚配置图AT24C02芯片DIP封装,共有8个引脚,其引脚说明如下表:、AT24C02时序图1、要读写AT24C02,读写周期和所写的程序时序很主要,下是AT24C02的周
13、期围和其时序图: 读写周期围其时序图如下:、本系统中AT24C02 掉电存储单元的设计掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02 是ATMEL公司的2KB 字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片的资料可以在断电的情况下保存40 年以上,而且采用8 脚的DIP 封装,使用方便。其电路如图4所示。图 4 掉电存储电路原理图图中R8、R10 是上拉电阻,其作用是减少AT24C02 的静态功耗,由于AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根
14、线SCL移位脉冲和SDA数据/地址与单片机传送数据。每当设定一位密码,系统就自动调用存储程序,将密码信息保存在芯片;当系统重新上电的时候,自动调用读存储器程序,将存储器的密码等信息,读到缓存单元中,供主程序使用。2.3、APR9600介绍公司最新推出的APR9600语音录放芯片,是继美国ISD公司以后采用模拟存储技术的又一款音质好、噪音低、不怕断电、可反复录放的新型语音电路,单片电路可录放32-60秒,串行控制时可分256段以上,并行控制时最大可分8段。与ISD同类芯片相比它具有:价格廉价,有多种手动控制方式,分段管理方便、多段控制时电路简单、采样速度及录放音时间可调、每个单键均有开场停顿循环
15、多种功能等特点,同时保存了ISD2500芯片的一些特点,都是DIP28双列直插塑料封装,。 、APR9600芯片管脚说明AT24C02芯片引脚配置如下列图所示,其管脚说明如下表一所示。表一为管脚功能说明。 管脚功能管脚功能1、/M1第一段控制或连续录放控制低电平有效15、SP-外接喇叭负端2、/M2第二段控制或快进选段控制低电平有效16、VCCA模拟电路正电源3、/M3第三段控制低电平有效17、MICIN话筒输入端4、/M4第四段控制低电平有效18、MICREF话筒输入基准端5、/M5第五段控制低电平有效19、AGC自动增益控制端6、/M6第六段控制低电平有效20、ANA-IN线路输入端7、O
16、SCR振荡电阻21、ANA-OUT线路输出端话筒放大器输出端8、/M7第七段控制及片溢出指示低电平有效22、STROBE工作期间闪烁指示灯输出端 低电平有效9、/M8第八段控制低电平有效及操作模式选项23、CE复位/停顿键或启动/停顿键 (高电平有效)10、/BUSY忙信号输出工作时出0,平时为124、MSEL1模式设置端11、BE键声选择接1为有键声,0则无25、MSEL2模式设置端12、VSSD数字电路电源地26、E*TCLK外接振荡频率端用部时钟时接地13、VSSA模拟电路电源地27、/RE录放选择端0为录音、1为放音14、SP+外接喇叭正端28、VCCD数字电路正电源、APR9600操
17、作模式设置功能表APR9600操作模式表MSEL1(24脚MSEL2(25脚/M8(9脚有效键/M1-8为段控制键/CE多为停顿、复位键功能以60秒计010/1/M1、/M2、CE并行控制,分二段,每段最大30秒100/1/M1、/M2、/M3、/M4、CE并行控制,分四段,每段最大15秒111/M1/M8、CE并行控制,分八段,每段最大7.5秒110CE单键控制,单段7.5秒循环。CE为启动/停顿键001/M1、CE串行顺序控制,可分一至任意多段000/M1、/M2、CE串行选段控制,/M2系选段快进键。录音时/M8=1时可录一至任意多段,/M8=0时只能录两段。注1、RE=0置低电平为录音
18、状态;RE=1置高电平为放音状态。注2、/M1/M8键在有效段控放音时,按一下键即开场放音一段,放音期间再按一下即停顿;如按键不放即循环放音注3、/M1/M8键在有效段控录音时,按住不放为录音,松键即停顿。APR9600的每种操作模式都有对应的有效键,而且同一个键在不同操作模式下可能有不同的功能。因此在芯片设计、使用前用户应详尽了解芯片的各种操作模式,选择最适宜自己的方式设计,电路也会变得非常简单。 、APR9600的控制模式串行控制模式串行控制方式用到的键要少得多,它仅需要一、二个键来控制所有的语音段录放,而且段数可以足够多,每段也没有时间限制。只是在选段上没有并行控制模式方便。置MSEL1
19、、MSEL2均为0,在录音时/M8置1。置/RE端为0为录音状态,按住/M1即开场录第一段,松键即停顿。再按住/M1即录第二段,如此一直分段录音,直到芯片溢出。在放音时/RE=1有两种状态,/M8置1为串行顺序控制方式,按一下/M1即放音第一段,再按一下即放第二段,如此顺序逐段放音,到最后一段完毕时即停顿放音,必须按一下CE键复位,然后再按/M1键就可以又从第一段放音。这种方式下的段不可选择只能按录音的顺序播放,适合走马灯、流程控制等电路使用;/M8置0为串行选段控制方式,按一下/M1只能放音第一段,再按还是放音第一段。这时的/M2有效成为快进选段键,每按一下/M2即向后移动一段,例如现在按了
20、三下/M2,再按/M1就放音第四段。因此可以实现选段放音。按/CE键复位为第一段。电源电压4.5-6.5V,静态电流1uA ,工作电流25mA。其外接振荡电阻与采样率、语音频带、录放时间的关系见下表,该电阻可以根据需要的时间和音质效果无级调节。 振荡电阻7脚OSCR采样频率录放音频带录放音时间44K4.2KHZ2.1KHZ60s38K6.4KHZ3.2KHZ40s24K8.0KHZ4.0KHZ32s第3节 系统的软件设计 本系统的软件设计主要可分2个局部,红外线发射局部和红外线接收局部。发射局部有:主程序模块、定时中断程序、发射载波中断效劳程序、中途等待中断效劳程序键盘扫描程序、原始波发送程序
21、效劳程序五大模块。接收局部有:主程序模块、外部中断程序、解码和存储密码中断效劳程序、密码比照子程序、AT24C02读写程序、密码修改子程序六局部组成下面对各局部模块作介绍。 3.1、系统发射局部软件介绍1、本系统发射局部采用定时器中断产生38MHZ的载波,其流程图如下列图使示:以下是对各个参数设置简单的介绍。1、TMOD的值设定:定时器特殊功能存放器的选择如下介绍C/T:定时器/计数器选择:1:计数器0:定时器 GAME:选通门控制信号:1:由控制位TR*和引脚INT*共同控制启动0:仅由控制位TR*启动M1 M0工作方式选择: 0 0:方式0,13位定时器/计数器 0 1:方式1,16定时器
22、/计数器 1 0:方式2,8位自动重装定时器/计数器1:方式3,2系统的设置:本系统采用遥控器采用定时器T1工作方式1,由控制位TR1控制。即T1方式字段设置为C/T =0、GAME =0 、M1M0=10,T0方式字段值D3D0为0000所以 TMOD=20H。定时器T1方式的入口地址为001BH本系统用软件来控制定时器的开启和关断,本系统采用工作方式2 ,fosc=12MHz。需要产生频率为38MHZ的载波,定时器方式2最大计数值为28=256,其定时时间的计算公式:T=28 计数初值 机器周期12/fosc计数初值=28 欲计数脉冲数=28 T/ 机器周期由上计算公式可算得TH1与TH0
23、两个8位的定时器的设置为TH1=0f3H、 TL1=0f3H2、控器的编码格式介绍遥控码采用脉冲个数编码,不同的脉冲个数代表不同的码,最小为1个脉冲.最大设置14个脉冲。为了承受可靠,第一位码宽为5MS,其余为2MS,遥控码数据帧间隔大大于10毫秒,其输出编码一帧波形如下列图所示:3、遥控码的发射当*个操作键按下时,单片机先读出键值,然后根据键值设定遥控码的脉冲个数再调制成38MHZ 的方波由红外线发射管发射出去。.P3.5端口的输出调制如附录所示当红外线接收器输出脉冲帧数据时,第1位码的低电平将启动中断程序,实时接收数据帧。3.2、红外线接收局部软件介绍本系统的接收局部采用外部中断进展解码,
24、然后判断解出码是否是功能码,如果是功能码则执行相应功能程序,如果不是功能码,是数字码则存储,直到存储6位密码。具体流程图如下使示:1、外部中断程序:外中断是由外部原因引起的中断,有两个中断源。即外中断0INT0和外中断1INT1,中断请求信号由引脚P3.2(INT0)和P3.3(INT1)输入。本系统中使用的是外中断0INT0。外中断请求信号有两种方式,一是电平方式,二是脉冲方式。可通过有关控制位的定义进展规定。 电平方式为低电平有效,只需在单片机的(INT0)和(INT1)中断请求输入端采样到有效的低电平时,就会激活外部中断。脉冲方式则在脉冲的后负跳沿有效,即在相邻两个机器周期对中断请求引入
25、端进展采样中,如前一次为高,后一次为低即为有效中断请求。这就要求在这种中断方式,中断请求信号的脉冲宽度必须大于一个机器周期,以保证电平变化能被单片机采样到。本系统使用的是脉冲方式本系统采用外部中断INT0,其入口地址为0003H,采用软件控制中断的开开启和停顿,但遥控器有发送38MHZ的波形,经过红外线一体化接收头接收到波形,出现电平负跳变,则跳入中断程序进展解码和其他的操作,具体流程图如图3。2、红外线的解码在数据接收时,将对第一位起始位码宽进展验证,假设第一位低电平码的脉宽小于5MS将作为错误码处理,当第一位低电平码的脉宽是5MS则开场解码。采用软件延时的方法计算出接收的波形中,低脉冲的个
26、数,将个数存入累加器A中,在此过程中需要判断间隔位的高电平当脉宽大于3MS时 接收流程图完毕接收信号,然后根据累加器A中的脉冲个数,执行相应的输出口的操作。红外线接收器接收到的一帧波形如下所示:3.3、AT24C02的读写程序系统的写操作AT24C02写操作主要有2种一种是字节写,另一种是页写,本系统采用字节写的方式,下面对字节写做一下介绍:在字节写的模式下,主器件发送起始命令和从器件地址信息R/W位置0给从器件,在从器件产生应答信号后,主器件发送AT24C02的字节地址,主器件在收到从器件的另一个应答信号后,再发送数据到被寻的存储单元。AT24C02再次应答,并在主器件产生停顿信号后开场数据
27、擦写。其字节写时序如下列图所示:系统的读操作AT24C02的读操作有三种不同的方式:立即地址读,选择读和连续读。本系统采用连续读的方式,下面对联系读做简单的饿介绍。在AT24C02发送完一个8位字节数后,主器件产生一个应答信号来响应,告知AT24C02还有跟多的数据传送,对应每个主机产生的应答信号AT89C02将发送一个8位数据字节,当主器件不发送应答信号而发送停顿位时完毕此操作,其连续读的时序如下列图所示:第4节 系统调试与测试结果分析根据系统设计方案,本系统的调试共分为三大局部:遥控器软硬调试,接收电路软硬调试和接收发送联调。测试包括遥控器的测试、掉电存储测试测试,接收电路功能调试4.1
28、使用的仪器仪表 数字万用表烧写器 双踪稳压稳流电源数字示波器 数字存储示波器4.2 系统调试及调试预想结果根据系统设计方案,本系统的调试共分为三大局部:遥控器调试,接收电路调试和发送接收联调。初设的结果:遥控器按键正常工作,并软件与硬件结合能够发出正常波形接收到正常波形,并实现相应的功能开机数码管全部显示0,LED全部点亮输入6位密码后LED显示10H,按开锁键如果密码正确则开锁,并LED显示20H数码管显示1SSS语音提示已经开锁。密码不正确则不开锁LED显示40H数码管显示1FFF,语音提示密码错误。输入6位密码后LED 显示10H,按修改密码后,如果密码比照正确则LED显示02H数码管显
29、示2S00,语音提示请输入新密码,如果密码比照不正确则显示04H数码管显示2FFF,语音提示修改失败。如果比照正确,再输入六为新密码按确定键,LED显示11H数码管显示3SSS语音提示密码修改成功。按取消键LED显示00H数码管显示0,语音提示去除。4.3 测试过程及结果1、遥控器局部测试过程及结果 测试过程 测试结果通电,用数字万用表测试按键是否正常工作 所有正常将程序烧写入芯片,用数字示波器测试芯片是否正常工作 正常工作用数字存储示波器测试每个按键按下后对应输出波形是否正常 正常2、接收主电路的测试过程及结果 测试过程 测试结果将程序烧写入芯片,用数字示波器测试芯片是否正常工作 正常工作写
30、入程序观察指示灯是否正常工作 工作正常将语音管脚置低电平看语音提示是否正确 正确发送接收联调 测试过程 测试结果通电,用数字存储示波器检测按键按下后接收头接收波形是否正确 正确通电, 按键按下后相应功能是否实现 实现完毕语红外线遥控器是目前使用最广泛的一种通信和遥控手段。由于红外线遥控器装置具有体积小、功耗低、抗干扰能力强、工作可靠、使用方便、本钱低,将它应用于红外线遥控器密码锁又具有较强的隐蔽性、性。能实现密码开锁、语音提示、智能修改密码等功能。通过本次设计,使我学到了许多书本上无法学到的知识,也使也深该体会到电子技术应用领域的广泛,不仅使我对学过的电子知识有了很多的稳固,还对电子的学习产生
31、了更浓厚的兴趣。通过查找资料,确定选题,和导师协商,具体操作等等一系列的过程让我学到了很多平时无法学到的知识,累计到了很多经历,为我以后参加社会工作奠定了坚实的根底。通过本次设计,我知道了耐心的调试,仔细的检查,敢于向别人请教和努力的钻研对学电子信息这个专业的重要性,这次设计让我深刻的体会到书到用时方恨少经典教训,所以为我在以后平时生活,认真学习,积累经历起到很好的引导作用。 附录发射局部的电路图接收局部的电路图红外线遥控器发射程序ORG 0000HAJMP MAINORG 001BHAJMP SERVEORG 0020HMAIN: MOV TMOD, *20H MOV TH1, *0f3H
32、MOV TL1, *0f3H CLR P3.5 SETB EA MOV P0, *0FFH MOV P2, *0FFH MOV R4,*00H;*;按键扫描程序;*LOOP: P0.0, a1 ;判断按键是否按下按下则往下运行 b1: JNB P0.0 $ ;等待按键松开 LCALL DELAY20MS ;消抖 JnB P0.0 b1 ;判断是否还是松开 MOV R1,*01H ;设置初值 lcall fashe ;发射波形 a1: P0.1, a2 b2: JNB P0.1 $ LCALL DELAY20MS JnB P0.1 b2 MOV R1,*02H lcall fashe a2: P
33、0.2, a3 b3: JNB P0.2 $ LCALL DELAY20MS JnB P0.2 b3 MOV R1,*03H lcall fashe a3: P0.3, a4 b4: JNB P0.3 $ LCALL DELAY20MS JnB P0.3 b4 MOV R1,*04H lcall fashe a4: P0.4, a5 b5: JNB P0.4 $ LCALL DELAY20MS JnB P0.4 b5 MOV R1,*05H lcall fashe a5: P0.5, a6 b6: JNB P0.5 $ LCALL DELAY20MS JnB P0.5 b6 MOV R1,*0
34、6H lcall fashe a6: P0.6, a7 b7: JNB P0.6 $ LCALL DELAY20MS JnB P0.6 b7 MOV R1,*07H lcall fashe a7: P0.7, a8 b8: JNB P0.7 $ LCALL DELAY20MS JnB P0.7 b8 MOV R1,*08H lcall fashe a8: P2.0, a9 b9 : JNB P2.0 $ LCALL DELAY20MS JnB P2.0 b9 MOV R1,*09H lcall fashe a9: P2.1, a10 b10: JNB P2.1 $ LCALL DELAY20M
35、S JnB P2.1 b10 MOV R1,*0aH lcall fashe a10: P2.2, a11 b11: JNB P2.2 $ LCALL DELAY20MS JnB P2.2 b11 MOV R1,*0bH lcall fashe a11: P2.3, a12 b12: JNB P2.3 $ LCALL DELAY20MS JnB P2.3 b12 MOV R1,*0cH lcall fashe a12: P2.4, a13 b13:JNB P2.4 $ LCALL DELAY20MS JnB P2.4 b13 MOV R1,*0dH lcall fashe a13: P2.5,
36、 a14 b14:JNB P2.5 $ LCALL DELAY20MS JnB P2.5 b14 MOV R1,*0eH lcall fashe a14:AJMP LOOP;*;发射子程序;*FASHE: SETB ET1 SETB TR1 ACALL DELAY5MS ;发射5MS高电平为识别码 MAI: CLR ET1 CLR TR1 CLR P3.5 ACALL DELAY2MS ;2MS低电平 SETB ET1 SETB TR1 ACALL DELAY2MS ;2MS高电平 DJNZ R1, MAI ;是否发送相应的脉冲个数 CLR ET1 CLR TR1 CLR P3.5 ACALL
37、 DELAY9MS ;9MS的低电平,表示波形完毕 AJMP LOOP ;返回按键扫描;*;中断效劳子程序;*SERVE: CPL P3.5 ;将P3.5口置高电平 OUT: RETI;*;延时子程序;*DELAY2MS: MOV R0, *2 AJMP SBADELAY5MS: MOV R0, *5 AJMP SBADELAY9MS: MOV R0, *9 AJMP SBASBA: MOV R2, *125SBB: DJNZ R2, SBB DJNZ R0, SBA RETEND6、红外线解码密码处理程序ORG 0000HAJMP MAIN ;转入主程序ORG 0003h ;外部中断P3.2
38、脚INT0入口地址AJMP INTORG 0020H ;转入外部中断效劳子程序解码程序MAIN: SETB EA ;翻开CPU总中断请求 Clr IT0 ;设定INT0的触发方式为脉冲负边沿触发 SETB E*0 ;翻开INT0中断请求 Mov r4, *00h MOV R3, *06 ;六位密码初始值 MOV R7, *00H LCALL KUMOV A, *00H;*;循环显示;* DP: MOV P0, A ;循环显示AJMP DP;* ;解码程序;*INT: CLR EA MOV A, *00H ACALL DELAY4MS ;延时4MS判断是否是低电平,不是则跳出中断 P3.2, E
39、*IT1AB: P3.2, JISHU ;等待高电平,如果是高电平则解码计数A AJMP AB JISHU:ACALL DELAY3MS P3.2, CHULAI ;延时3MS判断是否是高电平,不是则计数A+1 INC AAJMP AB;*;判断是否是功能键0BH-开锁键0CH-修改密码键; 0DH-确定键0EH-取消键;*CHULAI: CJNE A, *0BH, AB1 ;判断是否是开锁键 LCALL DUCHU ;是则调用AT24C02中的值再比照密码开锁 LCALL BIJIAO AJMP E*IT AB1: CJNE A, *0CH, AB2 ;是否是修改密键 LCALL DUCHU
40、 ;是则读出AT24C02中的值 LCALL BIJIAO1 ; 密码比照做可以修的标记R4=40H AJMP E*ITAB2:CJNE A, *0DH, AB3 ;判断是否是确定键 CJNE R4, *40H, E*IT ;判断是否是可以修改密码 MOV R4, *00H ;去除标记位 LCALL DURU ;将新密码输入AT24C02 AJMP E*IT AB3: CJNE A,0EH, MIMA ;是否是取消键 LCALL GUANMENG ;是则清楚存放器3530并设置初值 AJMP E*IT;*;不是功能键是数字键则存到35H30H中;r7是用来判断输入密码的顺序;*MIMA:MOV
41、 DPTR, *TABLE1 ;把表头地址给存放器 MOVC A, A+DPTR ;查表将放入A中 Cjne r7, *00h, kk0 ;判断是否是第一位密码是则存入30H MOV 30h, A Inc r7 ;第一位密码已经存储 AJMP E*IT kk0:cjne r7, *01h, kk1 mov 31h, A INC R7 AJMP E*ITkk1:cjne r7, *02h, kk2 mov 32h, A INC R7 AJMP E*ITkk2:cjne r7, *03h, kk3 mov 33h, A INC R7 AJMP E*IT kk3: cjne r7, *04h, kk
42、4 mov 34h, A INC R7 AJMP E*ITkk4:cjne r7, *05h, KK5 mov 35h, A MOV R7, *00H MOV A, *10H KK5: AJMP E*IT;*;中断完毕子程序;*E*IT1: setb ea mov a, *0fh RETIE*IT: acall DELAY3MS acall DELAY3MS acall DELAY3MS setb ea RETI;*;AT24C02读入写出子程序;将30H35H单元中的值给R2,再将R2的值逐个读入AT24C02的01H开场的单元中;再将AT24C02中01H06H读出放在40H45中;*du
43、ru: ACALL START ;启动 MOV R2,*0A0h ;将控制字1010 0000传到R2,表读入 ACALL WRITE ;调用写函数 ACALL DELAY MOV R2,*00h ;设置要写入AT24C02的地址 ACALL WRITE MOV R2,30h ;写入第一个字节,30H,写入到00单元 ACALL WRITE ACALL DELAY MOV R2,31h ;写入第二个字节,31H,写入到01H单元 ACALL WRITE ACALL DELAY MOV R2,32h ;写入第三个字节,32H,写入到02H单元 ACALL WRITE ACALL DELAY MO
44、V R2,33h ;写入第四个字节,33H,写入到03H单元 ACALL WRITE ACALL DELAY MOV R2,34h ;写入第五个字节,34H,写入到04H单元 ACALL WRITE ACALL DELAY MOV R2,35h ;写入第六个字节,35H,写入到05H单元 ACALL WRITE ACALL DELAY ACALL STOP ;停顿操作 ACALL DELAY mov r3,*4fh ;修改成功数码管显示3SSS mov r4,*6dh mov r5,*6dh mov r6,*6dh lcall shuDUCHU: ACALL START ;启动 MOV R2,
45、*0A0h ;写控制字 ACALL WRITE ACALL DELAY MOV R2,*00H ;设置要读地址 ACALL WRITE ACALL START MOV R2,*0A1h ;将控制字1010 0001传到R2,最后表读出 ACALL WRITE ACALL DELAY ;写入控制字 ACALL READ ;调用读命令 ACALL ACK MOV 40h,R2 ;将读得的数据传到40H ACALL READ ;读下一位,将读得的数据传到41H ACALL ACK MOV 41h,R2 ACALL READ ;调用读命令 ACALL ACK MOV 42h,R2 ;将读得的数据传到4
46、2H ACALL READ ;调用读命令 ACALL ACK MOV 43h,R2 ;将读得的数据传到43H ACALL READ ;调用读命令 ACALL ACK MOV 44h,R2 ;将读得的数据传到44H ACALL READ ;调用读命令 ACALL ACK MOV 45h,R2 ;将读得的数据传到45H ACALL STOP ;停顿读操作 ACALL DELAY MOV A,*11H RET;*;写一个字节;R2为要写的数据,R3为每字节的位数,这儿为8位;返回时C为应;*WRITE: MOV R3,*8 MOV A,R2WRLOOP: CLR P3.6 RLC A NOP MOV
47、 P3.5,C NOP NOP SETB P3.6 NOP NOP DJNZ R3,WRLOOP CLR P3.6 ;以下处理AT24C02的应答信号 NOP NOP SETB P3.5 ;置高SDA,用作输入,如果AT24C02拉低,表示正确 NOP NOP SETB P3.6 NOP NOP MOV C,P3.5 ;读取应答信号 RET;*;读一个字节;返回时R2为读得的数;*READ: MOV R3,*8RDLOOP: CLR P3.6 NOP NOP SETB P3.5 ;拉高SDA,用作输入 NOP NOP SETB P3.6 NOP NOP MOV C,P3.5 RLC A DJNZ R3,RDLOOP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年终止合作经营合同
- 2025胡萝卜种植收购合同
- 2025年科技服务合同
- 2025签订汽车租赁合同应注意事项
- 2025【电缆采购合同】地下室电缆采购合同协议书
- 2025年纺织合作协议书
- 2025网络设备安装合同范本
- 2025幼儿教育机构劳动合同
- 2025艺术品赠送合同模板
- 2025年合同违约情形下的劳动合同解除
- 哮病中医特色护理查房
- 2025-2030中国浮吊行业市场发展趋势与前景展望战略分析研究报告
- 北京市公园管理中心所属事业单位招聘笔试真题2024
- 2025年广东省深圳市31校联考中考二模历史试题(原卷版+解析版)
- 浙江省绍兴市2025届高三下学期二模试题 数学 含解析
- 高二期末家长会-家校携手凝共识齐心协力创辉煌
- 地球物理反演方法-全面剖析
- 职场人士健身与锻炼技巧
- 918勿忘国耻铭记历史课件-高一上学期主题班会
- 钢结构厂房装饰工程施工方案
- 王者荣耀考试试题及答案
评论
0/150
提交评论