欢迎来到天天文库
浏览记录
ID:19705697
大小:30.00 KB
页数:8页
时间:2018-10-05
《pic单片机读写时钟芯片ds1302汇编程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、PIC单片机读写时钟芯片DS1302汇编程序#INCLUDECBLOCK20HSEC;秒MIN;分HOU;小时DATE;日期MON;月DAY;日YERR;年DDD;写使能位TIME_TX;1302发送寄存器TIME_RX;1302接收寄存器COUNT1;COUNT2;DELAY1DELAY2ENDC*******************************;;1302子程序说明;;******************************;DS1302INI;1302初始化,先禁止RST,设定
2、充电方式;SET_TIME;一次发送7个数据设定时间,包含写使能寄存器,8个数据;GET_TIME;一次接收7个数据显示时间;TIME_WRITE_1;一次写入1302一个字节;TIME_READ_1;一次接收一个字节数据;;*******1302定义**************;;******************************#DEFINEI_OPORTC,7;1302I_O#DEFINESCLKPORTC,6;1302时钟#DEFINERSTPORTA,0;1302使能位#DEFI
3、NERX_ADD40H;保存接受的7个数据#DEFINETX_ADD20H;开始保存7个要写入的时间数据BANK1MACROBSFSTATUS,RP0ENDMBANK0MACROBCFSTATUS,RP0ENDMORG000HNOPGOTOMAINMAINCALLCLR_RAM清除RANCALLPORT_INI端口定义CALLDS1302_INICALLSET_TIME一次写入7个时间数据CALLGET_TIME;一次读回7个时间数据GOTO$;;写入秒,可以写任意的7个时间数据,单字节MOVLWB
4、'10000000'MOVWFTIME_TXBSFRSTCALLTIME_WRITE_1MOVLWB'00100101'MOVWFTIME_TXCALLTIME_WRITE_1BCFRST读秒,可以读任意7个时间,单字节MOVLWB'10000001'MOVWFTIME_TXBSFRSTCALLTIME_WRITE_1CALLTIME_READ_1BCFRSTGOTO$:子程序**************************************************;DS1302_INI;
5、作用:初始化1302,先禁止RST,允许写使能;**************************************************DS1302_INIBCFSCLKBCFRST;先禁止MOVLWB'10001110';写使能寄存器MOVWFTIME_TXBSFRSTCALLTIME_WRITE_1MOVLWB'0';允许写使能MOVWFTIME_TXCALLTIME_WRITE_1;发送一个字节的数据BCFRST;设定充电方式没有设定RETURN;*****************
6、*********************************;SET_TIME;作用:一次输入7个数据来一次性的设定时间,同时使能写寄存器;突发模式写入,必须写入8个数据,不是7个;INPUT:要设定的8个数据已经写入到TIME_TX_ADD开始的8个字节里面;**************************************************SET_TIMEMOVLWB'10111110';标志位MOVWFTIME_TXBSFRSTCALLTIME_WRITE_1;TIME_
7、WRITE_8;发送8个数据MOVLWTIME_TX_ADD;发送数据的起始地址MOVWFFSRMOVLWD'8'MOVWFCOUNT2TW1MOVFINDF,WMOVWFTIME_TXCALLTIME_WRITE_1INCFFSR,FDECFSZCOUNT2,FGOTOTW1BCFRSTRETURN;***********************************************;GET_TIME;作用:一次接受7个字节的时间数据,突发模式读取;INPUT:NONE;OUTPUT:把
8、7个时间数据保存在TIME_RX_ADD开始的7个寄存器里面;***********************************************GET_TIMEMOVLWB'10111111'MOVWFTIME_TXBSFRSTCALLTIME_WRITE_1;TIME_READ_7;接收7个数据MOVLWTIME_RX_ADD;保存数据的起始地址MOVWFFSRMOVLWD'7'MOVWFCOUNT2TR2CALLTIME_READ_1MOVFTIME_
此文档下载收益归作者所有