基于AT89S51的汽车智能报警系统的设计_第1页
基于AT89S51的汽车智能报警系统的设计_第2页
基于AT89S51的汽车智能报警系统的设计_第3页
基于AT89S51的汽车智能报警系统的设计_第4页
基于AT89S51的汽车智能报警系统的设计_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

河南科技学院2008 届本科毕业论文(设计)论文题目:基于 AT89S51 的汽车 智能报警系统设计学生姓名: 刘 伟所在院系: 机电学院所学专业: 应用电子技术教育导师姓名: 刘 法 治完成时间:2008 年 5 月 28 日摘 要汽车智能报警系统介绍一种将单片机的实时控制及数据处理功能,与超声波的测距技术、红外线传感器控测技术相结合, 实现 的汽车防盗、防撞 报警系统。介绍了 AT89S51 单片机的性能及特点,及以其 为核心的一种低成本、高精度、微型化、数字显示的汽车防盗防撞报警器。其中防盗防撞报警器利用超声波实现对汽车的测距,利用单片机的 实时控制和数据处理功能,完成系统的控制。文章 给出了报警系统的硬件电路原理及软件设计。关键词:AT89S51;防盗防撞;报警器Design of Smart Car Alarm System Based on AT89S51AbstractCombining microcontroller data handles function in time, with ultrasonic distance measuring technique, infra-red senser probing technique together, system of guarding against theft and bump was introduced. It introduces the function and characteristics of microcontroller AT89S51 Based on it a low-cost high accuracy microminiaturization and digital display proximity warning indicator for automobile is designed. The indicator measures the distance of the automobile with ultrasonic wave, controls the system by the real time control and data processing of the microcontroller. Moreover, its circuitry principle is introduced in detail as well as its software design.Key words:AT89S51; Guarding Against Theft and Bump; Alarm目 录1 绪论 .12 设计要求 .13 系统结构 .14 系统硬件设计 .14.1 红外人体检测电路 .14.2 车门开关检测电路 .34.3 密码键盘电路 .34.4 打火检测电路 .34.5 防撞检测电路 .34.5.1 超声波发射电路 .44.5.2 超声波接收电路 .44.6 加速度检测电路 .54.7 振动检测电路 .54.8 声光报警电路 .64.9 遥控电路 .64.9.1 遥控发射原理 .64.9.2 遥控发射电路 .74.9.3 遥控接收电路 .74.10 切断电路 .94.11 显示电路 .94.12 电源电路 .104.13 掉电存储电路 .105 系统软件设计 .115.1 程序框图 .115.2 键盘扫描程序 .116 结束语 .13致谢 .13参考文献 .13附录 1 总电路图 .15附录 2 程序清单 .1611 绪论随着现代生活节奏的加快,盗车和交通事故发生的频率也在增加,为提高汽车停放和驾驶时的安全性,本文介绍一种单片机控制的汽车智能防撞报警系统。本系统采用一种将单片机的实时控制及数据处理功能,与超声波的测距技术、红外 线传感器控测技术 相结合, 实现的汽车防盗、防撞报警系统。介绍了AT89S51 单片机的性能及特点,及以其 为核心的一种低成本、高精度、微型化、数字显示的汽车防盗防撞报警器。其中防撞报警器利用超声波实现对汽车的测距,利用单片机的实时控制和数据处理功能,完成系统的控制。2 设计要求系统的具体设计要求为:(1)能准确检测盗车信号并及时作出报警。(2)驾驶时能及时检测车距并显示,小于报警距离时报警提示。(3)通过串行方式在 LED 上显示距离值。(4)利用遥控发射接收装置及时通知车主。(5)可以随时开启与关闭报警。基于以上的要求,所设计的系统必须有以下结构模块:红外检测单元、超声发射接收单元、LED 串行显示单元、遥控发射接收单元、振动监测单元。3 系统结构本系统以 89S51 单片机为 核心元件,用热释电传感器进行人体检测,发现有不法分子靠近汽车时及时报警;密码锁住点火电路,当车主上车后必须先输入密码才能正常打火启动;采用加速度传感器来检测汽车是否发生位移,防止汽车被不法分子拖走;同时对车门的开关状态和打火高压进行检测,减少汽车被盗的可能。同时为 了保护车主的人身安全,本系统中加入了防撞检测,在汽 车近距离内有障碍物时进行报警同时显示距离以提醒车主。系统总体框图 1如图 1 所示。4 系统硬件设计4.1 红外人体检测电路防盗系统采用红外传感器 TX05D2,它是一种 “一体化”红外发射、接收器件,其内部包含红外线发射、接收、信号放大与处理电路,能以非接触方式检测出前方一定范围内的人体或物体,并转换成高电平输出。TX05D 内部采用了低功耗器件和抗干扰电路,工作稳定可靠、性能优良。TX05D 是模块化产品,整体电路风筝于尺寸约为 46.5mm32mm17mm 的塑料小盒内。盒侧面设有一个2图 1 系统总体方框图红色发光二极管和一个灵敏度调节孔。红色发光二极管用来指示开关工作状态(平时熄灭,有反射物时发光)。灵敏度 调节孔用来调节反射孔检测距离;顺时针调反射检测距离增大,逆时针调反射检测距离缩小。TX05D 共有三根外接线,通过长约 2m 的双芯屏蔽线引出,其 红线接电源正极,网线接电源负极,白线为信号输出端。白线静态时输出低电平,有反射物 时输出高电平。 TX05D 的主要电参数如下:工作电压范围 512V,对应工作电流 520mA,对应最大检测距离为30120cm。其内部原理如图所示。R5810KR60 10kR62 2MR6347KR5747KR61 1MR64 1KR6510KR66 1KR591MC270.01C3147C321C330.1C300.01C29 0.01RP310KC2810VC9IB10VDD112OUT122IN-131IN+141IN-151OUT16 A 1VO 2RR1 3RC1 4RC2 5RR2 6GND 7VRF 8BIS0001P1.0+5VDSG图 2 热释电人体检测电路车门检测密码键盘打火检测防撞检测人体检测切断电路振动检测加速度检测遥控接收距离显示遥控发射声光报警89S5134.2 车门开关检测电路采用三方向(前、左、右)压电式超声波发生器测距系统, 为微控制器提供其前方、左侧和右侧环境的运 动距离信息。主要 测车门 被打开的位移信号,当 车门被打开距离超过 5cm 时就报警。对测距 5cm20cm 的平面物体的测量发现,其最大误差为 0.5cm,且重复性好。4.3 密码键盘电路本系统采用矩阵键盘作为密码输入工具。具体电路如图所示。图 3 矩阵键盘原理图矩阵按键扫描程序是一种节省 IO 口的方法,按 键数目越多 节省 IO 口就越可观,本程序的思路:先判断某一列(行)是否有按键按下,再判断该行(列)是那一只键按下。但是,在程序的写法上,采用了最简单的线反转法,使得程序效率最高。4.4 打火检测电路汽车进入防盗状态后,若出现打火高压则可能是不法分子盗取汽车,此时应进行声光报警并通知车主。4.5 防撞检测电路本系统选用单片机 AT89S51 为信号控制器,用超声波的发射接收来测量距离。具体工作过程如下:防撞开关与 AT89S51 的 P1.6 引脚相连,开关合上 时,AT89S51 的 P1.6 端置 0 发 射超声波, 计数器开始计 数。超声波接收 电路接收到信号将信号输入到中断 0 为边沿触发,接收到信号的同时计数器关闭,读出计数值,进行距离计算;此距离与 报警距离比较,当小于报警距离时, 显示距离,并且S14S24S34S44S13S23S33S43S12S22S32S42S11S21S31S41R2310KR2410KR2510KR2610KR2710KR2810KR2910KR3010KVCCP0.4P0.5P0.6P0.7P0.0 P0.1 P0.2 P0.34AT89S51 的 P2.4 端置 0 进行声光报警,当大于 报警距离时不报警。4.5.1 超声波发射电路超声发射电路 6如图 4 所示:由 555 时基电路和超声波发射探头组成,单片机 AT89S51 的 P1.6 端反相后接 4 脚, 调节变阻器 RP1 控制 555 时基电路产生 40kHz 的频率信号 给超声波 发生器,此时超声波振幅最大,由超声波探头发射的超声波射向障碍物。R4TRIG2CVlot5Q 3DIS 7THR 68VCCGND1555R101KR115.1KR122.2KC80.1C70.01C90.33MA40EISRP110K+5VP1.6图 4 超声波发射电路4.5.2 超声波接收电路超声波接收电路如图 5 所示。本电路由超声波接收探头 MA40EIR、放大器和整形器组成。由障碍物反射回来的超声波经接收探头,变换为电脉冲信号,再由放大器、整形器放大和整形后送入到单片机 AT89S51 的 P3.2 引脚。R153KR1339KR1410MMA40EIR23184LM393+5V+5V0VP3.2图 5 超声波接收电路54.6 加速度检测电路拖车或整车搬运的方法也是目前窃贼盗窃汽车常用的手段,对付这种盗车方法就可以用加速度传感器进行检测。ADXL202 7是 AD 公司设计生产采用MEMS 工艺制作的低价格、低功耗、 单芯片集成双 轴加速度传感器,35.25V 单电源供电,工作电流小于 6mA,可以 测量 0-5kHz2g 范围内动态或静态加速度,60Hz 时分辨率 为 2mg,可以数字、模拟信号形式输出,体积仅为5mm5mm2mm;可以对车 体微小振动和整车的倾 斜角度同时进行监测。将其应用于汽车防盗系统不但扩大了系统的监测范围,而且简化了系统,提高了防盗系统报警的可靠性。ADXL202 具有以下特点:(1)ADXL202 是集双轴加速度传感器于一体的单块集成电路;(2)它既可测量动态加速度,又可测量静态加速度;(3)具有脉宽占空比输出;(4)低功耗0.6mA ;(5)比电解质、水银、热能、斜度 测量仪响应快;(6)每根轴的带宽均可通过电容调整;(7)60Hz 带宽时 的分辨率为 5mg ;(8)直流工作电压为+ 3V +5.25V;(9)可承受 1000g 的剧烈冲击。4.7 振动检测电路振动检测电路如图 6 所示。工作时,由振 动传感头 HD1 将机械振动转换成 电信号,加在运放 N1 的同相 输入端 5 脚, N1 组成同相 输入电压放大器,放大后的信号由 7 脚输出,经 W1 加单片机上。调节 W1,可调整振动器的灵敏度。图 6 振动检测电路6574LM324R1656KR1756KR18 360KW1500KHD 1+5VC133uD101N 4148P1.364.8 声光报警电路报警电路如图 7 所示。由 555 电路和扬声器组成。系统正常工作时,AT89S51 的 P2.4 端输出高 电平经反相器后为低电平,555 不工作。 扬声器不发声。当接收到报警信号时,AT89S51 的 P2.4 输出低电 平, 经反相器后为高电平,此时 555 振荡,经过电容耦合滤除直流分量使扬声器 发出报警声音,同时发光二极管经过三极管驱动后发光。R4TRIG2CVlot5Q 3DIS 7THR 68VCCGND1555R71KR61KR8200KR9150KQ39013D974LS04C11 C21SPEAKER8+5VP2.4图 7 声光报警电路4.9 遥控电路该设计给出了基于 PT2262/PT227210的遥控系统的 设计,该设计方案具有较高的可靠性和实用性。PT2262/2272 是台湾普城公司生 产的一种 CMOS 工艺制造的低功耗低价位通用编解码电路,PT2262/2272 最多可有 12 位 A0A11 三态地址端管脚悬空,接高电 平,接低 电平,任意 组合可提供 531441 组地址码,PT2262 最多可有 6 位 D0D5 数据端管脚,设定的地址码和数据码从 17 脚串行输出,经调 制后以调幅波的形式在 315MHz 上向外 发射,可用于无线遥控发射电路。4.9.1 遥控发射原理PT2262 发出的编码信号由地址码、数据 码、同步码组 成一个完整的码字, PT2272 只有在 连续两次检测到相同的地址码加数据码才会输出有效数据。图 8是放大的一组字码,该字码为 8 位地址悬空的情况下发送 0010 的波形;一个字7码由 12 位 AD 码(地址码加数据码)组成,图中为 8 位地址码加 4 位数据码组成,每个 AD 位用两个脉冲来代表:两个窄脉冲表示“0 ”;两个宽脉冲表示“1”;一个窄脉冲和一个宽脉冲表示“ F”也就是地址码的“ 悬空”。图 8 字码波形4.9.2 遥控发射电路以 PT2262 构成的发射电路如图 9 所示,在 这个发射电路中, 为方便考虑,将 A0A7 的 8 位地址均悬空。在实际使用中, A0A7 是可以在“ 1”、“0”、“悬空”3 种状态中任意选择,即可构成 38 个地址,与 单片机相连时,可以很容易地通 过单片机的 I/O 线对地进行设定。图 9 遥控发射电路4.9.3 遥控接收电路以 PT2272 构成的接收电路如图 10 所示, 为了同发射电路地址匹配以保证D310D211D112D013TE14OSC115OSC216DOUT17VCC18A01A12A23A34A45A56A67A78GND9PT2262R394.7MR4047KQ49013S2S3S4C1425PL110uHL25uHC155PD11D12D13D14LED S15V10K41N414842.7K4R31-R34R35-R388其正常工作,PT2262 的 A0A7 的 8 位地址均悬空。图 4 电路中已经包含了选频网络、放大、整形等电路,因此在信号接收端不依 赖于 1/4 波长天线的选频作用,控制距离较近时可以剪短甚至去掉外接天线。图 10 遥控接收电路D310D211D112D013DIN14OSC115OSC216VT17VCC18A01A12A23A34A45A56A67A78GND9IN2+5IN2-6OUT27VCC8OUT11IN1-2IN1+3GND4R411KR4247KR4839KR43150R4647KR4727KR54620R4447KR45330KR504.7MR51 1.2MR52200KR53 200KR5610KR5510KR49120KC167pC15103C182pC17 5pC19330pC214pC20 33pC213pC22105C9103C23472C24 102Q19018Q29018L32.5uHL41uH+5VP2.0-P2.394.10 切断电路切断电路如图 11 所示。正常工作时 AT89S51 的 P2.5 端输出高电平,经反相器后为低电平,光耦不导 通,两个三极管都不 导通, 继电器常闭触头不动作,点火开关能正常接通;当有报警信息时 AT89S51 的 P2.5 端输出为低电平,经反相器后为高电平,光耦导通,继电器接通,它的常 闭 触头断开,则点火开关不能正常接通,防止有人将汽车 开走。D81N414874LS04R11KR51KR41KQ29013Q19013OPTOISO1J+5VP2.5图 11 切断电路4.11 显示电路abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9IC1abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9IC2abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9IC3abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9IC4A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9IC174ALS164A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9IC274ALS164A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9IC374ALS164A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9IC474ALS164D16D17D18CLK 1VCC 2GND 3AB 4 VCC图 12 显示电路10显示电路如图 12 所示。本设计采用四位数码管进行距离显示,最低位可以精确到毫米。采用数码管进 行距离显示,具有亮度高,价格便宜等 优点。利用串行显示可以节省单片机的端口,且程序设计比较简单。4.12 电源电路由于该系统在汽车上使用,可以借助汽车电源供电。电源电路如图 13 所示。该电路具有工作可靠、输出可 调、成本低廉等 优点。FU12AD1 D3D2 D4C13300 C20.1C510C61D9D11RP12KR1240R21.2KD13IN3 OUT 2ADJ1LM3171N40074图 13 电源电路4.13 掉电存储电路为了存储密码,采用了掉电存储电路。初始化 时写入一组密码, 车主每次开车前需输入正确密码才能正常启动汽车。其电路如图 14 所示。在三次密码输入均错误后, 报警电路开始报 警,同 时单片机从掉电存 储器中读入超级密码。只有输入正确的超级密码后,才能解除警报,启 动车辆。用 户通过键盘可以修改密码,修改后的新密码也存储到掉电存储器中。S C LS D AV C CN C1N C2N C3G N D4 S D A 5S C L 6W P 7V C C 8A T 24C 0 2AR 195. 1KR 205. 1KP 2.6P 2.7图 14 掉电存储电路115 系统软件设计5.1 程序框图程序框图如图 15 所示。图 15 程序框图5.2 键盘扫描程序键盘识别程序有多种,如行列扫描法, 线反转法,查 表法等,我采用线反转法。键盘扫 描程序框图如图 16 所示。第一步:先判断是否有键按下,可以将所有列置低电平,读取行的状态,若行中有低电平,则表示有键按下,转入第二步,否 则直接返回。第二步:延时 10ms,再次判断是否有 键按下,若没有,则表示刚才是键抖动,直接返回,若有键按下,进入第三步。第三步:将所有列置低电平,读取并存储行的状态,将所有行置低电平, 读取并存储列的状态,以确定哪个按键按下。第四步:判断按键是否释放,若没有则一直等待,直到其释放为止。可以将所开始初始化正常驾驶状态?有盗车信号?允许报警?声光报警通知车主车距太近?检测车距显示距离声光报警YNYYNN12有列置低电平,读取行的状态,若行中有低 电平,则 表示仍有键按下。第五步:根据第三步读取的行列状态计算出键值。第六步:返回主程序。图 16 键盘扫描程序框图置所有的列为低电平读 取行的状态行中有低电平吗延时 10ms置所有的列为低电平读 取行的状态行中有低电平吗读 取列的状态置所有的行为低电平列中有低电平吗键值译码按键释 放了吗开始返回YNYYYNNN136 结束语本设计的汽车多功能报警器,充分利用 AT89S51 的内部资源,进行实时数据处理和控制功能,使系统 工作于最佳状态,提高了系统的综合反应灵敏度, 报警及时, 实现了汽车多种功能的报警控制。 实践证明 该系统使用效果优于其他报警器。且具有体积小、操作简单、使用方便、多功能报警的特点。而且以AT89S51 为核心,使得电 路设计简单,成本大为降低,而且功耗低。此外,从程序的设计来看,软件系统可靠性高,运行速度快。同 样 的程序只要改变其中的某些参数便可以把该系统应用到其他不同要求的场合,移植性很好。致谢论文结束之际,首先感谢我的指导老师,他 专业知识丰富、才思敏捷、治学严谨,而且 认真负责,耐心讲解问题,对我的毕业设计 提供了很大的指导和帮助,在指导老师的严格要求下,使我能够顺利的完成毕业设计,在此向我的指导老师表示衷心的感谢!同时还要感谢其他教育过我的老师们,他们在这五年期间,给了我很大的帮助,另外,在我设计期间,同班的 许多同学也 给了我很大的帮助,在资料的收集整理和实验中我们团结一致,共同解决困难。在此我也向他们表达我真诚的谢意。参考文献1刘法治,赵明富,宁鹏达.基于单片机的汽车多功能报警系 统设计J. 自动化仪表, 2005(8):21242张国雄.测控电路 M.北京 :机械工业出版社,2003 3张维平.汽车多功能报警器J. 电子世界, 20009(2):5l524刘法治,郑竹林.汽车多功能报警器J. 农机化研究, 2005(5):1421445贾伯年.传感器技术M.南京: 东南大学出版社, 20036黄继昌.传感器工作原理及应用实例.北京:人民邮电出版社 , 19987屈翠香,李刚.具有数字信号输出的双轴加速度传感器 ADXL202J. 国外电子元器件,1999(8):8-11. 8李朝青.单片机原理及接口技术M. 北京:北京航空航天大学出版社,19999余永权.单片机应用系统的功率接口技术M. 北京:北京航空航天大学出版社,199310吴文佳. PT2262/ PT2272 编解码 IC 在无线智能报警系统中的应用J . 世界电子元器件 ,2004(12 ):4546. 11郑开陆. 基于单片机和 PT2272 的编码解码方法J .现代电子技术 ,2006 ( 12) :6063. 1412孙涵芳.MCS-51 系列单片机原理及应用M.北京:北京航空航天大学出版社,199613晏敏,曾云,曾健平等.远程汽车防盗报警系统的设计J.宇航计测技术, 2004(6):495114丁镇生.传感及遥控遥测技术应用 M .北京:国防工业出版社 ,200315丁园园,赵维琴.基于 MCS51 单片机的自动报警系统J.仪表技术,2001(2):192016武树田.汽车多功能报警器J. 汽车电器, 1999(2):1517戴梅萼,史嘉权.微型计算机技术及应用 M.北京:清华大学出版社,199615附录 1 总电路图附录 2 程序清单SDA BIT P2.6SCL BIT P2.7I2_WCOMM DATA 10100000BI2_RCOMM DATA 10100001B BERROR BIT 00H;错误标志位BEQUAL BIT 01H;相等标志位FCHP BIT 02H;密码修改FLING BIT 03H;报警标志位EA/Vpp31XTAL119XTAL218RESET9 P3.7(RD)17P3.6(WR)16P3.2(INT0)12 P3.3(INT1)13 P3.4(T0)14 P3.5(T1)15P1.01 P1.12 P1.23 P1.34 P1.45 P1.56 P1.67 P1.78P0.039P0.138P0.237P0.336P0.435P0.534P0.633P0.732P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30P3.1(TXD)11P3.0(RXD)10 GND20VCC4089S51S14 S24 S34 S44S13 S23 S33 S43S12 S22 S32 S42S11 S21 S31 S41R23 10KR24 10KR25 10KR26 10KR2710KR2810KR2910KR3010K+5VC1122uFCRY12MHzC12 33PFC13 33PFGNDVCC GNDR21 200R2210KS0SCLSDAVCCNC1 NC2 NC3 GND4SDA5SCL6WP7VCC8AT24C02AR195.1KR205.1Ka bf cg deDPY 1234567abcdefg 8dpdp9IC1a bf cg deDPY 1234567abcdefg 8dpdp9IC2a bf cg deDPY 1234567abcdefg 8dpdp9IC3a bf cg deDPY 1234567abcdefg 8dpdp9IC4A1B2Q03 Q14Q25 Q36Q410 Q511Q612 Q713 CLK 8MR 9IC174ALS164A1B2Q03 Q14Q25 Q36Q410 Q511Q612 Q713 CLK 8MR 9IC274ALS164A1B2Q03 Q14Q25 Q36Q410 Q511Q612 Q713 CLK 8MR 9IC374ALS164A1B2Q03 Q14Q25 Q36Q410 Q511Q612 Q713 CLK 8MR 9IC474ALS164D11 D12 D13CLK1VCC2GND3AB4VCCR4 TRIG2 CVlot5Q3 DIS7 THR68 VCC GND 1555R101KR115.1KR12 2.2KC80.1C70.01C90.33MA40EISRP2 10K+5VR4 TRIG2 CVlot5Q3 DIS7 THR68 VCC GND 1555R7 1KR6 1KR8 200KR9150KQ3 9013D974LS04C5 1C6 1SPEAKER 8+5VP2.4R153KR1339KR14 10MMA40EIR2318 4LM393+5VD8 1N414874LS04R31KR51KR41KQ2 9013Q19013OPTOISO1J+5VP2.56574 LM324R16 56KR17 56KR18360KW1 500KHD1VCCC10 33uD10 1N4148 P1.3VCCFU12AD1D3 D2D4C1 3300C2 0.1C3 10C41D5D6RP1 2KR1 240R2 1.2K D7IN3OUT2ADJ 1LM3171N40074CLKABRESETP3.2P1.6P2.6 P2.7P0.0P0.1P0.2P0.3P0.4 P0.5 P0.6 P0.716FD BIT 04H;防盗标志位 BAOJING BIT P2.4;报警器端口HANG EQU 30HLIE EQU 31HLENGTH EQU 32HFERROR EQU 33HLTIME EQU 34HJIANZHI EQU 35HORG 0000HAJMP MAINORG 0003H ;中断 0 入口LJMP INTR0ORG 000BHLJMP TIN0ORG 0030HMAIN:MOV SP, #70HMOV IE, #9FHMOV TH0, #3CHMOV TL0, #0B0HSETB TR0SETB FD ;默认为防盗状态LCALL INITIALCLR BERRORCLR BEQUALCLR FCHPCLR FLINGLCALL PXSLCALL DEL100MMOV R0, #40HMOV R1, #60HLCALL KEYPROLCALL COMPAREJB FD, PFDAOLJMP PFZPFDAO:MOV P1, 0FHNOPNOPMOV A, P1ANL A, #0FHXRL A, #0FHJNZ ANQUANCLR BAOJINGANQUAN:RETPFZ:CLR P1.6RETINITIAL:MOV R0, #30HMOV R5, #64CLR AQLLP:MOV R0, AINC R0DJNZ R5, QLLPMOV R0, #50HMOV R6, #4MOV R7, #0NOPLCALL RD_I2MOV R0, #50HMOV R1, #60HMOV R4, #4LOOP:MOV A, R0MOV R1, AINC R0INC R1DJNZ R4, LOOPRETKEYPRO:LCALL KEYSCANMOV A, JIANZHICLR CSUBB A, #10JNC FUNPROADD A, #10MOV R0, AMOV R1, ALCALL PXSLCALL DEL100MINC R0INC R1INC LENGTHCJNE R0,#44H, KEYPRORETFUNPRO:CLR CRLC AMOV DPTR, #JPTABJMP A+DPTRJPTAB:AJMP PDELAJMP PENTERAJMP PCHANGEAJMP KEYPRO17AJMP KEYPROAJMP KEYPROAJMP KEYPROPDEL:DEC R0DEC R1DEC LENGTHMOV R1, #11LCALL PXSAJMP KEYPROPENTER:JB FCHP, PENT1LCALL COMPAREJNB BEQUAL,PENT2SETB FLINGLCALL PXS2LCALL DEL1SPENT2:MOV R0, #40HMOV R1, #60HMOV LENGTH, #0AJMP KEYPROPENT1:AJMP EKPROPCHANGE:SETB FCHPMOV R1, #60HMOV R4, #4PCLP:MOV R1, #11INC R1DJNZ R4, PCLPLCALL PXSLCALL DEL1SMOV R0, #40HMOV R1, #60HMOV LENGTH, #0LCALL KEYPROCLR SPEAKERLCALL DEL1SSETB SPEAKERLCALL COMPAREJNB BEQUAL, PCHLCALL PXS2LCALL DEL1SMOV R0, #40HMOV R1, #60HMOV LENGTH, #0LCALL KEYPROCLR SPEAKERLCALL DEL1SSETB SPEAKERMOV R0, #40HMOV R1, #50HMOV R4, #4CSLP:MOV A, R0MOV R1, AINC R0INC R1DJNZ R4, CSLPLCALL PXS2LCALL DEL1SMOV R0, #40HMOV R1, #60HMOV LENGTH, #0LCALL KEYPROCLR SPEAKERLCALL DEL1SSETB SPEAKERLCALL COMPAREJNB BEQUAL, PCHCLR FCHPLCALL PXS2LCALL DEL1SMOV R0, #50HMOV R6, #6MOV R7, #0HNOPLCALL WR_I2CLR SPEAKERLCALL DEL1SSETB SPEAKERPCH:MOV R0, #40HMOV R1, #60HMOV LENGTH, #0AJMP KEYPROKEYSCAN:MOV P1, #0F0HNOPNOPMOV A, P1XRL A, #0F0HJZ NOKEYMOV P1, #0FHNOP18NOPMOV A, P1XRL A, #0FHJZ NOKEYLCALL DEL10MMOV P1, #0F0HNOPNOPMOV A, P1MOV HANG, AXRL A, #0F0HJZ NOKEYMOV P1, #0FHNOPNOPMOV A, P1MOV LIE, AXRL A, #0FHJZ NOKEYBACK:MOV P1, #0F0HNOPNOPMOV A, P1XRL A, #0F0HJNZ BACKMOV A, HANGJNB ACC.4, HANG1JNB ACC.5, HANG2JNB ACC.6, HANG3JNB ACC.7, HANG4AJMP NOKEYNOKEY:RETHANG1:MOV HANG, #0AJMP PLIEHANG2:MOV HANG, #1AJMP PLIEHANG3:MOV HANG, #2AJMP PLIEHANG4:MOV HANG, #3AJMP PLIEPLIE:MOV A, LIEJNB ACC.0, LIE1JNB ACC.1, LIE2JNB ACC.2, LIE3JNB ACC.3, LIE4AJMP NOKEYLIE1:MOV LIE, #0AJMP PCODELIE2:MOV LIE, #1AJMP PCODELIE3:MOV LIE, #2AJMP PCODELIE4: MOV LIE, #3AJMP PCODEPCODE:MOV A, HANGMOV B, #4MUL ABADD A, LIEMOV JIANZHI, ARETCOMPARE:PUSH ACCPUSH PSWCLR RS0SETB RS1CLR BEQUALMOV A, LENGTHCJNE A, #4, CMPMOV R0, #40HMOV R1, #50HMOV R4, #4CMP1:MOV A, R0MOV 5FH, R1CJNE A, 5FH, CMP2INC R0INC R1DJNZ R4, CMP1SETB BEQUALMOV R0, #50HMOV R6, #4MOV R7, #0NOPLCALL RD_I2AJMP CMPCMP2:INC FERRORMOV A, FERRORCJNE A, #3, CMPMOV R0, #50HMOV R6, #419MOV R7, #10HNOPLCALL RD_I2MOV R0, #50HMOV R1, #60HMOV R4, #4CMLP:MOV A, R0MOV R1, AINC R0INC R1DJNZ R4, CMLPLCALL PXSLCALL DEL1SCMP:MOV R0, #40HMOV R1, #60HMOV LENGTH, #0CLR RS0CLR RS1POP PSWPOP ACCRETRD_I2:NOPNOPLCALL STARTMOV A, #I2_WCOMMLCALL WRBYTLCALL CHK_ACKJB F0, RD_I2MOV A, R7LCALL WRBYTLCALL CHK_ACKJB F0, RD_I2LCALL STARTMOV A, #I2_RCOMMLCALL WRBYTLCALL CHK_ACKJB F0, RD_I2RD_N:NOPNOPLCALL RD_BYTEMOV R0, ADJNZ R6, GO_ACKLCALL N_ACKNOPLCALL STOPMOV A, #0FFHRETGO_ACK:NOPNOPINC R0LCALL ACKJMP RD_NWR_I2:NOPNOPLCALL STARTMOV A,#I2_WCOMMLCALL WRBYTLCALL CHK_ACKJB F0, WR_I2MOV A, R7LCALL WRBYTLCALL CHK_ACKJB F0, WR_I2 WR_N:NOPNOPMOV A, R0LCALL WRBYTLCALL CHK_ACKJB F0,

温馨提示

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

评论

0/150

提交评论