新聞中心

        51單片機(jī)----sbit

        作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏
        sbit:定義特殊功能寄存器的位變量。

        ?典型應(yīng)用:sbit P0_0=P0^0;//即定義P0_0為P0口的第1位,以便進(jìn)行位操作。

        本文引用地址:http://www.104case.com/article/201611/321834.htm

        用法:?

        ?在C語(yǔ)言里,如果直接寫(xiě)P1.0,C編譯器并不能識(shí)別,而且P1.0也不是一個(gè)合法的C語(yǔ)言變量名,所以得給它另起一個(gè)名字,這里起的名為P1_0,可是P1_0是不是就是P1.0呢?你這么認(rèn)為,C編譯器可不這么認(rèn)為,所以必須給它們建立聯(lián)系,這里使用了Keil C的關(guān)鍵字sbit來(lái)定義,sbit的用法有三種:

        第一種方法:sbit 位變量名=地址值

        第二種方法:sbit 位變量名=SFR名稱^變量位地址值

        第三種方法:sbit 位變量名=SFR地址值^變量位地址值

        如定義PSW中的OV可以用以下三種方法:

        sbit OV=0xd2 (1)說(shuō)明:0xd2是OV的位地址值

        sbit OV=PSW^2 (2)說(shuō)明:其中PSW必須先用sfr定義好

        sbit OV=0xD0^2 (3)說(shuō)明:0xD0就是PSW的地址值

        因此這里用sbit P1_0=P1^0;就是定義用符號(hào)P1_0來(lái)表示P1.0引腳,如果你愿意也可以起P10一類的名字,只要下面程序中也隨之更改就行了。

        sbit與bit:?

        ?sbit 要在最外面定義,就是說(shuō)必須定義成外部變量.sbit定義的是SFR(特殊功能寄存器)的bit

        sbit更像是類型定義,不像是變量定義

        sbit: 只是說(shuō)明性說(shuō)明

        bit可以在外部或內(nèi)部定義。

        參考鏈接:http://baike.baidu.com/link?url=R_fzVbhmSpnJIcMdnyH1kJFNiJRW2wMLb-zjl9gr-Ht779OltInqwjJpibGxATyR7pLLTOMI4EQLNLaOCKZ1iK?



        關(guān)鍵詞: 51單片機(jī)sbi

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 文化| 昌邑市| 同德县| 崇州市| 永城市| 五台县| 安新县| 龙海市| 若尔盖县| 孙吴县| 长兴县| 班玛县| 泽普县| 望都县| 额敏县| 武鸣县| 大渡口区| 育儿| 鸡泽县| 聂拉木县| 花垣县| 湖北省| 大宁县| 米林县| 马公市| 林州市| 台北市| 得荣县| 静乐县| 龙州县| 吕梁市| 湖南省| 伊金霍洛旗| 舞钢市| 合江县| 清涧县| 手游| 临汾市| 绥棱县| 博兴县| 淅川县|