文档详情

DS1302-51单片机汇编程序.doc

发布:2017-05-05约3.54千字共5页下载文档
文本预览下载声明
DS1302汇编程序,51单片机汇编程序,仅需修改引脚定义即可。晶振大小12M,程序测试完全正确。 ;端口引脚定义区 SCLK BIT P3.6 ;1302时钟线 IO BIT P3.4 ;1302数据线 RST BIT P3.5 ;1302复位线 ;变量声明区 ALL_FLAG EQU 20H ;标志位 SEC EQU 32H ;秒 MIN EQU 33H ;分 HOUR EQU 34H ;时 DAY EQU 35H ;日 MON EQU 36H ;月 WEEK EQU 37H ;星期 YEAR EQU 38H ;年 DS_DAT EQU 39H DS_ADD EQU 3AH DS_DATA EQU 3BH /***************************************** 延时函数,延时时间为DELAYED*0.5毫秒 0~100毫秒的延时 *****************************************/ DELAY_MS: MOV R7,DELAYED D1: MOV R6,#0F8H D2: DJNZ R6,D2 DJNZ R7,D1 RET /***************************************** 延时函数,延时时间为DELAYED*2微秒 0~500微秒的延时 *****************************************/ DELAY_US: MOV R7,A DU1: DJNZ R7,DU1 RET /***************************************** DS1302写字节函数 *****************************************/ DS_W_BYTE: MOV R0,#08 MOV A,DS_DAT DS_W1: RRC A MOV IO,C CLR SCLK NOP SETB SCLK DJNZ R0,DS_W1 RET /***************************************** DS1302读字节函数 *****************************************/ DS_R_BYTE: SETB IO MOV A,#00H MOV R0,#08 CLR SCLK DS_R1: MOV C,IO RRC A SETB SCLK NOP CLR SCLK DJNZ R0,DS_R1 MOV DS_DAT,A RET /***************************************** DS1302读数据函数 入口地址存至DS_ADD;读取到的数据存入DS_DAT *****************************************/ DS_R_DAT: CLR RST NOP CLR SCLK NOP SETB RST NOP MOV DS_DAT,DS_ADD LCALL DS_W_BYTE LCALL DS_R_BYTE SETB SCLK CLR RST RET /***************************************** DS1302写数据函数 入口地址DS_ADD,入口数据DS_DATA *****************************************/ DS_W_DAT: CLR RST NOP CLR SCLK NOP SETB RST NOP MOV DS_DAT,DS_ADD LCALL DS_W_BYTE MOV DS_DAT,DS_DATA LCALL DS_W_BYTE MOV DS_DAT,A SETB SCLK CLR RST RET /***************************************** DS1302读时间函数 入口地址DS_ADD, **************************************
显示全部
相似文档