PIC单片机控制时钟芯片DS1302汇编程序.docVIP

PIC单片机控制时钟芯片DS1302汇编程序.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PIC单片机控制时钟芯片DS1302汇编程序

PIC单片机控制时钟芯片DS1302汇编程序 #INCLUDE CBLOCK 20H SEC ;秒 MIN ;分 HOU ;小时 DATE ;日期 MON ;月 DAY ;日 YERR ;年 DDD ;写使能位 TIME_TX ;1302发送寄存器 TIME_RX ;1302接收寄存器 COUNT1 ; COUNT2 ; DELAY1 DELAY2 ENDC ******************************* ; ; 1302子程序说明 ; ;****************************** ; DS1302INI ;1302初始化,先禁止RST设定充电方式 ; SET_TIME ;一次发送7个数据设定时间包含写使能寄存器,8个数据 ; GET_TIME ;一次接收7个数据显示时间 ; TIME_WRITE_1;一次写入1302一个字节 ; TIME_READ_1 ;一次接收一个字节数据 ; ;******* 1302定义************** ; ;****************************** #DEFINE I_O PORTC7 ;1302I_O #DEFINE SCLK PORTC6 ;1302时钟 #DEFINE RST PORTA0 ;1302使能位 #DEFINE RX_ADD 40H ;保存接受的7个数据 #DEFINE TX_ADD 20H ;开始保存7个要写入的时间数据 BANK1 MACRO BSF STATUSRP0 ENDM BANK0 MACRO BCF STATUSRP0 ENDM ORG 000H NOP GOTO MAIN MAIN CALL CLR_RAM 清除RAN CALL PORT_INI 端口定义 CALL DS1302_INI CALL SET_TIME 一次写入7个时间数据 CALL GET_TIME ; 一次读回7个时间数据 GOTO dollar ;; 写入秒,可以写任意的7个时间数据,单字节 MOVLW B MOVWF TIME_TX BSF RST CALL TIME_WRITE_1 MOVLW B MOVWF TIME_TX CALL TIME_WRITE_1 BCF RST 读秒,可以读任意7个时间,单字节 MOVLW B MOVWF TIME_TX BSF RST CALL TIME_WRITE_1 CALL TIME_READ_1 BCF RST GOTO dollar :子程序 ************************************************** ; DS1302_INI ; 作用:初始化1302,先禁止RST允许写使能 ;************************************************** DS1302_INI BCF SCLK BCF RST ;先禁止 MOVLW B ;写使能寄存器 MOVWF TIME_TX BSF RST CALL TIME_WRITE_1 MOVLW B`0` ;允许写使能 MOVWF TIME_TX CALL TIME_WRITE_1;发送一个字节的数据 BCF RST ;设定充电方式 没有设定 RETURN ;************************************************** ; SET_TIME ; 作用:一次输入7个数据来一次性的设定时间,同时使能写寄存器 ; 突发模式写入,必须写入8个数据,不是7个 ; INPUT:要设定的8个数据已经写入到TIME_TX_ADD开始的8个字节里面 ;************************************************** SET_TIME MOVLW B ;标志位 MOVWF TIME_TX BSF RST CALL TIME_WRITE_1 ;TIME_WRITE_8 ;发送8个数据 MOVLW TIME_TX_ADD ;发送数据的起始地址 MOVWF FSR MOVLW D`8` MOVWF COUNT2 TW1 MOVF INDFW MOVWF TIME_TX CALL TIME_WRITE_1 INCF FSRF DECFSZ COUNT2F GOTO TW1 BCF RST RETURN ;*********************************************** ; GET_TIME ; 作用:一次接受7个字节的时间数据,突发模式读取 ; INPUT:NONE ; OUTPUT:把7个时间

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档