background image

#pragma DB CD LA
#pragma disable
    /*禁止中断*/

单片机

C 语言之二______________________________________________________________

_______________________
一》数据类型:
        char         int         long
1:unsinged     0~255         0~65535     0~4294967295
2:signed     -128~127     -32768~32767     -2147483648~2147483647

指针:

*        3 字节

位标量:

    sbit

特殊功能寄存器:

sfr

16 位特殊功能寄存器:sfr16     占 2 个内存单元,0~65535
可寻址位:

sbit 利用他可访问 51 单片机的内部 RAM 中的可寻址位或特殊功能寄存器中的

可寻址位
sfr P0=0x80;
sbit P0_1=P0^1;
    /*将 P0 口的口地址定义为 80H,将 P0.1 位定义为 P1_1*/

二》数据存贮类型
                  表 1. C51 数据存贮类型
━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━
数据存贮类型

          

与存贮空间的对应关系

                 

 

━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━
     data       

┃ 直接寻址片内数据存贮区,访速度快                  

     bdata      

┃ 可位寻址片内数据存贮区,允许位与字节混合访问

     idata      

┃ 间接寻址片内数据存贮区,可访问片内全部 RAM 地址空间

     pdata      

┃ 分页寻址片外数据存贮区(256 字节)由 MOVX @R0 访问            

     xdata      

┃ 片外数据存贮区(64K),由 MOVX @DPTR 访问

     code       

┃ 代码存贮区(64K),由 MOVC @DPTR 访问

 

━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━
变量的存贮类型定义:
char data var
    /*字符变量 var 被定义为 data 存贮类型,C51 编译器将把该变量定位在 51 单片机片内数
据区存贮区中

*/

bit bdata flag
    /*位变量 flag 被定义为 bdata 存贮类型,C51 编译器将把该变量定位在 51 单片机片内数
据区存贮区

(RAM)中的位寻址区:20H--2FH*/

三》

typedef:重新定义数据类型