预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共34页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数显记忆式门铃电路(常用版)(可以直接使用,可编辑完整版资料,欢迎下载)数显记忆式门铃电路一.设计目的与要求设计一个数显记忆式门铃,能统计来客到访的次数.并通过数码管显示出来.平时记忆电路只计数不显示,节约的电源.显示时按动次数计数器与显示器,触发器组成.二.原理与方案数显记忆式门铃是利用AT89S51单片机来设计一个能接共阴数码管的手动计数器和一个门铃电路模块。当按动轻触开关SP1时,手动计数器和门铃同时工作并发出“叮咚”声音。当按动轻触开关SP2时共阴数码管开始显来客次数。平时记忆电路只计数不显示,这样可以节约用电源,使数显记忆式门铃能用更长的时间。利用AT89S51单片机来制作一个手动计数器,在AT89S51单片机的P3.7管脚接一个轻触开关,作为手动计数的按钮,用单片机的P2.0-P2.7接一个共阴数码管,作为00-99计数的个位数显示,用单片机的P0.0-P0.7接一个共阴数码管,作为00-99计数的十位数显示。单片机对计的数值要进行数码显示,计得的数是十进数,含有十位和个位,我们要把十位和个位拆开分别送出这样的十位和个位数值到对应的数码管上显示。我们把所计得的数值对10求余,即可个位数字,对10整除,即可得到十位数字了,通过查表方式,分别显示出个位和十位数字。按键进行计数,计数满99时,又从零开始计数。利用AT89S51单片机来制作一个“叮咚”门铃,当按下开关SP1,AT89S51单片机产生“叮咚”声从P1.0端口输出到LM386,经过放大之后送入喇叭。我们用单片机实定时/计数器T0来产生700HZ和500HZ的频率,根据定时/计数器T0,我们取定时250us,因此,700HZ的频率要经过3次250us的定时,而500HZ的频率要经过4次250us的定时,在设计过程,只有当按下SP1之后,才启动T0开始工作,当T0工作完毕,回到最初状态,“叮”和“咚”声音各占用0.5秒,因此定时/计数器T0要完成0.5秒的定时,对于以250us为基准定时2000次才可以。三.硬件连接与说明手动计数器:(1)把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个a-h端口上;要求:P0.0/AD0对应着a,P0.1/AD1对应着b,……,P0.7/AD7对应着h。(2)把“单片机系统”区域中的P2.0/A8-P2.7/A15端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h端口上;(3)把“单片机系统”区域中的P3.7/RD端口用导线连接到“独立式键盘”区域中的SP1端口上;图1手动计数器原理图“叮咚”门铃:(1)把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPKIN端口上;(2)在“音频放大模块”区域中的SPKOUT端口上接上一个16欧的喇叭;(3)把“单片机系统”区域中的P3.7/RD端口用导线连接到“独立式键盘”区域中的SP1端口上;图2“叮咚”门铃原理图四.软件流程图图3手动计数器的软件流程图4门铃电路的软件流程图5T0中断服务程序框图总框图图6总体框图五.程序清单(1)手动记数器的汇编源程序CountEQU30HSP1BITP3.7ORG0START:MOVCount,#00HNEXT:MOVA,CountMOVB,#10DIVABMOVDPTR,#TABLEMOVCA,@A+DPTRMOVP0,AMOVA,BMOVCA,@A+DPTRMOVP2,AWT:JNBSP1,WTWAIT:JBSP1,WAITLCALLDELY10MSJBSP1,WAITINCCountMOVA,CountCJNEA,#100,NEXTLJMPSTARTDELY10MS:MOVR6,#20D1:MOVR7,#248DJNZR7,$DJNZR6,D1RETTABLE:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHEND(2)叮咚声门铃的汇编源程序T5HZEQU30HT7HZEQU31HT05SAEQU32HT05SBEQU33HFLAGBIT00HSTOPBIT01HSP1BITP3.7ORG00HLJMPSTARTORG0BHLJMPINT_T0START:MOVTMOD,#02HMOVTH0,#06HMOVTL0,#06HSETBET0SETBEANSP:JBSP1,NSPLCALLDELY10MSJBSP1,NSPSE