基于单片机的代做远程电话控制系统毕业设计论文_第1页
基于单片机的代做远程电话控制系统毕业设计论文_第2页
基于单片机的代做远程电话控制系统毕业设计论文_第3页
基于单片机的代做远程电话控制系统毕业设计论文_第4页
基于单片机的代做远程电话控制系统毕业设计论文_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的远程电话控制系统摘要 随着移动通讯行业的快速发展手机已经走进了千家万户。在中国几乎每个成年人都有一部手机。但是利用手机进行远程控制的技术却不是很多。如何利用手机这种通信方式控制日常生活中的电子产品是本设计所要研究的课题。众所周知最近这些年通信行业和电子行业有了飞速的发展,在这个基础上本文设计了一种通过GSM模块实现远程控制的系统。此系统以 STC89C52RC 单片机和SIM900A 模块及ISD1760语音芯片为电路核心,通过公共移动通信网络,实现对远程电器设备的智能化控制。关键词: STC89C52RC 单片机 双音多频 DTMF 远程控制Abstract with the r

2、apid development of mobile phone mobile communications industry have already walked into thousands of households. In China almost every adult has a mobile phone. But for use in remote control technology is not a lot of mobile phone. How to use the mobile phone this communication mode control of elec

3、tronic products in daily life is the design of the subject to be studied. As everyone knows in recent years the communications industry and electronic industry has made rapid development, on this basis, this paper designs a system to realize remote control through the GSM module. This system is base

4、d on STC89C52RC MCU and SIM900A module and the ISD1760 speech chip as the core circuit, through the public mobile communication network, the realization of intelligent control of remote electrical equipment.关键词: STC89C52RC 单片机 双音多频 DTMF 远程控制Keywords: STC89C52RC single chip dual tone multi frequency

5、DTMF remote control目录1绪 论52系统设计原理73硬件电路设计103.1复位电路103.2控制输出电路113.3晶振电路123.4 SIM900A模块接口电路133.5 ISD语音芯片工作电路164软件设计214.1程序说明214.2函数申明及变量定义224.3初始化函数244.4密码校验函数254.5定时器中断函数354.6通信中断函数374.7主函数435调试分析及总结48参考文献49基于单片机的远程电话控制系统本文出自 1绪 论21 世纪是信息时代,各种电信新技术推动了人类社会文明的进步。自从贝尔发明了电话机,全世界各国的电话网络发展迅速。电话远程遥控技术是通过通讯手

6、段对被控物体实施远距离的控制,常用的方式有无线电遥控、有线遥控、红外线和超声波遥控等。无线电遥控既是利用无线电信号对被控物体实施远距离控制。无线电遥控不可避免的须占用一定的无线电频率资源,造成电磁污染;常规的有线遥控需进行专门的布线,增加了投入;而红外线、超声波遥控则受距离所限。现有的遥控方式中,还有载波通信控制手段和基于无线寻呼的遥控方式。载波方式即通过电力线传递信息,该方式只能局限于同一变电所、同一变压器所辖范围内。因此也存在距离问题,应用范围有限。基于无线寻呼的遥控方式利用了现有的寻呼频率资源,不需占用额外的频谱。而且,随着寻呼网的全国联网,其遥控的距离基本不受限制。但该方式的受控方动作

7、滞后于控制方的操作,不具备实时性,而且不具备很高的可靠性。手机电话遥控作为一较新的课题与常规的遥控方式相比,显示出一定的优越性,不需进行专门的布线,不占用无线电频率资源,避免了电磁污染。本次设计正是采取单片机做智能控制,利用不同的提示音达到对于不同操作的提示及对受控方状态的信息反馈,从而使操作者能够及时了解受控方信息,使产品达到交互式与智能化。本设计的各种电器接口、各项标准都严格遵循国家有关标准,为以后的产品化提供了良好的基础。设计为突出电话遥控的信息反馈功能,并使产品达到非常高性价比。故未对电话装置的其他功能进行进一步的扩展,而且所有使用的集成电路和其它元器件都尽量选择廉价的。在该作品的基础

8、上进行了功能扩展是很方便的。譬如:使用语音芯片音乐片作为信号音反馈,提高本设计的实用性。 随着社会的发展和人们生活水平的提高越来越多的家用电器进入了百姓的生活给大家带来了很多的方便和享受同时随着电话在家庭中的普及利用电话实现家用电器遥控是未来的发展方向。遥控装置是电子爱好者热衷开发的产品,现在市场上的遥控装置采用红外线、超声波、动力载波、无线遥控及无线寻呼等方式。勿容置疑,这些装置为满足工农业生产和人民生活的需要,带来了便利。然而采用红外线、超声波方式的遥控装置,遥控距离在 10m 以内;载波方式是通过电力线传递信息,该方式仅适用于同一变压器所辖范围;采用无线遥控,一方面,不可避免占用无线频率

9、资源,造成电磁污染,另一方面也存在遥控距离的问题。 基于无线寻呼的遥控方式利用了现有的寻呼频率资源,虽然遥控距离不受限制,但可靠性差,如处于信号弱区域内的通信设备就无法实现控制。长期以来困扰遥控装置发展的关键问题,是如何实现远程电器设备可靠控制。基于单片机的智能电话控制系统,借助公共电话网络,操作者可在语音提示下实现对远程设备的可靠控制。该装置具有可靠性高不受传输距离限制不占用频率资源等特点。适用于家庭、企事业单位、工业现场、商店等场所,利用手机或固定电话就能实现电器设备的控制和运行状态查询. 电话遥控和常规的遥控方式相比不需进行专门的布线不占用无线电频率资源避免了电磁污染而且由于电话线路各地

10、联网可以充分利用现有的电话网。 本文介绍了一种基于电话和单片机的家用电器遥控装置。利用该装置用户可以通过任意一部双音频电话随时开关、检查家里电器的使用情况而且当用户要下班时还可以通过电话提前打开空调、电饭锅等。2系统设计原理本设计基本思路是这样,当用户需要控制家中电器时,可用手机或固定电话拨打家中的电话号码,在有人接听或振铃次数不大于6次(可由软件设定)时,控制系统认为是电话呼叫信号或误操作而不动作,以避免干扰正常电话业务。当振铃次数大于6次时,系统认为是对插座和电器的控制,单片机控制摘机并启动语音提示电路发出提示音,要求用户输入密码。如果密码不正确,则语音提示重新输入,当输入次数超过3次(可

11、由软件设定)时,系统将自动挂机。如果输入密码经系统确认正确后,语音提示用户各项操作所对应的数字键,确认操作完成后,系统自动挂机。用户拨打话机按键的过程中,按键时间间隔不能超过一定时间(一般设置为510秒),当超过设定时间时,系统同样会自动挂机。实物如图2-1所示。图2-1远程电话控制系统实物图利用手机通信方式达到远程控制家用电器的系统,其具体设计要求本系统必须满足以下功能:1. 通过电话网对异地的电器实现控制(开/关);2. 控制器可以实现自动模拟摘挂机; 3. 控制器设置密码校验;4.密码输入正确后,根据语音提示进行操作。 系统必须具有以下单元功能模块: 1. 铃音检测、计数;2. 自动摘挂

12、机; 3. 密码校验; 4. 双音频信号解码;5. 输入数据分析; 6. 控制电器开关; 7. 语音提示;本设计以 STC89C52RC 单片机为主控芯片,ISD1760作为语音芯片,还有SIM900A模块组合在一起实现这些功能。单片机进行信息处理及逻辑控制,通过USART接收外部操作指令形成各种控制信号,并完成对于各种信息的记录;接口电路提供单片机与SIM900A模块的连接电路以及SIM900A模块与ISD1760语音芯片的接口电路。本装置使用普通电话机发出遥控命令信号,以 DTMF 信号作为运载遥控命令的媒体,而无需专门安装遥控发送装置,利用电话网络传送遥控命令或其他数字信息时,只需把接收

13、装置放在任何一个有通信信号的场所,就可以接收任何地方只要电话能通达的地方的遥控操作或其他数字信息,接收装置就像一部普通电话机,传真机或其他电话用户终端设备一样被使用,因此不受距离的局限。用户通过异地的电话机拨通本装置所连接外线的电话号码,本装置如果检测到振铃六次,即六次响铃后无人接,自动摘机,进入密码检测,密码输入正确后根据语音提示选择被控制电器,然后输入开或关进行遥控电器,完成后返回。 系统基本工作原理是:系统上电,单片机复位,SIM900A模块初始化系统开始工作,当有电话打入时,SIM900A模块通过通信口将AT命令协议中的相关字符(“RING”)发送给单片机,单片机检测到字符判断字符含义

14、,如果是来电响铃则开始计数响铃次数。当振铃次数为六次时约30 秒若没有人接电话,表明没有人在场,系统一方面,启动语音提示电路,发出“您好!欢迎使用远程电话控制系统,请输入密码,并以#键结束”;另一方面,发出自动摘机控制信号,如果用户输入密码错误超过三次(可由用户任意设),则系统挂机,如果输入密码正确,开始提示用户控制电器,并发出“控制电饭煲请按1;控制热水器请按2”的语音提示。此时用户根据提示进行操作,如果长时间未有任何按键按下,则单片机自动控制SIM900A模块挂机。3硬件电路设计硬件电路如图3-1所示。整个电路包括输出控制部分,晶振电路,复位电路,电源部分,SIM900A模块接口以及ISD

15、1760语音芯片部分。图3-1硬件电路原理图 3.1复位电路 复位电路如图3-2所示。复位电路是保证在单片机运行过程中出现不可预知的错误时,人为手动的将单片机的程序拉回到起始点重新执行程序功能。图中S1是按键,R101为下拉电阻,C103为方抖动滤波电容。根据STC89C52RC单片机的数据手册,我们知道单片机的RST复位管脚在接入高电平时会将单片机复位。因此RST管脚在图中接入到下拉电阻的上端,当按键未按下时此管脚一直为低电平;当按键按下时,此管脚为高电平,单片机复位。图3-2单片机复位电路3.2控制输出电路控制输出电路如图3-3所示。本设计中输出部分我们采用LED的亮灭来表示控制逻辑是否正

16、确。图中P2.2一路代表控制电饭煲,P2.3代表控制热水器。图中的R302和R301都是限流电阻,防止电流过大烧掉LED。本部分电路的工作原理为当单片机管脚输出低电平时,LED的阴极被拉低,因此构成回路,LED被点亮,当单片机的管脚输出高电平时,LED的阴极被拉高,回路两端的电平同样高,回路中没有电流流过,因此LED灭。图3-3控制输出电路3.3晶振电路 晶振电路如图3-4所示。图中的C101,C102和Y1构成了晶振电路,这部分电路的作用是给单片机提供精准的时钟电路,保证单片机正常工作。图3-4晶振电路3.4 SIM900A模块接口电路SIM900A模块接口电路如图3-5所示。图中TX和RX

17、为街道单片机的TX和RX管脚,OUT_SP+与OUT_SP-为音频输出接口可以直接接到小喇叭上。IN_SP+与IN_SP-为音频输入端因为本设计中前端的音频输出是由ISD1760语音芯片提供的,这个输出信号不能直接接到SIM900A模块的音频输入端,要做一些衰减,图中的R303和R304就是起到衰减的作用的。图3-5 SIM900A模块接口电路 SIM900A模块如图6-6所示。图3-6 SIM900A模块实物图SIM900A模块外形尺寸为长*宽:3.6 *5(cm) 高度由插针及天线类型决定。关于引脚功能如表3-1所示。引脚名称功能描述引脚名称功能描述15STAT模块运行状态status16

18、RST模块复位低电平有效13POWN开机引脚14DTR数据终端已就绪11VMCU接MCU电源(可悬空)12MICP话筒差分输入9RXD接MCU的TXD10MICN话筒差分输入7TXD接MCU的RXD8SPKP耳机差分输出5GND地6SPKN耳机差分输出3GND地4GND地1+5V标准5V2VBTA3.8V-4.5V 可接锂电池表3-1 SIM900A管脚功能最基本应用所需引脚:1供电:1 3 或2 4)峰值电流需要2A(即标准5V 和 VBTA 选一即可。2通信:5 7 9三线UART串口通信(3.3V和5V均可)。3开机:13引脚POWN,上升沿后维持电压1S以上开机,SIM900A的再次上

19、升沿可关机,也可直接接高电平(3V和5V均可)。其他引脚:4. 14脚 DTR 可以用来进入和退出休眠模式,详见SIM900A官方手册的3.5 省电。5. 15脚STATUS 可以检测模块开关机状态,详见SIM900A官方手册的3.4开机。6. 16脚 RTS 为低电平有效,最高3V,最好不用,出故障直接重启。7. 音频引脚:6、8、10、12使用时加滤波电容,官方手册的3.9 音频接口一节。指示灯闪烁描述:1. 电源指示灯:POWER 长亮2. 网络状态信号灯:开机后有反应网络灯状态 SIM900A工作状况 熄灭 SIM900A没有工作 64ms亮/800ms熄灭 SIM900A 没有找到网

20、络 64ms亮/3000ms熄灭 SIM900A 注册到网络 64ms亮/300ms 熄灭 GPRS 通讯关于SIM卡的选择:1. 中国大陆:移动、联通 (电信和3G卡不能用)2. 外国:除台湾地区的其他亚洲地区均可。3. 其他地区请选sim900版本。本设计当中用到AT指令有握手测试指令:1.手动发送AT回车,数据接收为AT OK。2.挂断电话指令:自己挂断电话 ATH 回车。3.来电时:往GSM打电话时,会出现RING字符。4.接听电话指令,接听对方电话 ATA 回车。3.5 ISD语音芯片工作电路 ISD1760语音芯片工作电路如图3-7所示。ISD1700系列芯片是华邦公司新推出的单片

21、优质语音录放电路,该芯片提供多项新功能,包括内置专利的多信息管理系统,新信息提示(vAlert),双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。 此类芯片的特点: 1.可录、放音十万次,存储内容可以断电保留一百年。 2.两种控制方式,两种录音输入方式,两种放音输出方式·可处理多达255段以上信息 3.有丰富多样的工作状态提示4.多种采样频率对应多种录放时间 5.音质好,电压范围宽,应用灵活,价廉物美 图3-7 ISD1760语音芯片工作电路 图中R1为限流电阻,D1为

22、指示灯,C1、C3为去耦电容,咪头测的电阻与电容构成了滤波电路。R2为振荡电阻。ISD1760芯片可以工作在独立按键工作模式,现就独立按键模式做下简单介绍。ISD1700的独立按键工作模式录放电路非常简单(如图3-7),而且功能强大。不仅有录、放功能,还有快进、擦除、音量控制、直通放音和复位等功能。这些功能仅仅通过按键就可完成。 在按键模式工作时,芯片可以通过/LED管脚给出信号来提示芯片的工作状态,并且伴随有提示音,用户也可自定4种提示音效。 录音操作:按下REC键,/REC管脚电平变低后开始录音,直到松开按键使电平拉高或者芯片录满时结束。录音结束后,录音指针自动移向下一个有效地址。而放音指

23、针则指向刚刚录完的那段语音地址。 放音操作:放音操作有两种模式,分别是边沿触发和电平触发,都由/PLAY管脚触发。 1.边沿触发模式:点按一下PLAY键,/PLAY管脚电平变低便开始播放当前段的语音,并在遇到EOM标志后自动停止。放音结束后,播放指针停留在刚播放的语音起始地址处,再次点按放音键会重新播放刚才的语音。在放音期间,LED灯会闪烁直到放音结束时熄灭。如果在放音期间点按放音键会停止放音。 2.电平放音模式:如果一直按住PLAY键,使/PLAY管脚电平持续为低,那么会将芯片内所有语音信息播放出来,并且循环播放直到松开按键将/PLAY管脚电平拉高。在放音期间LED闪烁。当放音停止,播放指针

24、会停留在当前停止的语音段起始位置。 快进操作:点按一下FWD按钮将/FWD端拉低,会启动快进操作。快进操作用来将播放指针移向下一段语音信息。当播放指针到达最后一段语音处时,再次快进,指针会返回到第一段语音。当下降沿来到/FWD端时,快进操作还要决定于芯片当时的状态:1. 如果芯片在掉电状态并且当前播放指针的位置不在最后一段,那么指针会前进一段,到达下一段语音处。 2.如果芯片在掉电状态并且当前播放指针的位置在最后一段,那么 指针会返回到第一段语音处。 3.如果芯片正在播放一段语音(非最后一段),那么此时放音停止,播放指针前进到下一段,紧接着播放新的语音。 4.如果芯片正在播放最一段语音,那么此

25、时,放音停止,播放指针返回到第一段语音,紧接着播放第一段语音。 擦除操作:擦除操作分为单段擦除和全体擦除两种擦除方式,区别如下: 1.单个擦除:只有第一段或最后一段语音可以被单个擦除。点按一下ERASE健将/ERASE管脚拉低,这时具体的擦除情况要看播放指针的状态:1>如果芯片空闲并且播放指针指向第一段语音,则会删除第一段语音,播放指针指向新的第一段语音(执行擦除操作前的第二段) 2>如果芯片空闲并且播放指针指向最后一段语音,则会删除最后一段语音,播放指针指向新的最后一段语音(执行擦除操作前的倒数第二段)3>如果芯片空闲并且播放指针指向没有指向第一或最后一段语音,则不会删除任

26、何语音,播放指针也不会被改变 4>如果芯片当前正在播放第一段或最后一段语音,点按下ERASE键会删除当前语音。 2.全体擦除:当按下ERASE键将/ERASE管脚电平拉低超过2.5秒钟,会触发全体擦除操作,删除全部语音信息。 复位操作:如果用RESET控制此管脚,建议/RESET管脚与地之间连接一个0.1F电容。当/RESET被触发,芯片将播放指针和录音指针都放置在最后一段语音信息的位置。 音量操作:点按一下VOL键将/VOL管脚拉低会改变音量大小。每按一下,音量会减小一档,再到达最小档后再按的话,会增加音量直到最大档,如此循环。总共有8个音量档供用户选择,每一档会改变4dB。复位操作会

27、将音量档放在默认位置,即最大音量。 FT直通操作:将/FT管脚与GND短接,持续保持在低电平会启动直通模式。出厂设 定的是在芯片空闲状态,直通操作会将语音从Analn端直接通往喇叭端或AUD输出口。在录音期间开启FT功能,会同时录下Analn进入的语音信号。 提示音(SE)编辑:ISD1700S中设计了4 种声音来提示当前的工作状态,分别为SE1,SE2,SE3,SE4。 SE1:录音,下一曲或全部擦除的开始; SE2:录音,单首擦除或最后一曲结束时;SE3:无效地擦除操作;SE4:全部擦除成功。A)进入SE 编辑模式: 1 首先保持FWD 为低3 秒左右,然后LED 会闪一下(若有SE1,会

28、同时播放SE1)。但是若当前曲目为最后一曲或没有录音则LED 会闪两下(若有SE2,会同时播放SE2)。 2保持FWD 为低,然后按下REC 使之为低直到LED 闪一下。 3 LED 再闪一下说明已经进入SE 编辑模式;进入此模式后,当前待编辑SE 为SE1。B)编辑: 进入SE 编辑模式后可按原来的方式进行录音,放音和擦除。按FWD 可选SE1 至SE4,按FWD 后可根据LED 的闪动次数来判断当前的SE,闪一下为SE1,闪两下为SE2,依此类推。 C) 退出SE 编辑模式: 操作方法同进入方法一样。4软件设计单片机编程软件我们用的是Keil uVision软件。Keil uVision是

29、德国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强, 使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管

30、理器,调试器。uVision IDE可为它们提供单一而灵活的开发环境。单片机程序上包括一些函数变量申明等,主程序及一些子函数。具体程序说明如下:4.1程序说明/* 实验名 : 远程电话控制系统* 使用的IO : P2.0、2.1、2.2、2.3;p2.0/2.1分别为输出控制语音芯片播放及下一语音段,p2.2/2.3分别为输出控制电饭煲机热水器输出。* 实验效果 : 1,来点响铃超过6次(任意设)进入系统 :2,密码输入次数超过3次(任意设)挂机 :3,密码正确后提示用户各项操作所对应的数字键,确认操作完成后,挂机 :4,按键时间间隔不能超过5秒(可设5-10秒)当超过设定值,挂机语音字段说明

31、 :1,欢迎进入远程电话控制系统 :2,请输入密码 :3,请重新输入 :4,密码错误,再见 :5,谢谢使用,再见 :6,控制电饭煲请按1 :7,控制热水器请按2*/4.2函数申明及变量定义#include<reg51.h>void UsartConfiguration();void Delay300ms(); /延时200ms void Init(); /初始化函数void Select_PLAY(unsigned char x); /定义选择播放子函数void password_if(); /密码判断子程序void TimerConfiguration(); /定时器配置函数sb

32、it PLAY=P20; /播放控制sbit NEXT=P21; /播放下一个sbit CTRL1=P22; /控制输出第一路sbit CTRL2=P23; /控制输出第二路unsigned char RX_BUF30; /接收缓冲区unsigned char TX_BUF20; /发送缓冲区unsigned char RX_count=0; /接收字符计数变量unsigned char Ring_Count; /响铃计数变量unsigned char Ring_Count_set; /响铃计数变量设置值unsigned char Password_count; /密码输入次数unsigned

33、 char Password_count_set; /密码输入次数设置值unsigned char Password1; /初始密码第一位unsigned char Password2; /初始密码第二位unsigned char Password3; /初始密码第三位unsigned char Password4; /初始密码第四位unsigned char buf_Password1; /接收密码第一位unsigned char buf_Password2; /接收密码第二位unsigned char buf_Password3; /接收密码第三位unsigned char buf_Pas

34、sword4; /接收密码第四位unsigned char buf_password_count; /接收密码计数unsigned char order1; /命令1unsigned char order2; /命令2unsigned char order3; /命令3unsigned char order4; /命令4unsigned char delay_time_set; /按键延时时间设定值unsigned char delay_time_bit; /按键延时时间标志unsigned char Time; /记时变量4.3初始化函数 初始化函数将一些变量付给了初值,系统初始密码为123

35、4。详细请见如下程序:/* 函数名 : Init()* 函数功能 : 初始化函数* 输入 : 无* 输出 : 无*/void Init()RX_count=0; /接收字符计数变量清零Ring_Count=0; /响铃计数变量Ring_Count_set=6; /响铃计数变量设置值初始值为6次Password_count=0; /密码输入次数,初始值为0Password_count_set=3; /密码输入次数设置值,初始值为3Password1=1;/初始密码设为1234Password2=2;/初始密码设为1234Password3=3;/初始密码设为1234Password4=4;/初始

36、密码设为1234buf_password_count=0; /接收密码计数,初值为0order1=0; /命令标志初值为0order2=0; /命令标志初值为0order3=0; /命令标志初值为0order4=0; /命令标志初值为0PLAY=1; /播放声音禁止NEXT=1; /选择播放声音指针默认不选择CTRL1=1; /控制输出第一路默认不输出CTRL2=1; /控制输出第二路默认不输出delay_time_set=15; /按键间隔延时时间设定15秒delay_time_bit=0; /按键间隔延时时间标志Time=0;4.4密码校验函数 密码校验函数的功能主要是当接通了电话后,在用

37、户输入密码后进行判断,根据密码的正确与否来执行不同的程序。/* 函数名 : password_if()* 函数功能 : 密码判断函数* 输入 : 无* 输出 : 无*/void password_if()buf_password_count=buf_password_count+1; /密码接收计数加一 if (buf_password_count=1)/处理接收到的第一位密码数据 if (RX_BUFRX_count-2=0x31) /如果接收到的命令字符为1 buf_Password1=1; else if (RX_BUFRX_count-2=0x32) /如果接收到的命令字符为2 buf

38、_Password1=2; else if (RX_BUFRX_count-2=0x33) /如果接收到的命令字符为3 buf_Password1=3; else if (RX_BUFRX_count-2=0x34) /如果接收到的命令字符为4 buf_Password1=4; else if (RX_BUFRX_count-2=0x35) /如果接收到的命令字符为5 buf_Password1=5; else if (RX_BUFRX_count-2=0x36) /如果接收到的命令字符为6 buf_Password1=6; else if (RX_BUFRX_count-2=0x37) /如

39、果接收到的命令字符为7 buf_Password1=7; else if (RX_BUFRX_count-2=0x38) /如果接收到的命令字符为8 buf_Password1=8; else if (RX_BUFRX_count-2=0x39) /如果接收到的命令字符为9 buf_Password1=9; else if (RX_BUFRX_count-2=0x30) /如果接收到的命令字符为0 buf_Password1=0; else if (buf_password_count=2)/处理接收到的第二位密码数据 if (RX_BUFRX_count-2=0x31) /如果接收到的命令字

40、符为1 buf_Password2=1; else if (RX_BUFRX_count-2=0x32) /如果接收到的命令字符为2 buf_Password2=2; else if (RX_BUFRX_count-2=0x33) /如果接收到的命令字符为3 buf_Password2=3; else if (RX_BUFRX_count-2=0x34) /如果接收到的命令字符为4 buf_Password2=4; else if (RX_BUFRX_count-2=0x35) /如果接收到的命令字符为5 buf_Password2=5; else if (RX_BUFRX_count-2=0

41、x36) /如果接收到的命令字符为6 buf_Password2=6; else if (RX_BUFRX_count-2=0x37) /如果接收到的命令字符为7 buf_Password2=7; else if (RX_BUFRX_count-2=0x38) /如果接收到的命令字符为8 buf_Password2=8; else if (RX_BUFRX_count-2=0x39) /如果接收到的命令字符为9 buf_Password2=9; else if (RX_BUFRX_count-2=0x30) /如果接收到的命令字符为0 buf_Password2=0; else if (buf

42、_password_count=3)/处理接收到的第三位密码数据 if (RX_BUFRX_count-2=0x31) /如果接收到的命令字符为1 buf_Password3=1; else if (RX_BUFRX_count-2=0x32) /如果接收到的命令字符为2 buf_Password3=2; else if (RX_BUFRX_count-2=0x33) /如果接收到的命令字符为3 buf_Password3=3; else if (RX_BUFRX_count-2=0x34) /如果接收到的命令字符为4 buf_Password3=4; else if (RX_BUFRX_co

43、unt-2=0x35) /如果接收到的命令字符为5 buf_Password3=5; else if (RX_BUFRX_count-2=0x36) /如果接收到的命令字符为6 buf_Password3=6; else if (RX_BUFRX_count-2=0x37) /如果接收到的命令字符为7 buf_Password3=7; else if (RX_BUFRX_count-2=0x38) /如果接收到的命令字符为8 buf_Password3=8; else if (RX_BUFRX_count-2=0x39) /如果接收到的命令字符为9 buf_Password3=9; else

44、if (RX_BUFRX_count-2=0x30) /如果接收到的命令字符为0 buf_Password3=0; else if (buf_password_count=4)/处理接收到的第四位密码数据 if (RX_BUFRX_count-2=0x31) /如果接收到的命令字符为1 buf_Password4=1; else if (RX_BUFRX_count-2=0x32) /如果接收到的命令字符为2 buf_Password4=2; else if (RX_BUFRX_count-2=0x33) /如果接收到的命令字符为3 buf_Password4=3; else if (RX_B

45、UFRX_count-2=0x34) /如果接收到的命令字符为4 buf_Password4=4; else if (RX_BUFRX_count-2=0x35) /如果接收到的命令字符为5 buf_Password4=5; else if (RX_BUFRX_count-2=0x36) /如果接收到的命令字符为6 buf_Password4=6; else if (RX_BUFRX_count-2=0x37) /如果接收到的命令字符为7 buf_Password4=7; else if (RX_BUFRX_count-2=0x38) /如果接收到的命令字符为8 buf_Password4=8

46、; else if (RX_BUFRX_count-2=0x39) /如果接收到的命令字符为9 buf_Password4=9; else if (RX_BUFRX_count-2=0x30) /如果接收到的命令字符为0 buf_Password4=0; if (buf_password_count>4)/如果数据计数大于4位 buf_password_count=0; /超过计数最大值则清零 4.5定时器中断函数 定时器中断函数实现的功能为判断用户操作按键的时间,如果超过设定的值时,则系统自动挂机。/* 函数名 : TimerConfiguration()* 函数功能 : 配置定时器值* 输入 : 无* 输出 : 无*/ void TimerConfiguration() TMOD = 0x01; /选择工作方式1 TH0 = 0x3C; /设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论