采用实时时钟芯片DS1302+AT89C的红外遥控LED电子钟Word文件下载.docx
- 文档编号:13256139
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:28
- 大小:81.29KB
采用实时时钟芯片DS1302+AT89C的红外遥控LED电子钟Word文件下载.docx
《采用实时时钟芯片DS1302+AT89C的红外遥控LED电子钟Word文件下载.docx》由会员分享,可在线阅读,更多相关《采用实时时钟芯片DS1302+AT89C的红外遥控LED电子钟Word文件下载.docx(28页珍藏版)》请在冰豆网上搜索。
二.硬件电路
图一为电子钟的原理图,IC2为DS1302,电子爱好者可以向MAXIM公司索取免费样品。
Y2为32768Hz石英晶振,可以用普通电子表里的。
IC3为三脚的塑封一体化红外接收头。
LED1-4为高亮度共阳数码管。
89C2051所用的晶振Y1如果没有10MHz也可以用其他12M以内的代替,只要修改程序中YS1和YS2的延时参数,让其保持延时长度不变就行。
调整R2可以改变数码管亮度。
P1口接数码管的八字段。
数码管左两位显示小时,右两位显示分,当显示的是闹铃时间时闪动。
第二位和第三位的小数点作为秒闪动,注意第三位数码管按图一布好印制版后安装时要旋转180°
,以便让时和分之间出现“:
”,最后一位小数点作为闹铃开关标志,亮表示闹铃开启。
蜂鸣器B2采用小型自带音源的。
要特别说明的是备用电源B1,可以用电池或者超级电容(10万uF以上)。
虽然DS1302在主电源掉电后,耗电很小,但如果要长时间保证时钟正常,最好选用小型充电电池。
可以用老式电脑主板上的那种3.6V充电电池。
如果断电时间较短(几小时或几天)时,就可以用漏电较小的普通电解电容代替。
100uF就可以保证1小时的正常走时。
DS1302在第一次加电后,须进行初始化操作。
初始化后就可以按正常方法调整时间及闹铃。
三.软件
软件部分的重点是对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.3
LED2BITP3.4
LED3CLKBITP3.5;
DS1302
LED4IOBITP3.7
RSTBITP3.1
SECONDEQU60H
60H秒
61h分
62h时
63h日
64h月
65hDAY
66h年
6Ah闹分from00(1302)
6BH闹时from01(1302)
ORG0000H
AJMPSTART
ORG0003H
LJMPS_INT;
IRF
ORG000BH;
200Us
LJMPP_INT;
ORG001BH;
displayLED
LJMPDISPLAY
mainprogram
ORG0030H
START:
CLRRST
MOVSP,#2AH
SETB05H
CLR06H
SETB07H;
CLR07H
CLR08H
CLR09H
CLR0AH
CLR0BH
CLR0CH
SETB0DH
CLR0EH
CLR0FH
CLR10H
CLR11H
MOVR2,#00H;
MOVR3,#00H;
MOVTMOD,#12H
MOVTL1,#0e5H;
wait
MOVTH1,#0BeH
MOVTH0,#3FH;
200uS3f
MOVTL0,#3FH
SETBET0
SETBET1
setbpt0
SETBTR0
SETBTR1
SETBIT0;
SETBEX0;
CLRPX0
;
LCALLSET1302;
初始化
MOVR1,#0C1H;
取定时参数从1302中
acallT_6061
MOV6AH,A;
M
MOVR1,#0C3H
ACALLT_6061
MOV6BH,A;
H
MOV61H,#0
MOV62H,#0
SETBEA
sjmp$
DISPLAY:
PUSHACC
PUSHPSW
MOVTL1,#0e0H;
waithowlongtodisplay(20ms)
MOVTH1,#0b0H
movdptr,#tab1
JB0EH,DIS2
JB0FH,DIS3
JB10H,DIS4
JB11H,DIS5
JNB0DH,D_OUT
JNB08H,D_GO;
定时到时,显示闪烁
JNB07H,D_OUT
D_GO:
MOVDPTR,#TAB1
MOVA,62H
ANLA,#0FH
MOVB,A
SWAPA
ANLA,#07H
MOVCA,@A+DPTR
MOVP1,A
CLRLED1
LCALLDL2M
SETBLED1
MOVA,B
MOVC,07H
MOVacc.7,C;
秒灯闪烁
CLRLED2
SETBLED2
movdptr,#tab2;
倒装LED字段表
MOVA,61H
MOVacc.6,C;
CLRLED3CLK
SETBLED3CLK
MOVC,06H
cplc
闹铃指示灯
CLRLED4IO
SETBLED4IO
D_OUT:
POPPSW
POPACC
RETI
DIS2:
AJMPDIS_2
DIS3:
AJMPDIS_3
DIS4:
AJMPDIS_4
DIS5:
AJMPDIS_5
DIS_2:
movdptr,#tab1;
显示设置小时
MOV6FH,62H
ACALLBCD_HEX
MOVB,#10
DIVAB
DIS_3:
MOVDPTR,#TAB2;
显示设置分
MOV6FH,61H
DIS_4:
显示设置闹时
JNB07H,D4_OUT;
显示时闪烁
MOVA,6BH
MOVB,#0AH
D4_OUT:
DIS_5:
MOVDPTR,#TAB2
JNB07H,D5_OUT;
MOVA,6AH;
显示设置闹分
D5_OUT:
DL2M:
MOV43H,#14H;
everyLED(2ms)
DL2:
MOV44H,#14H
DL1:
NOP
DJNZ44H,DL1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 采用 实时 时钟 芯片 DS1302 AT89C 红外 遥控 LED 电子钟
![提示](https://static.bdocx.com/images/bang_tan.gif)