您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机DS1302与PIC16F877接口程序 正文
DS1302与PIC16F877接口程序

DS1302与PIC16F877接口程序

点击数:7298 次   录入时间:03-04 11:46:02   整理:http://www.55dianzi.com   PIC单片机

;********************************************************** 
;子程序名:Get_DS1302 
;功    能:从DS1302 读时间 
;说    明: 
;调    用:Write_byte,Read_byte 
;入口参数:时间保存在:R_Second,R_Minute,R_Hour,R_Day,R_Month,R_Week.R_YearL 
;出口参数:无 
;消耗资源: counter,SecAddr(预先定义) 
;设    计:zhengYanbo          日    期:2005.4.21 
;修    改:                    日    期:  
;********************************************************** 
Get_DS1302:       
          movlw    R_Second         ;准备地址 
          movwf    FSR 
          movlw    D’7’ 
          movwf    counter 
          movlw    81h              ;秒读地址 
          movwf    SecAddr           
G13021     
          bcf      T_RST 
          bcf      T_CLK 
          bsf      T_RST 
          movf     SecAddr,W 
          movwf    DS1302_TX 
          call     Write_byte 
          call     Read_byte 
          movf     DS1302_RX,W 
          movwf    INDF 
          incf     FSR 
          incf     SecAddr 
          incf     SecAddr 
          bsf      T_CLK 
          bcf      T_RST 
          decfsz   counter,F      ;接受7个数据 
          goto     G13021 
          return 
;********************************************************** 
;功    能:写1302一字节  (内部子程序) 
;入口:数据预先在DS1302_TX中 
;出口:无 
;消耗资源:cnt(预先定义) 
;********************************************************** 
Write_byte 
         movlw    D’8’ 
         movwf    tmp_cnt 
W_shift     
         rrf      DS1302_TX,F     ;带C移位(低位在前) 
         btfsc    STATUS,C 
         goto     send_1 
         bcf      T_IO 
         goto     send_0 
send_1    
         bsf      T_IO 
send_0 
         bsf      T_CLK           ;上升沿写 
         nop 
         bcf      T_CLK 
         decfsz   cnt,F 
         goto     W_shift 
         return  
;********************************************************** 
;功    能:读1302一字节  (内部子程序) 
;入口:无 
;出口:数据保存在DS1302_RX中 
;消耗资源:cnt(预先定义) 
;********************************************************** 
Read_byte 
         bsf      STATUS,RP0   ;bank1 
         bsf      TRISE,2      ;设置串行数据口为输入 
         bcf      STATUS,RP0   ;bank0 
         movlw    D’8’ 
         movwf    cnt 
R_shift   
         btfsc    T_IO 
         goto     get_1 
         bcf      STATUS,C     ;clr c 
         goto     get_0 
get_1     
         bsf      STATUS,C 
get_0 
         rrf      DS1302_RX,F 
         bsf      T_CLK         
         nop 
         bcf      T_CLK        ;下降沿读 

上一页  [1] [2] [3]  下一页


本文关键字:程序  接口  PIC单片机单片机-工控设备 - PIC单片机

上一篇:18B20通讯程序