新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機c語言教程:C51變量

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

        作者: 時間:2012-09-11 來源:網絡 收藏

        (1)sbit 位名=位地址

        sbit P1_1 = Ox91;

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

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

        sft P1 = 0x90;

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

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

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

        sbit P1_1 = 0x90 ^ 1;

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

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

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

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

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

        sbit ab12=ab[1]^12;

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

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

        c語言相關文章:c語言教程


        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        存儲器相關文章:存儲器原理


        塵埃粒子計數器相關文章:塵埃粒子計數器原理
        激光器相關文章:激光器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 仪征市| 寻乌县| 日喀则市| 昌吉市| 尚义县| 灵山县| 平武县| 南康市| 克东县| 辽宁省| 崇文区| 曲周县| 湖北省| 平江县| 芷江| 高要市| 西贡区| 文成县| 峨边| 额尔古纳市| 彩票| 拜泉县| 大连市| 滨州市| 平塘县| 绵竹市| 乐昌市| 武汉市| 方城县| 舟山市| 浦东新区| 谷城县| 赣榆县| 镇赉县| 黔西| 嵩明县| 乌审旗| 高密市| 区。| 永泰县| 墨竹工卡县|