1. gzyueqian
      13352868059

      時(shí)鐘芯片DS1302的C語(yǔ)言驅(qū)動(dòng)

      更新時(shí)間: 2006-03-02 14:50:08來(lái)源: 粵嵌教育瀏覽量:3036

        評(píng)論:本程序?yàn)闀r(shí)鐘芯片DS1302的C語(yǔ)言驅(qū)動(dòng),任何單片機(jī),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--);      /* 發(fā)送一字節(jié)*/
      }
      /*---------------------------------------------------------- */
      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--);   // 接收一字節(jié)
         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);       /* 打開寫保護(hù)*/
       Write_DS1302(CmdWrSec,0);           /* 打開晶振*/

      }

      免費(fèi)預(yù)約試聽(tīng)課

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

      
      

      1. 亚洲精品无播放器在线播放网站 | 无遮挡高潮国产免费观看 | 在线能看三级网站 | 亚洲国产性爱第一页 | 日本精品第一视频在线 | 在线观看h的网址 |