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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)之16C84單片機(jī)介紹(二)

          PIC單片機(jī)之16C84單片機(jī)介紹(二)

          作者: 時(shí)間:2012-11-14 來源:網(wǎng)絡(luò) 收藏
          normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  RB4 100

            RB5

            RB6

            RB7

            RB0

            RB1

            RB2

            BR3

            Rf

            圖4-7利用端口B的鍵盤接口圖。

            5-3 I/O編程的考慮

            任何對(duì)端口的寫操作,在內(nèi)部都是讀-修改-寫。例如BCF,BSF 指令,先將寄存器讀入CPU,執(zhí)行位操作,將結(jié)果寫回寄存器。例如對(duì) PORTB執(zhí)行BSF操作,首先將PORTB的8位讀入CPU,在Bit5上進(jìn)行BSF操 作,將這一位置1,將PORTB寫回輸出鎖存器,如果這個(gè)時(shí)候PORTB的bit0用作輸入引腳,則先將PORTB讀入CPU,然后進(jìn)行有關(guān)操作,結(jié)果寫回PORTB的鎖存器,并復(fù)蓋了先前的內(nèi)容,如果bit0一直保持在輸入方式,這一操作是沒有問題,但如果bit0在銷后又改變成輸出方式,數(shù)據(jù)鎖存器的內(nèi)容是未知的。

            實(shí)際寫I/O端口發(fā)生在一個(gè)指令周期的結(jié)束,而讀一個(gè)I/O端口,其有效的數(shù)據(jù)必須在指令周期的開始就出現(xiàn)。因此,對(duì)一個(gè)I/O通道相斷執(zhí)行讀,寫操作,要考慮數(shù)據(jù)的可靠性。為此,應(yīng)在這兩條指令之間加入一條NOP指令就可以保證數(shù)據(jù)的可靠性。

            六、計(jì)時(shí)器。

            (TMRO)模式 TMRO計(jì)時(shí)/計(jì)數(shù)器模式具有如下特點(diǎn):

            ·8位計(jì)時(shí)計(jì)數(shù)器

            ·可讀,可寫

            ·8位軟件可編程的預(yù)分配器

            ·從FFH到00H產(chǎn)生溢出中斷

            ·具有外部時(shí)鐘的邊沿選擇

            TMRO模式的簡(jiǎn)單框圖與PIC16C6X系列相同。它可以經(jīng)過清0 TOCs 位(即TION5>)來選擇計(jì)時(shí)器方式。在計(jì)時(shí)器方式,TMRO模式對(duì)每個(gè)指令周期加1(沒有預(yù)分頻器),如果對(duì)TMRO寫操作,則計(jì)時(shí)器為加 (操作后兩個(gè)周期被禁止。)



          關(guān)鍵詞: PIC單片機(jī) 16C84單片

          評(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); })();