资源描述:
《时钟芯片DS1302 8位数码管显示》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、时钟芯片DS13028位数码管显示[日期:2011-03-19][来源:本站编辑作者:佚名][字体:大中小](投递新闻);8位数码管显示;P0为段码口、P2为位码口;时钟芯片:DS1302;--------------------------------------DS1302端口位定义:IO_DATA→P1.1;数据传送总线SCLK→P1.0;时钟控制总线RST→P1.2;复位总线;---------------------------------------24C04端口位定义:SDA→P3.6;24C01的串行数据线SCLK→P3.7;24C01的
2、串行时钟线;---------------------------------------K1→P1.4;独立键K2→P1.5K3→P1.6K4→P1.7;---------------------------------------BEEP→P3.3;蜂鸣器;---------------------------------------使用8位数码管显示:段码→P0位码→P2;---------------------------------------开机显示:08-48-58;实时时间的显示,时、分、秒K1:→切换显示内容键,每按一下可切换显示内容
3、,最后返回实时时间的显示。05-03-06;显示年、月、日;--------------------------------------------------------------------K2:→时间与日期设定键,K3:→选择键(位移键)每按一下可切换设定内容,最后返回实际时间的显示。在设定过程中,被选中的设定位闪动。选择顺序:时→分→日→月→年→返回K1:→UP键K2:→DOWN键;--------------------------------------------------------------------K4:→报警时间设定键。K3
4、:→设定内容选择键,最后返回实际时间的显示。在设定过程中,被选中的设定位闪动。1-07-30;07:30为报警启动时间,1为允许报警,0为禁止报警K1:→UP键K2:→DOWN键;--------------------------------------------------------------------K3:→止闹开关在报警期间内,可以控制报警开与关,其它时间无效。报警方式:采用继电器吸合的方式来控制被控对象。;**************DS1302端口位定义**************IO_DATABITP1.1;数据传送总线SCLKBI
5、TP1.0;时钟控制总线RSTBITP1.2;复位总线K1EQUP1.4;独立键K2EQUP1.5K3EQUP1.6K4EQUP1.7BEEPEQUP3.3;蜂鸣器RELAYEQUP3.5;继电器T_CONUEQU22H;中断计数TIME_LEQU23H;定时初值TIME_HEQU24HTIME_DATAEQU50H;显示时间单元首地址DATE_DATAEQU60H;显示日期单元首地址DS_DATAEQU58H;显示定时时间单元首地址;------------------------------------------------ORG0000HAJMP
6、MAINORG000BHAJMPINT_T0ORG0100H;------------------------------------------------MAIN:MOVTMOD,#01H;T0,方式1MOVTIME_L,#00H;50MS定时值MOVTIME_H,#4CHMOVT_CONU,#00H;中断次数MOVIE,#82H;EA=1,ET0=1MOVA,#00HMOVR0,#40H;从40H单元开始MOVR1,#40H;清64个单元M_CLEAR:MOV@R0,AINCR0DJNZR1,M_CLEARMOV7FH,#0AH;送熄灭符SETBB
7、EEPLCALLTIME_DELAY;调显示延时LCALLPROSET;DS1302初始化MAIN1:LCALLGET_TIME;从DS1302读数据程序LCALLCHULI;实时时间数据处理MOVR0,#TIME_DATA;显示时、分、秒LCALLDISPMOVR0,#TIME_DATALCALLTIME_DISPLAYLCALLSET_KEY;键功能程序LCALLCOMP;实时时间与定时时间比较JBK1,MAIN1CALLBEEP_BLMAIN2:LCALLCHULI;日期数据处理MOVR0,#DATE_DATALCALLDISP;显示年、月、日MO
8、VR0,#DATE_DATALCALLTIME_DISPLAYJBK1,MAIN