<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)I/O口讀74HC165接口程序

          AVR單片機(jī)I/O口讀74HC165接口程序

          作者: 時(shí)間:2016-10-15 來(lái)源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/201610/307636.htm

          *******************************/

          #include

          #define SER_IN PD3

          #define SER_CK PB2

          #define SER_SL PB3

          uint16_t SerIn(void)

          {

          uint16_t ret=0,i;

          //數(shù)據(jù)鎖存,在shift/load輸入一脈沖

          PIO_CTL_PORT=~_BV(SER_SL);

          __asm__ volatile(nop);

          __asm__ volatile(nop);

          PIO_CTL_PORT|=_BV(SER_SL);

          __asm__ volatile(nop);

          __asm__ volatile(nop);

          //讀數(shù)據(jù)

          for(i=0;i16;i++)

          {

          ret=1;

          if(PIND _BV(SER_IN))

          ret|=1;

          PIO_CTL_PORT=~_BV(SER_CK);

          __asm__ volatile(nop);

          PIO_CTL_PORT=~_BV(SER_CK);

          PIO_CTL_PORT|=_BV(SER_CK);

          __asm__ volatile(nop);

          PIO_CTL_PORT=~_BV(SER_CK);

          }

          PIO_CTL_PORT=~_BV(SER_CK);

          return ret;

          }

          //IO初始化

          void IoInit(void)

          {

          //輸入口初始化成高阻態(tài)

          DDRD=~_BV(SER_IN);

          PORTD=~_BV(SER_IN);

          //兩個(gè)控制口初始化

          PORTB |= _BV(SER_SL);

          DDRB |= _BV(SER_CK)|_BV(SER_SL);

          //....其它初始化操作....

          }



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();