多功能数字时钟毕业设计_第1页
多功能数字时钟毕业设计_第2页
多功能数字时钟毕业设计_第3页
多功能数字时钟毕业设计_第4页
多功能数字时钟毕业设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1一引言2二硬件系统方案设计221电话拨号防盗报警器硬件系统方案2211硬件系统方案设计2212脉冲拨号原理3213脉冲拨号实现过程4214AT89S2052单片机的功能特点522时钟计时器的硬件设计方案论证分析8221功能要求8222方案论证8223系统硬件电路设计8412时钟计时器的硬件电路设计描述9三系统的软件设计1031电话拨号防盗报警器程序设计10311主程序设计1132时钟显示程序设计12321主函数12322LED显示子函数13323定时器T0中断函数13324中断函数14325功能函数14四系统的调试部分1541时钟系统的调试15411时钟系统的硬件调试15412时钟系统的软件调试15413性能分析1542拨号报警器功能调试15五总结16参考文献17附录19附录1程序清单19附录2系统使用说明19附录3英文资料19附录4系统PCB板图19附录1程序清单20附录2系统使用说明372一引言随着人们生活水平的不断提高,大家对住宅和办公室的安全意识也日益增加。因此,研究和开发防盗报警装置引起了科研单位和生产厂家的重视,特别是面对普通居民、价格低、运行可靠的自动报警系统。长期以来,一些电子杂志介绍的廉价防盗报警均无电话拨号报警功能,而市售的可自动拨号报警的防盗器材又价格高昂。这里介绍的电话拨号防盗报警器可在这两者之间找到平衡,即兼具高性能和低价位。为了以低成本实现高性能,设计时利用了电信局的交换机支持脉冲拨号方式来实现拨号报警,这样可利用单片机直接发出拨号脉冲,精简了电路,降低了成本。电话拨号防盗报警器作为家庭防盗报警器材的一员,非常经济实用。它进入工作警戒后,主控CPU不断检查触发开关的状态,当盗贼入室触发开关时,立即启动电话拨号报警程序向主人告警(当然也可以通过修改软件使其在现场发出高分贝报警音)。实践证明,该系统报警快速、准确。由于该系统电路简单,而且利用的是公共通信网,因此不存在建立的报警系统网络问题,具有成本低、体积小、能耗极低、体积小、能耗极低且不影响正常打电话等突出优点。平时可以作为时钟计时器来使用,真是一举两得。二硬件系统方案设计21电话拨号防盗报警器硬件系统方案211硬件系统方案设计图21为电话拨号报警器的系统构成方框图,由单片机控制器、键盘输入、数码管显示、触发电路、拨号电路及电源等6部分组成。单片机控制器是整个系统的核心,负责控制检测输入/输出显示、模拟摘机、拨号摘机、拨号报警、挂机等一系列的程序动作。这里使用了小引脚、高性能、低价位的AT89S2052。3键盘输入电路负责输入电片机中一系列工作参数及功能设定。发光二极管数码管显示器在整个系统工作过程中充当一个简单的人机界面,用以显示工作状况及输入/输出的数据等。电话拨号防盗报警器的触发电路用磁性开关(门磁开关),简单可靠,也可用红外探测器或无线门磁,以实现全方位远距离监测。报警器应采用隐蔽安装,防止小偷发现。拨号及报警电路用来完成模拟摘机、拨号、发出报警音、挂机等工作过程,它的工作由单片机控制。电源部分负责对整个系统供电。平时由电话线上取得工作电流并对后备电池充电,拨号报警时转由后备电池供电。图21电话拨号防盗报警器方框图212脉冲拨号原理脉冲拨号是目前电话机两种拨号方式中的一种,另一种为双音多频拨号方式。脉冲拨号就是指在电话机上拨入的电话号码以脉冲个数的形式发出,也就是说,在已经通以直流电流的回路上,利用拨号盘及发号电路将回路断开、再接通而形成的脉冲信号,来完成输入电话号码的发送。在操作中,若用户拨1,则送出1个脉冲,回路中断一次、接通一次;拨2,则发出2个脉冲,回路断一次、接通一次、再断一次;而拨0时,则发出10个脉冲,回路断、接通轮流10次。图22为电话号码“32”的脉冲波形。键盘单片机控制器触发开关电源拨号电路显示模块4图22电话号码“32”的脉冲波形正常拨号时,电路电流中断的时间一般在5865MS之间,视断续比的不同而不同。快速拨号时,只要取一半时间即可。电路电流接通的时间(即在同一位号码中的2个断脉冲之间的接通电流时间)约在3242MS之间,视断续比的不同而不同。快速拨号时,只要取一半时间即可。显然脉冲周期等于脉冲中断时间和脉冲接通时间之和,每一个周期的时间为100MS左右。快速拨号时,在50MS左右。2位号码(即2组脉冲串)之间的最小时间间隔,通常为800MS左右;而快速拨号时,其值减半,为400MS左右。我国目前采用的电话脉冲拨号的速率是10PPS(每秒的脉冲数),即每秒发出10个脉冲,因此上述各参数不存在快速拨号时的值。为了提高拨号的可靠性及稳定性,这里设计时选定更低的脉冲拨号速率1个脉冲代表播出1,2个脉冲代表拨出2,10个脉冲代表拨出0,每个脉冲的宽度和间隔为100MS。工作时首先进行模拟摘机,然后开始脉冲拨号,拨出1位号码后停顿500MS(保持接通)再拨下一位,直至全部拨完后再发报警音,最后挂机。213脉冲拨号实现过程图23为脉冲拨号的实现电路。平时电话线上的电压约为5060V左右。未拨号时电片机的P30、P31均输出低电平。拨号过程如下号码字间间隔时间TID号码2的脉冲号码3的脉冲断通时间5单片机的P30输出高电平,使TR1导通,由于电话线路上接入了负载R1,这样电话线的电压下降,模拟摘机。单片机的P30开始输出拨号脉冲,使电话线的电压(电平)也呈高、低变化。1个脉冲代表拨出1,2个脉冲代表拨出2,10个脉冲代表拨出0,每个脉冲的宽度和间隔均为100MS。拨出1位号码后停顿500MS(保持P30高电平)再拨下一位,直至全部拨完。P30保持高电平(保持电话线路接通),P31输出1KHZ的报警音脉冲驱动TR2,以2HZ进行调制(即接通1KHZ信号05S、断开1KHZ信号05S),这样从接听方的电话中就会听到“嘟、嘟”的报警声。报警音的时间根据设计为60S。60后,P31输出低电平,TR2截止,停止报警。随后P30也输出低电平,模拟挂机。完成一次报警过程。C1C2BD1D1R1R2ZNDTR1TR2VCC电话线P30P31单片机R5R6214AT89S2052单片机的功能特点电话拨号防盗报警器的核心控制器是单片机AT89S2052。AT89S2052是美国ATMEL半导体公司生产的一种高性能单片机。该单片机以与MCS51系列单片机高度兼容、低功耗、可以在接近零频率下工作等诸多优点,而广泛应用于各类计算机系统、工业控制、电信设备、消费类产品中。由于ATMEL是全球最大的FLASH和EEPROM生产制造公司之一,加之以其EEPROM技术与INTEL的80C51内核技术交换,使ATMEL拥有了80C51内核的使用权,其生产的AT89系列电片机不仅与80C51有极好的兼容性,而且具有极高的性能价格比。图23脉冲拨号实现电路61AT89S2051的主要性能特点指令与MCS51完全兼容;内带2KB可编程闪速存储器(FLASHMEMORY)可重复擦写1000次;数据保留10年;工作电压范围276V;工作频率024MHZ;两极程序加密锁定;128B内部RAM;15条可编程双向I/O口线;2个16位定时器/计时器;5个中断源;可编程串行UART通道;输出口可直接驱动LED;片内含模拟比较器;低功耗的闲置和掉电模式。AT89S2052是AT89系列电片机种的一种精简产品。它是将TA89C52的P0口、P2口、EA/VPP、ALE/PROG、PSEN口线省去后,形成的一种仅20个引脚的单片机,相当于早期INTEL8031的最小应用系统。这对于一些不太复杂的控制场合,仅用一片AT89S2052就足够了,是真正意义上的“单片机”。由于将多功能8位CPU和2KB的闪速存储器集成在单个芯片中,使其成为一种高效的微控制器。AT89S2052的出现为很多规模不太大的嵌入式控制系统提供了一种极佳的选择方案,使传统的51系列单片机的体积大、功耗大、可选模式少等诸多困扰设计工程师们的致命弱点不复存在。2引脚功能介绍AT89S2052引脚外形如图所示。VCC电源端。GND接地。P1口(P10P17)是一个8位双向I/O口,其中P12至P17提供内部上拉电阻,P10和P11需外接上拉电阻。P10和P11也可作为片内精确模拟比较器的正向输入(AINO)和反向输入(AINI)。P1口输出缓冲器能提供20MA的灌电流,可直接驱动LED。P1口写入“1”后可用作输入。P3口引脚P30至P37(P35除外)是7个带内部上拉电阻的双向I/O口线。原P36不能使用,已连接片内比较器输出端。与P1口相同,P3口也能提供20MA的灌电流,并可直接驱动LED显示器。与80C51相同,P3口也有第2功能,P30作为串行数据接收RXD;P31作为串行数据发送TXD;P32为外部中断0申请INT0;P33为外部中断1申请INT1;P34为定时器/计时器0输入;P35位定时器/计数器1输入;P37无第2功能RD。7RST复制输入。要使芯片可靠复位,要保持RST引脚2个机器周期的高电平。XTAL1反向振荡放大的输入及内部时钟电路的殊荣。XTAL2来自反向振荡放大器的输出。3特殊功能寄存器(SFR)与80C51完全相同4程序存储器锁定AT89S2052片内有2个锁定位,可以不编程(U),也可以编程(P),以获得一些附加的特性,如表21所示。表21程序存储器锁定编程锁定位LB1LB2保护模式1UU没有编程锁定特性2PU禁止对闪速存储器进一步编程3PP同模式2,同时禁止校验5、闲置模式在闲置模式下,CPU自身处于休眠状态,而片内所有其他外围设备保持工作状态。该模式是软件生成的。在该模式期间,片内RAM和所有特殊功能寄存器的内容保持不变。闲置模式可以允许由中断或硬件复位终止。如果不采用外部上拉,P10和P11应置0;如果采用外部上拉,则置1。应注意的是,当闲置模式被硬件复位中止时,器件要从闲置处恢复程序的执行,执行2个机器周期后,内部复位算法才起作用。此时,硬件禁止访问内部RAM,但允许访问端口引脚。为了排除闲置被复位中止时对端口意外写入的可能性,跟在生成闲置模式后的指令不应是对端口引脚的读/写操作。6掉电模式在掉电模式下,振荡器停止工作,生成掉电状态的指令是最后执行的一条指令。片内RAM和特殊功能寄存器保持其值不变直到掉电模式终止。从掉电模式退出的唯一办法是硬件复位。复位将重新定义特殊功能寄存器(SFR),但不会影响片内RAM。在VCC没有恢复到其正常工作电压之前,不应进行复位,且复位的保持时间应足够长,使振荡器能重新开始工作并稳定下来。同样,如果不采用外部8下拉,P10和P11应置0,如果采用外部上拉,则置1。22时钟计时器的硬件设计方案论证分析221功能要求时钟计时器要求用六位LED数码管显示时、分、秒、以二十四小时方式运行,使用按键开关实现时,分调整功能。222方案论证为实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一些,考虑到时钟显示只有六位,且系统没有其它复杂的处理任务,所以决定用动态扫描实现LED显示。单片机采用易购的AT89S52系列,这种单片机可具有足够的空余硬件资源,以实现其它的扩充功能。若使用电池供电,可采用低电压的LV系列单片机时钟计时器电路系统的总体设计框架如图31所示。图31硬件系统的总体设计框架223系统硬件电路设计电话拨号防盗报警器的硬件电路设计描述为了发挥电片机强大的计算、控制能力,充分发挥软件的优势,这里极大地简化了电路,但可实现以前需要几片甚至十几片小规模数字电路才能完成的任单片机控制器AT89S526位LED显示器列驱动9务。电路原理如图所示,共有4个按键,即RST、OK、UP、SET。RST系统复位键。OK输入数据确认键。UP显示的数字增加键。SET工作模式设定键,可设定管机、工作、输入时间T1、输入时间T2及输入电话号码5种模式。磁性开关即为装于门或窗口的防盗感应开关,门关闭时常开,门打开时闭合接通。当然也可改用其他的感应器件,如激光探测、超声波感应、热释电感应、主动红外线探测或无线门磁等,以实现全方位远距离检测。为了防止磁性开关离控制器较远而产生引入干扰,使用了光耦作信号传递,效果良好。LED数码管用于工作状态指示或输入数据指示。L1、L2接电话线,ZND为击穿电压120V的压敏二极管,防止电路受雷电干扰。平时系统处于低功耗待机状态(此时耗电仅2MA左右),由电话线上取电工作,并对36V/60MA镍铬电池充电,当输入数据进行设定或进行拨号报警时,耗电会达到10MA,这时主要由镍铬电池供电。由于有镍铬电池后备供电,即使电话线断电也不会使已输入的数据丢失。该机除用于防盗报警外,若对软件进行一些修改,也可通过电话线进行远程数据传递。三极管T1、T2及电阻R1、R2构成拨号及报警电路,其工作原理前面已作详细介绍。412时钟计时器的硬件电路设计描述时钟计时器的硬件电路,采用AT89S52单片机最小化应用设计,显示采用共阳七段LED显示器,P0口输出段数码数据,P20P25口作列扫描输出,P10,P11和P12口接三个按钮开关用以实现调时,调分功能为了提供共阳LED数码管的驱动电压,用三极管8550作电源驱动输出。采用12MHZ晶振有利于提高秒计时的精确性。硬件电路图如图32示。10VCC40RST9P2223P2122XTAL119XTAL218P0039P0138P0237P0336P0435P0534P0633P0732P101P112P123P134P145P156P167P178EA31ALE30PSEN29P2728P2627P2526P2425P2324RXD10TXD11INT012INT113T014T115WR16RD17VSS20P2021AT89C521212MHZY130PFC430PFC510UFC1T3T0T2T147K47K10KR25V5V5V5V5V47K47K47K47K47K47K47K244001UFC247UFC31234567ABCDEFG8DP9GNDABFCGDEDPNCDS11234567ABCDEFG8DP9GNDABFCGDEDPNCDS21234567ABCDEFG8DP9GNDABFCGDEDPNCDS31234567ABCDEFG8DP9GNDABFCGDEDPNCDS41234567ABCDEFG8DP9GNDABFCGDEDPNCDS51234567ABCDEFG8DP9GNDABFCGDEDPNCDS65108T5T4T60022UF/250VC60022UF/250VC71A/400VBD1IN4007D1300R5300R647V/1WDZ3IN4007DZ210UF/16VC836V/60MA01UFC9JZZND10UF/10VC1075KR7T1T220KR8VCC电话线47KR120KR3PC817U120KR4R9J1数据输入47K847K3三系统的软件设计31电话拨号防盗报警器程序设计图32具有时钟功能的电话报警器原理图11311主程序设计主程序的工作过程为先进行初始化工作,随后根据输入的键值分别散转输入的键值分别散转至对应的子程序(管机、警戒工作、输入时间T1、输入时间T2、输入电话号码)循环工作。T0为100MS定时中断服务子程序,它实现精确的拨号脉冲时序。INT0外中断服务子函数用于实现功能选择;而INT1外中断服务子函数则检测防盗触发开关的状态。主程序状态流程图如图36所示。INT0外中断服务子函数状态流程图及INT1外中断服务子函数的状态流程图分别如图37、图38所示。开始定时器T0初始化关闭拨号、报警线路根据SET键值散转关机工作输入T1输入T2输入号码图36主程序状态流程1232时钟显示程序设计321主函数本设计中计时采用定时器T0中断完成,其余状态循环调用显示子函数及键扫描子函数,当端口开关按下时,转入相应调时功能。其主函数执行流程如图33所示。INT0外中断服务子函数开始如SET键按下,则SET键值加1如键值大于5,则键值回0系统进入低功耗待机状态INT0外中断服务子函数结束图37INT0外中断服务子函数状态流程INT1外中断服务子函数开始查询门控开关共10次INT1外中断服务子函数结束图38INT1外中断服务子函数结束13322LED显示子函数数码管显示的数据存放在内存单元DIS0DIS5中,其中DIS0DIS1存放秒数据,DIS2DIS3存放分数据,DIS4DIS5存放时数据,每一单元内均为十进制BCD码。由于采用软件动态扫描实现数据显示功能,显示用的十进制BCD码数据的对应段码存放在ROM表(DIS711)中,显示时,先取出DIS0DIS5中的某一数据,然后查得对应得显示段码从P0口输出,P2口将对应得数码管选中供电,就能显示该地址单元的数据值。323定时器T0中断函数定时器T0用于时间计时。定时溢出中断周期可设为50MS,中断进入后先判开始显示单元清0T0、T1设为16位计数器模式允许T0中断调用显示子函数键按下进入调时功能图33主函数流程图N14断,中断计时累计20次(即1MS)时对妙计数单元进行加1操作。时钟计数单元在义的6个单元(TIMEDATA6)中。TIMEDATA0TIMEDATA1存放秒数据,TIMEDATA2TIMEDATA3存放分数据,TIMEDATA4TIMEDATA5存放时数据。最大计时值为23小时59分59秒。在计数单元中采用十进制BCD码计数,秒,分、时之间满60进位。T0中断服务程序执行流程如图34所示。324中断函数T1中断服务程序用于指示调整数字单元的亮闪,在时间调整状态下,每过04S,将对应单元的显示数据换成“熄灭符”数据(0X0A)。这样,在调整时间时,对应调整单元的显示数据会间隔闪亮。325功能函数图34T0中断函数T0中断保护现场1S到加1处理恢复现场,中断返回15调时功能函数的设计方法是按下T0键,进入调分状态,时钟停止走动;按T1或T2键可进行加1或减1操作;继续按T0键可分别进行分十位、时个位和时十位调整;最后按T0建将退出调整状态,时钟开始计时运行。四系统的调试部分41时钟系统的调试411时钟系统的硬件调试硬件调试时可先检查印制板及焊接的质量情况,在检查无误后可通电检查LED显示器的点亮状况。若亮度不理想,可以调整P0口的电阻大小,一般情况下取200欧姆电阻即可获得满意的亮度效果。412时钟系统的软件调试软件调试KEILC51编译器,源程序编译及仿真调试应分段或以子函数为单位一个个地进行,最后可结合硬件实时运行调试。413性能分析按照设计程序分析,LED显示器动态扫描频率约为167HZ,实际使用观察时完全没有闪烁,实际计时时精度较高,可满足一般场合的应用需要。42拨号报警器功能调试通电前应检查焊接质量,确认无短路、虚焊等故障。将拨码开关J2指向下侧,即断开36V镍铬电池与系统的连接。将外部直流可调稳压电源调整为36V。接入系统的VCC与地。如果系统耗电小于15MA为正常,否则应检查是否有短路、元器件不良或错焊现象存在。随后取下外接直流稳压电源,恢复36V镍铬电池与系统的连接,进行软、硬件统调测试。由于AT89S52的I/O引脚有限,故数码管只设一位,因此输入数字时只能分阶段一位一位输入。假设需输入T1061,T2025,电话号码12345678,在此详述如下地1步接上电话线(也即接上电源)后,数码管显示“E”,意为数据错16误,因为此时我们尚未输入任何数据。第2步点按一下SET键,键值加1,即此时SET1这时数码管最下的一横点亮,显示“_”,意为可输入时间T1,点按OK键确认(小数点被同时点亮)。然后数码管显示数字“0”。按下UP键后,数字开始从09循环递增,调至0后松开UP键,点按OK键确认(小数点被同时点亮)。此时百位数字“0”存入内存。按下UP键后,数字开始循环递增,调至1后松开UP键,点按OK键确认(小数点被同时点亮)。此时十位数字“6”存入内存。按下UP键后,数字开始循环递增,调至1后松开UP键,点按OK键确认(小数点被同时点亮)。此时个位数字“6”存入内存。这样就完成了将061(代表T161S)存入内存的过程。同时数码管又恢复显示“_”。第3步点按一下SET键,键值加1,即此时SET2。这时数码管下面的二横点亮,显示“二”,意为可输入时间T2,点按OK键确认(小数点被同时点亮)。然后数码管显示数字“0”。按下UP键后,数字开始从从09循环递增,调至0后松开UP键,点按OK键确认(小数点被同时点亮)。此时百位数字“0”存入内存。按下UP键后,数字开始循环递增,调至后松开UP键,点按OK键确认(小数点被同时点亮)。此时十位数字“”存入内存。按下UP键后,数字开始循环递增,调至后松开UP键,点按OK键确认(小数点被同时点亮)。此时个位数字“”存入内存。这样就完成了将(代表T1S)存入内存的过程。同时数码管又恢复显示“二”以后的调试同前面的方法相同。五总结本系统以单片机89S52作为核心部件,利用单片机实现了电话拨号报警、时17钟显示等功能,最终使系统完成设计要求的各项任务。在系统设计过程中,力求硬件线路简单,并综合运用了C语言、单片机等各种知识,采用了一些特别的方法使磁电检测达到最佳的效果,充分发挥软件编程方便灵活的特点,来满足系统设计的要求。在设计过程中主要遇到几个关键性问题。如检测部分信号不稳定,经检查该问题与周围的干扰有密切相关,将检测部分的外围进行了合理,使检测信号很准确地检测到。还有拨号电路模块起初方案采用电桥和三极管进行控制,此设计采用单片机I/O口直接控制指示灯以及开关来进行控制。不仅节省了硬件资源,还提高了系统的稳定性。变量定义及初始化模块参考文献1杨长春电子报合订本2002年上2612电子产品世界,2004,9(167)81823耿德根,詹卫前,李青单片机创新开发与机器人制作北京北京航空航天大学出版社,20053851204吴祖峰,葛丽,李刚传感器个数及距离对盲分离影响的分析电子科技大学学报,2006,4,3521861885韦敏,宁方立,韦娟基于智能功率模块的无刷直流电机控制器西北工业大学学报,2006,4,24(2)1611646熊磊,黄玉水一种改进型PDM调动控制方式南昌大学学报,2006,3,28(1)991027黄智伟全国大学生电子设计竞赛训练教程北京电子工业出版社,200518闫志峰,刘立君,崔立彪管道弧焊机器人控制系统设计哈尔滨理工大学学报,9万光毅,严义单片机实验与实践教程(一)北京北京航空航天大学出版社,20031212313110黄河,鲍宏亚PROTELDXP培训教程北京清华大学出版社,2004918致谢HOWTIMEFLIES马上就要毕业了。在院、系领导和老师的关心、教育和帮助下,经过五年的努力,已经使自己变成一个动手动脑的复合型人才。我将利用在校学习的专业知识投身职业教育事业,为我国的职业教育发展做出自己的贡献。五年来我学习到了大量的专业理论知识和动手实践技能,毕业设计是对我这五年来学习的最好总结。在毕业设计过程中我遇到了很多困难,正是因为这些困难使我学习到了很多有用的实用知识,加深了书本理论知识和实践的结合,这对我以后从事专业课教学工作是很有益处的。在大学的学习期间,我意识到了大学更重要的是教给我分析和解决问题的方法,这些必将对我以后的工作和生活产生深远的影响。在毕业设计过程中,得到了曲老师的大力支持和帮助,请允许我向曲老师表示诚挚的感谢五年来我见证了母校的发展壮大,希望母校再接再厉,健全体制,走向更加辉煌的明天。最后祝愿伟大的母校前程似锦祝愿所有的老师身体健康,工作顺利19附录附录1程序清单附录2系统使用说明附录3英文资料附录4系统PCB板图20附录1程序清单1电话拨号报警程序程序设计时需要设立3个数组DATA20、X3、Y3。DATA20用于存放电话号码(最长20位),X3用于存放时间T1000999S,Y3用于存放时间T2000999S。另外还要设立3个软件计数器DATA_FLAG、T1_FLAG、T2_FLAG。DATA_FLAG用于统计输入的电话号码位长,T1_FLAG用于统计输入的时间T1位长,T2位长。UCHARDATA20/存放电话号码的数组/UCHARX3/存放时间T1数组/UCHARY3/存放时间T2数组/UCHARFLAG/RAM区防干扰标志/UCHARDATAFLAG0/输入电话号码计数器(最长20位)/UCHARSET0/功能键值/UCHARM0/全局变量21UCHARN0UINTFUCHART1FLAG0/输入时间T1计数器(最长3位)/UCHART2FLAG0/输入时间T2计数器(最长3位)/UCHARCNT_10/时间T1单元数学运算后暂存单元/UCHARCNT_20;/时间T2单元数学运算后暂存单元/定时器T0初始化/VIODINIT_TIMERTMOD0X01/定时器T0方式1TH050000/256/装载100MS定时初值TL050000256IE0X82/开中断启动报警器子程序模块/启动报警器进入警戒/VOIDWORKUCHARHP10XDF/数码管左上角显示“1”/DELAY1IFSET1/进入时间1循环/WHILECNTX0100X110X2EX11;CNT_10/时间1到,打开外中断1,计数器归零/进入待机。若有1S以上开关动作,退出待机/WHILE1PCON0X01IFF5PCON0X00BREAK/EX10;/关闭外中断1/IFSET1/进入时间2循环/WHILECNT_20/若号码0但/器件配置文件DEFINEUCHARUNSIGNEDCHAR/变量类型的宏定义DEFINEUINTUNSIGNEDINTUCHARCODEDATA_7SEG100XC0,0XF9,0XA4,0XB0,0X990X92,0X82,0XF8,0X80,0X90,/09数码管段码/UCHARDATA20;/存放电话号码的数组/UCHARX3/存放时间T2数组/25UCHARFLAG/RAM区防干扰标志/UCHARDATA_FLAG0/输入电话号码计数器(最长20位)/UCHARSET0/功能键值/UCHARM0/全局变量UCHARN0UINTFUCHART1_FLAG0/输入时间1计数器(最长3位)/UCHART2_FLAG0/输入时间2计数器(最长3位)/UCHARCNT_10/时间T1单元数学运算后暂存单元/UCHARCNT_20/时间T2单元数学运算后暂存单元/VOIDDELAYUINTK/延时子函数声明/VOIDSTOP/关机子函数声明/VOIDBH/拨号子函数声明/定时器T0初始化/VOIDINIT_TIMERTMOD0X01TH050000/256TL050000256IE0X82/100MS定时中断服务子函数/VOIDZD0INTERRUPT1P3_0P3_0/P30每100MS取反一次,送出脉冲P1_7P1_7/数码管小数点同步闪烁N26TH050000/256TL050000256/100MS定时中断服务子函数/VOIDZD0INTERRUPT1P3_0P3_0/P30每100MS取反一次,送出脉冲P1_7P1_7/数码管小数点同步闪烁NTH050000/256TL050000256/INT0中断服务子函数/VIODZD_INT0INTERRUPT0DELAY10IFP3_20SET/功能键值递增IFSET5SET0/键值的范围04IFSET1FLAG0X55/向RAM区的标志FLAG写入55HPCON0X00F8AGAINIFP3_20GOTOAGAIN/若按键未释放,则等待/INT1中断服务子函数/VOIDZD_INT1INTERRUPT2UCHARHF027FORH0H3T1_FLAG0/时间1计数器3时归零/输入时间T2/VIODIN_TIME2P10XB7DELAY1/数码管显示“二”/IFP3_5029DELAY10/按下OK键确认并点亮小数点/IFP3_50P10X7FM0T2_FLAG0DELAY500WHILET2_FLAG3T2_FLAG0/时间2计数器3时归零/输入电话号码/VIOAIN_DATAUCHARGP10XB6DELAY1/数码管显示三/IFP3_50DELAY10IFP3_50P10X7FM0DATA_FLAG0/按下OK键确认并点亮小数点/FORG0G6CON0TR10ET10TR01ET01/IFCON0IFKEY10DELAYLMS10WHILEKEY10TIMEDATACONIFTIMEDATACON10TIMEDATACON0DISCONTIMEDATACONDIS60X0A/IFCON0IFKEY20DELAYLMS10WHILEKEY20IFTIMEDATACON034TIMEDATACON0X90ELSETIMEDATACONDISCONTIMEDATACONDIS60X0AEA1/显示函数/SCANCHARKFORK0K1036TIMEDATA00TIMEDATA1IFTIMEDATA16TIMEDATA10TIMEDATA2IFTIMEDATA210TIMEDATA20TIMEDATA3IFTIMEDATA36TIMEDATA30TIMEDATA4IFTIMEDATA410TIMEDATA40TIMEDATA5IFTIMEDATA52IFTIMEDATA44TIMEDATA40TIMEDATA50DIS0TIMEDATA0DIS1TIMEDATA1DIS2TIMEDATA2DIS3TIMEDATA3DIS4TIMEDATA4DIS5TIMEDATA5ET0137/04S闪烁中断函数/VIODTIME_INTT1VIODINTERRUPT3EA0TR10TH10X3CTL10XB0TR11CON04SIFCON04S8CON04S0X00DIS7DISCONDISCONDIS6DIS6DIS7EA1/结束/附录2系统使用说明1电话防盗报警器的拨号报警功能简介采用磁性开关进行检测,磁性开关即为装于门或窗口的防盗感应开关,门关闭时常开,门打开时闭合接通。实现全方位远距离监测。为了防止外界对磁性开关的影响,使用光藕传递信号。当有人触动装有磁性开关的门或窗口时,这时磁性开关闭合,实现报警。这时数码管会把信息纪录下来,同时蜂鸣器会发出尖锐的声音。告知房主。2电话防盗报警器的时钟功能简介平时没有报警的情况下,数码管上显示的时间同我们的手表或钟表的时间是一致的。因此平时我们可以将它作为钟表来使用。数码管上显示时间的时,分,秒,以24小时计时方式运行,使用与单片机P10、P11、P12口相连接的按键38T0、T1、T2实现对时、分、秒的调整。3注意事项磁性开关在安装时,一定要隐蔽不要让人察觉。内部的硬件硬件电路我们可以将它装在与匹配的钟表壳内或其它容器内。总之要让别人觉得这只是一个普通的钟表。附录3英文资料英文资料(翻译)89S52单片机芯片内部逻辑结构89S52单

温馨提示

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

评论

0/150

提交评论