首页 采用实时时钟芯片DS与ATC的红外遥控LED电子钟

采用实时时钟芯片DS与ATC的红外遥控LED电子钟

举报
开通vip

采用实时时钟芯片DS与ATC的红外遥控LED电子钟目录第1节引言…………………………………………………………………1第2节电子钟硬件设计………………………………………………………2电子钟的工作原理……………………………………………………2电子钟的硬件电路……………………………………………………3第3节系统软件设计…………………………………………………………5一.引言自制LED电子钟在很多电子报刊杂志上都可以见到,但大多数在断电后都要重新设置时间等参数,给使用带来很多不便。也有用后备电池作为备用电源的,但往往体积较大。本文介绍的LED电子钟克服了以往的弊端,而且采用...

采用实时时钟芯片DS与ATC的红外遥控LED电子钟
目录第1节引言…………………………………………………………………1第2节电子钟硬件设计………………………………………………………2电子钟的工作原理……………………………………………………2电子钟的硬件电路……………………………………………………3第3节系统软件设计…………………………………………………………5一.引言自制LED电子钟在很多电子报刊杂志上都可以见到,但大多数在断电后都要重新设置时间等参数,给使用带来很多不便。也有用后备电池作为备用电源的,但往往体积较大。本文介绍的LED电子钟克服了以往的弊端,而且采用了家电通用的红外遥控器进行控制,方便使用。有一路闹铃输出,可以通过遥控器设置闹铃时间及允许与否。二.电子钟硬件设计电子钟的正面电子钟的背面工作原理DS1302为达拉斯公司的一种实时时钟芯片,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32768Hz晶振。AT89C2051作为主控芯片,一是对接收到的红外遥控编码进行判断识别,并执行相应的处理;第二就是定期的读取时钟芯片DS1302中的时间并把小时和肥以示在4位LED中;第三就是对设置的闹铃时间与实时时间进行比较,如果时间相同且闹铃允许,那么蜂鸣器就会以1秒的周期鸣响一分钟,提醒使用者。如果要停止鸣闹,只要按遥控器相应键就可以关闭闹铃。闹铃时间保存在DS1302自带的RAM中,不需要单独的EEPROM。硬件电路图一为电子钟的原理图,IC2为DS1302,电子爱好者可以向MAXIM公司索取免费样品。Y2为32768Hz石英晶振,可以用普通电子 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 里的。IC3为三脚的塑封一体化红外接收头。LED1-4为高亮度共阳数码管。89C2051所用的晶振Y1如果没有10MHz也可以用其他12M以内的代替,只要修改程序中YS1和YS2的延时参数,让其保持延时长度不变就行。调整R2可以改变数码管亮度。P1口接数码管的八字段。数码管左两位显示小时,右两位显示分,当显示的是闹铃时间时闪动。第二位和第三位的小数点作为秒闪动,注意第三位数码管按图一布好印制版后安装时要旋转180°,以便让时和分之间出现“:”,最后一位小数点作为闹铃开关标志,亮表示闹铃开启。蜂鸣器B2采用小型自带音源的。要特别说明的是备用电源B1,可以用电池或者超级电容(10万uF以上)。虽然DS1302在主电源掉电后,耗电很小,但如果要长时间保证时钟正常,最好选用小型充电电池。可以用老式电脑主板上的那种3.6V充电电池。如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容代替。100uF就可以保证1小时的正常走时。DS1302在第一次加电后,须进行初始化操作。初始化后就可以按正常 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 调整时间及闹铃。软件软件部分的重点是对DS1302的操作以及红外遥控的解码。单片机解码可参看其他文章,这里主要对设置部分作一些说明:遥控器采用长虹彩电K11F型遥控器,遥控器按照16位地址码,8位数据码以及8位数据码的反码发送。表一列出了各按键的编码及本电子钟对应的动作。如果采用其他遥控器,需对程序相应部分的编码作修改。操作方法中,任意是指该键第一次按后,进入该状态,再次按后退出该状态。时间设置:按“菜单”键进入设置状态,LED只显示正常时间的小时,按“↑↓”键调整数值,按“←“、”→”键可在闹铃与正常时间之间移动。任意时刻再次按“菜单”键就退出设置。闹铃设置:闹铃时间在时间设置中进行。闹铃允许和取消可在任意时刻按“静音”键。显示开关:可在任意时刻按“显示”键开启和关闭显示器。初始化:在按“菜单”键进入设置状态后任意时刻按“日历”键,初始化后的时间为2002/12/1/12:00:00;DS1302+AT89C2051的LED钟;遥控器各按键数据码,可根据不同的遥控器修改对应的键码muteMEQU10h;静音键闹铃开/关timerTEQU0Ch;菜单键进入/退出设置状态leftLEQU46h;左移键rightREQU47h;右移键upUEQU19h;增加键downDEQU1dh;减少键d_offEQU16H;显示键LED数码管显示/关闭recallEQU44H;日历键DS1302初始化操作K_onBITP3.0;闹铃输出LED1BITP3.3LED2BITP3.4LED3CLKBITP3.5;DS1302LED4IOBITP3.7RSTBITP3.1SECONDEQU60H;60H秒;61h分;62h时;63h日;64h月;65hDAY;66h年;6Ah闹分from00(1302);6BH闹时from01(1302)ORG0000HAJMPSTARTORG0003HLJMPS_INT;IRFORG000BH;200UsLJMPP_INT;ORG001BH;displayLEDLJMPDISPLAY;mainprogramORG0030HSTART:CLRRSTMOVSP,#2AHSETB05HCLR06HSETB07H;CLR07HCLR08HCLR09HCLR0AHCLR0BHCLR0CHSETB0DHCLR0EHCLR0FHCLR10HCLR11HMOVR2,#00H;MOVR3,#00H;MOVTMOD,#12HMOVTL1,#0e5H;waitMOVTH1,#0BeHMOVTH0,#3FH;200uS3fMOVTL0,#3FHSETBET0SETBET1setbpt0SETBTR0SETBTR1SETBIT0;SETBEX0;CLRPX0;LCALLSET1302;初始化MOVR1,#0C1H;取定时参数从1302中acallT_6061MOV6AH,A;MMOVR1,#0C3HACALLT_6061MOV6BH,A;HMOV61H,#0MOV62H,#0SETBEAsjmp$DISPLAY:PUSHACCPUSHPSWMOVTL1,#0e0H;waithowlongtodisplay(20ms)MOVTH1,#0b0Hmovdptr,#tab1JB0EH,DIS2JB0FH,DIS3JB10H,DIS4JB11H,DIS5JNB0DH,D_OUTJNB08H,D_GO;定时到时,显示闪烁JNB07H,D_OUTD_GO:MOVDPTR,#TAB1MOVA,62HANLA,#0FHMOVB,AMOVA,62HSWAPAANLA,#07HMOVCA,@A+DPTRMOVP1,ACLRLED1LCALLDL2MSETBLED1MOVA,BMOVCA,@A+DPTRMOVC,07HMOVacc.7,C;秒灯闪烁MOVP1,ACLRLED2LCALLDL2MSETBLED2movdptr,#tab2;倒装LED字段表MOVA,61HANLA,#0FHMOVB,AMOVA,61HSWAPAANLA,#0FHMOVCA,@A+DPTRMOVC,07HMOVacc.6,C;秒灯闪烁MOVP1,ACLRLED3CLKLCALLDL2MSETBLED3CLKmovdptr,#tab1MOVA,BMOVCA,@A+DPTRMOVC,06HcplcMOVacc.7,C;闹铃指示灯MOVP1,ACLRLED4IOLCALLDL2MSETBLED4IOD_OUT:SETBTR1POPPSWPOPACCRETIDIS2:AJMPDIS_2DIS3:AJMPDIS_3DIS4:AJMPDIS_4DIS5:AJMPDIS_5DIS_2:movdptr,#tab1;显示设置小时MOV6FH,62HACALLBCD_HEXMOVB,#10DIVABMOVCA,@A+DPTRMOVP1,ACLRLED1LCALLDL2MSETBLED1MOVA,BMOVCA,@A+DPTRMOVP1,ACLRLED2LCALLDL2MSETBLED2SETBTR1POPPSWPOPACCRETIDIS_3:MOVDPTR,#TAB2;显示设置分MOV6FH,61HACALLBCD_HEXMOVB,#10DIVABMOVCA,@A+DPTRMOVP1,ACLRLED3CLKLCALLDL2MSETBLED3CLKMOVA,BMOVDPTR,#TAB1MOVCA,@A+DPTRMOVP1,ACLRLED4IOLCALLDL2MSETBLED4IOSETBTR1POPPSWPOPACCRETIDIS_4:movdptr,#tab1;显示设置闹时JNB07H,D4_OUT;显示时闪烁MOVA,6BHMOVB,#0AHDIVABMOVCA,@A+DPTRMOVP1,ACLRLED1LCALLDL2MSETBLED1MOVA,BMOVCA,@A+DPTRMOVP1,ACLRLED2LCALLDL2MSETBLED2D4_OUT:SETBTR1POPPSWPOPACCRETIDIS_5:MOVDPTR,#TAB2JNB07H,D5_OUT;显示时闪烁MOVA,6AH;显示设置闹分MOVB,#0AHDIVABMOVCA,@A+DPTRMOVP1,ACLRLED3CLKLCALLDL2MSETBLED3CLKMOVDPTR,#TAB1MOVA,BMOVCA,@A+DPTRMOVP1,ACLRLED4IOLCALLDL2MSETBLED4IOD5_OUT:SETBTR1POPPSWPOPACCRETIDL2M:MOV43H,#14H;everyLED(2ms)DL2:MOV44H,#14HDL1:NOPNOPDJNZ44H,DL1DJNZ43H,DL2RET;************************定时读取1302时间及判断闹铃时间是否到*******P_INT:PUSHACCPUSHPSWINCR2CJNER2,#250D,P_OUTMOVR2,#00HINCR3CJNER3,#10D,P_OUTMOVR3,#00HCPL07HMOVP1,#0FFHACALLR_1302OUT:JNB06H,P_OUTMOVA,6BHMOVB,#10DIVABSWAPAADDA,BCJNEA,62H,PP_OUTMOVA,6AHMOVB,#10DIVABSWAPAADDA,BCJNEA,61H,PP_OUTSETB08H;定时到标志MOVC,07HcplcMOVK_ON,CP_OUT:POPPSWPOPACCRETIPP_OUT:SETBK_ONCLR08HPOPPSWPOPACCRETI;************************有接收到遥控器信号*******S_INT:CLREAPUSHACCPUSHPSWPUSHDPHPUSHDPLPUSH02HPUSH03HMOVR6,#10D;SB:ACALLYS1JBP3.2,EXITDJNZR6,SBJNBP3.2,$;ACALLYS2;JBP3.2,EXITMOVR1,#1AH;MOVR2,#4DPP:MOVR3,#8DJJJJ:JNBP3.2,$ACALLYS1MOVC,P3.2JNCUUUJBP3.2,$UUU:MOVA,@R1RRCAMOV@R1,ADJNZR3,JJJJINCR1DJNZR2,PP;-------------------------------------MOVA,1AH;XRLA,#40h;判断1AH的值是否等于遥控器低8位地址(40h)JNZEXIT;MOVA,1bHXRLA,#0bfh;再判断高8位地址是否正确(0bfh)JNZEXITMOVA,1CHCPLAXRLA,1DH;将1CH的值取反后和1DH比较不同则无效丢弃(核对数据是否准确)JNZEXITACALLDO;相应按键的处理EXIT:SETBEAPOP03HPOP02HPOPDPLPOPDPHPOPPSWPOPACCRETI;--------------------delay-----------------------YS1:MOV70H,#16D;延时1D1:MOV71H,#21DDJNZ71H,$DJNZ70H,D1RETYS2:MOV70H,#09D;延时2D2:MOV71H,#220DDJNZ71H,$DJNZ70H,D2RET;---------------------------------------------------------TAB:DB00H,01H,02H,03H,04H,05H,06H,07H,08H,09H;TAB1LED数码管显示表TAB遥控器键值表(未用);TAB1:DB3FH,11H,5EH,5BH,71H,6BH,6FH,19H,7FH,7bH,77H,7CH,39H,5EH,79H,71Htab1:DB0C0H,0F9H,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0a7h,0a1h,86h,8EHTAB2:DB0c0H,0f9H,64H,70H,59H,52H,42H;倒装LED段码表;0CH为设置标志,0DH为全显示标志,0EH为显示设置小时标志,0FH为显示设置分标志;10H为显示设置闹时标志,11H为显示设置闹分标志;增加闹时静音功能;mute-10h,timer-0eh,left-46h,right-47h,up-19h,down-1dhDO:MOVA,1CHCJNEA,#TIMERT,REDO;代码不是设置/退出键JNB0CH,SET1;是,则进入CLR0CH;是,已经进入,则退出SETB0DH;恢复正常显示CLR0EHCLR0FHCLR10HCLR11HRETSET1:SETB0CHSETB0EHCLR0DHCLR0FHCLR10HCLR11HRETREDO:CJNEA,#MUTEM,REDO1;不是设置键的处理REDO1,2,3,4...LJMPMUTE;MUTE?REDO1:CJNEA,#D_OFF,DO_SET2LJMPDIS_OFF;关闭显示DO_SET2:JB0CH,SET2;时间设置的处理RETSET2:CJNEA,#UPU,SET2ALJMPINC1;+加(^)SET2A:CJNEA,#DOWND,SET2BLJMPDEC2;-减SET2B:CJNEA,#RIGHTR,SET2CLJMPRIGHT;RIGHT右移(>)SET2C:CJNEA,#LEFTL,SET2DLJMPLEFT;LEFT左移(<)SET2D:CJNEA,#RECALL,SET2EXT;DS1302初始化LJMPSET1302SET2EXT:RET;--------------------------------INC------------------------INC1:JB0EH,INCHJB0FH,INCMJB10H,INC_HJB11H,INC_MRETINC_H:INC6BH;闹钟小时增加MOVA,6BHCJNEA,#24D,INCH3MOV6BH,#0INCH3:MOVR1,#0C2HMOVR0,6BHACALLSETONE;写入DS1302RETINC_M:INC6AH;闹钟分增加MOVA,6AHCJNEA,#60D,INCH4MOV6AH,#0INCH4:MOVR1,#0C0HMOVR0,6AHACALLSETONE;RETINCH:;INC62H;MOV6FH,62HACALLBCD_HEXINCACJNEA,#24D,INCH1MOVA,#0INCH1:MOV6FH,AACALLHEX_BCDMOV62H,AMOVR1,#84HMOVR0,62HACALLSETONE;RETINCM:;INC61H;MOV6FH,61HACALLBCD_HEXINCACJNEA,#60D,INCH2MOVA,#0INCH2:MOV6FH,AACALLHEX_BCDMOV61H,AMOVR1,#82HMOVR0,61HACALLSETONE;RET;----------------------------------DEC----------------------DEC2:JB0EH,DECHJB0FH,DECMJB10H,DEC_HJB11H,DEC_MRETDECH:MOV6FH,62HACALLBCD_HEXDECACJNEA,#0FFH,DECH1MOVA,#23DECH1:MOV6FH,AACALLHEX_BCDMOV62H,AMOVR1,#84HMOVR0,62HACALLSETONERETDECM:MOV6FH,61HACALLBCD_HEXDECACJNEA,#0FFH,DECM1MOVA,#59DECM1:MOV6FH,AACALLHEX_BCDMOV61H,AMOVR1,#82HMOVR0,61HACALLSETONERETDEC_H:DEC6BHMOVA,6BHCJNEA,#0FFH,DECH3MOV6BH,#23DDECH3:MOVR1,#0C2HMOVR0,6BHACALLSETONERETDEC_M:DEC6AHMOVA,6AHCJNEA,#0FFH,DECH4MOV6AH,#59DDECH4:MOVR1,#0C0HMOVR0,6AHACALLSETONERET;--------------------------------RIGHT----------------------RIGHT:JB0EH,RIGHT1JB0FH,RIGHT2JB10H,RIGHT3JB11H,RIGHT4RET;右移RIGHT1:CLR0EHSETB0FHRETRIGHT2:CLR0FHSETB10HRETRIGHT3:CLR10HSETB11HRETRIGHT4:CLR11HSETB0EHRET;--------------------------------LEFT-----------------------LEFT:JB0EH,LEFT1JB0FH,LEFT2JB10H,LEFT3JB11H,LEFT4RET;左移LEFT1:SETB11HCLR0EHRETLEFT2:SETB0EHCLR0FHRETLEFT3:SETB0FHCLR10HRETLEFT4:SETB10HCLR11HRET;------------------------------MUTE--------------MUTE:setbk_ONCPL06H;静音CLR08HRET;-----------------------------DISPLAYOFF--------DIS_OFF:CLRET1CPL05HJNB05H,REDORESETBET1REDORE:RET;------------------------------------初始化1302-------------------------SET1302:CLRRST;2002年1月1日12:00:00CLRLED3CLKMOVSECOND,#0MOV61H,#0MOV62H,#18;MOV63H,#1MOV64H,#1MOV65H,#1MOV66H,#2SETBRSTMOVA,#8EHLCALLR_BITMOVA,#00HLCALLR_BITSETBLED3CLKCLRRSTMOVR0,#SECONDMOVR7,#7MOVR1,#80HSET1302A:CLRRSTCLRLED3CLKSETBRSTMOVA,R1LCALLR_BITMOVA,@R0LCALLR_BITINCR0INCR1INCR1SETBLED3CLKCLRRSTDJNZR7,SET1302ACLRRSTCLRLED3CLKsETBLED3CLKnopCLRRSTnopclrled3clkSETBRSTMOVA,#90HLCALLR_BITMOVA,#10100101B;充电器设置LCALLR_BITSETBLED3CLKCLRRSTCLRLED3CLKSETBRSTMOVA,#8EHLCALLR_BITMOVA,#80HLCALLR_BITSETBLED3CLKCLRRSTRET;----------------------读取一RAM------T_6061:CLRRSTCLRLED3CLKSETBRSTMOVA,R1LCALLR_BITLCALLW_BITSETBLED3CLKCLRRSTRET;-----------------------------R_1302:MOVR0,#SECONDMOVR7,#7MOVR1,#81HR_1302A:CLRRSTCLRLED3CLKSETBRSTMOVA,R1LCALLR_BITLCALLW_BITMOV@R0,AINCR0INCR1INCR1SETBLED3CLKCLRRSTDJNZR7,R_1302ARET;------------------R_BIT------------------R_BIT:MOVR4,#8R_BIT1:RRCAMOVLED4IO,CSETBLED3CLKCLRLED3CLKDJNZR4,R_BIT1RET;-------------------W_BIT-----------------------W_BIT:MOVR4,#8W_BIT1:MOVC,LED4IORRCASETBLED3CLKCLRLED3CLKDJNZR4,W_BIT1RET;--------------------------------------------------BCD_HEX:MOVA,6FHANLA,#0FHMOVB,AMOVA,6FHMOV6FH,BSWAPAANLA,#0FHMOVB,#0AHMULABADDA,6FH;MOV6FH,ARETHEX_BCD:MOVA,6FHMOVB,#10DIVABSWAPAADDA,B;MOV6FH,ARET;-----写一地址---R1为地址,R0为数据----------SETONE:CLRLED3CLKCLRRSTCLRLED3CLKNOPSETBRSTMOVA,#8EHLCALLR_BITMOVA,#00HLCALLR_BITSETBLED3CLKCLRRSTCLRLED3CLKNOPCLRRSTCLRLED3CLKSETBRSTMOVA,R1LCALLR_BITMOVA,R0LCALLR_BITNOPSETBLED3CLKCLRRSTNOPNOPCLRRSTCLRLED3CLKSETBRSTMOVA,#8EHLCALLR_BITMOVA,#80HLCALLR_BITSETBLED3CLKCLRRSTRET
本文档为【采用实时时钟芯片DS与ATC的红外遥控LED电子钟】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
正方体
暂无简介~
格式:doc
大小:172KB
软件:Word
页数:20
分类:
上传时间:2022-05-11
浏览量:0