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

          新聞中心

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

          單片機(jī)c語言教程:C51變量

          作者: 時(shí)間: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; //先定義一個(gè)特殊功能寄存器名再指定位變量名所在的位置

          當(dāng)可尋址位位于特殊功能寄存器中時(shí)可采用這種方法

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

          sbit P1_1 = 0x90 ^ 1;

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

          c存儲(chǔ)器類型中供給有一個(gè)bdata的存儲(chǔ)器類型,這個(gè)是指可位尋址的數(shù)據(jù)存儲(chǔ)器,位于的可位尋址區(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定義位變量來獨(dú)立訪問可尋址位對象的其中一位

          sbit ab12=ab[1]^12;

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

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

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


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


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


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


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


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


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

          評論


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