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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機c語言教程:C51變量

          單片機c語言教程:C51變量

          作者: 時間:2012-09-11 來源:網(wǎng)絡(luò) 收藏

          (1)sbit 位名=位地址

          sbit P1_1 = Ox91;

          這樣是把位的絕對地址賦給位。同sfr一樣sbit的位地址必須位于80H-FFH之間。

          (2)Sbit 位名=特殊功能寄存器名^位位置

          sft P1 = 0x90;

          sbit P1_1 = P1 ^ 1; //先定義一個特殊功能寄存器名再指定位變量名所在的位置

          當可尋址位位于特殊功能寄存器中時可采用這種方法

          (3)sbit 位變量名=字節(jié)地址^位位置

          sbit P1_1 = 0x90 ^ 1;

          這種方法其實和2是一樣的,只是把特殊功能寄存器的位址直接用常數(shù)表示。

          c存儲器類型中供給有一個bdata的存儲器類型,這個是指可位尋址的數(shù)據(jù)存儲器,位于的可位尋址區(qū)中,能將要求可位錄址的數(shù)據(jù)定義為bdata,如:

          unsigned char bdata ib; //在可位錄址區(qū)定義ucsigned char類型的變量ib

          int bdata ab[2]; //在可位尋址區(qū)定義數(shù)組ab[2],這些也稱為可尋址位對象

          sbit ib7=ib^7 //用關(guān)鍵字sbit定義位變量來獨立訪問可尋址位對象的其中一位

          sbit ab12=ab[1]^12;

          操作符^后面的位位置的最大值取決于指定的基址類型,char0-7,int0-15,long0-31。

          下面我們用上一課的電路來實踐一下這一課的知識。同樣是做一下簡單的跑馬燈實驗,項目名為RunLED2。程序如下:
           sfr P1 = 0x90; //這里沒有使用預(yù)定義文件,
          sbit P1_0 = P1 ^ 0; //而是自己定義特殊寄存器
          sbit P1_7 = 0x90 ^ 7; //之前我們使用的預(yù)定義文件其實就是這個作用
          sbit P1_1 = 0x91; //這里分別定義P1端口和P10,P11,P17引腳

          c語言相關(guān)文章:c語言教程


          單片機相關(guān)文章:單片機教程


          單片機相關(guān)文章:單片機視頻教程


          單片機相關(guān)文章:單片機工作原理


          存儲器相關(guān)文章:存儲器原理


          塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理
          激光器相關(guān)文章:激光器原理


          關(guān)鍵詞: 變量 C51 教程 語言 單片機

          評論


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