1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      時鐘芯片DS1302的C語言驅動

      更新時間: 2006-03-02 14:50:08來源: 粵嵌教育瀏覽量:3173

        評論:本程序為時鐘芯片DS1302的C語言驅動,任何單片機,MCU都適用,只要修改下RTC_SCLK,RTC_IO,RTC_CS等位的高低電平的,以及中斷禁止、使能的定義即可。

      void SendByte_DS1302(char SendData)
      {
       char clkserialbyte=7;

        RTC_SCLK=LOW;  

         _NOP();
         _NOP();
         _NOP();
         _NOP();
       _NOP();
         _NOP();
         do
         {
            if(SendData&0x01)
              RTC_IO=HIGH;
           else
             RTC_IO=LOW;
       
            SendData=SendData>>1;
        
           RTC_SCLK=HIGH;
       
           _NOP();
           _NOP();
           _NOP();
           _NOP();
           _NOP();
           _NOP();
           _NOP();

              RTC_SCLK=LOW;
          
         }while(clkserialbyte--);      /* 發送一字節*/
      }
      /*---------------------------------------------------------- */
      RecByte_DS1302()
      {
       char clkserialbyte=7;
          char ReadData=0;

         RTC_SCLK=LOW;

          _NOP();
          _NOP();
          _NOP();
          _NOP();
          _NOP();
          _NOP();
          do
         {
           ReadData=ReadData>>1;
           if(RTC_IO==1)
           RTC_SCLK=HIGH;
       
         _NOP();
         _NOP();
         _NOP();
         _NOP();
         _NOP();
         _NOP();

          RTC_SCLK=LOW;
           
       }while(clkserialbyte--);   // 接收一字節
         return(ReadData);
      }
      char Read_DS1302(char clk_command)

              _DINT();
       
       RTC_CS=LOW;
       
         _NOP();
         _NOP();
         _NOP();
         _NOP();
         _NOP();
         _NOP();

         RTC_SCLK=LOW;
       
         _NOP();
         _NOP();
         _NOP();
         _NOP();
         _NOP();
         _NOP();
         SendByte_DS1302(clk_command);
         clk_command=RecByte_DS1302();
         _NOP();
         _NOP();
         _NOP();
         _NOP();
         _NOP();
         _NOP();
         
       RTC_CS=HIGH;

         return(clk_command);
      }
      void Write_DS1302(char clk_command,char clk_data)
      {
         
              _DINT();
       
        RTC_CS=LOW;

        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();

        RTC_SCLK=LOW;
        
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();

        SendByte_DS1302(clk_command);
        SendByte_DS1302(clk_data);

        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        _NOP();
        
       RTC_CS=HIGH;

      }


      // 初始化DS1302芯片
      void IniDS1302()
      {
       Write_DS1302(CmdWrControl,0);       /* 打開寫保護*/
       Write_DS1302(CmdWrSec,0);           /* 打開晶振*/

      }

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 五月天AV免费在线观看 | 在线观看国产精品午夜影院 | 亚洲а∨天堂久久精品精品 | 视频国产精品熟女 | 亚洲国产午夜福利 | 亚洲熟女乱综合一区二区 |