原创 KeilC中的bdata和sbit起什么作用

2010-8-27 10:14 7682 7 7 分类: MCU/ 嵌入式

引自博客:Andymio



KeilC编程时用到如下的定义:


unsigned char bdata.....


sbit.....


前面的unsigned char是数据类型不用解释了,bdata不是数据类型,而是指存放的内存空间 。sbit是定义位变量的指令。



bdata指可位寻址的内存空间


data指一般内存空间


xdata外部内存空间


例:


unsigned char bdata display_TImer;    //显示计时器,5或10毫秒显示刷新一次
sbit display_timer_over=display_timer^7;  //0:计时时间未到,1:计时时间到


另外我自己的一个模仿别人的应用:


unsigned int bdata OutByte;     //定义待输出字节变量
sbit Bit_Out=OutByte^0;         //定义输出字节的最高位,即输出位


/********************************************************/
/*                                                                                                            */
/*将显示数据送入74HC595并且输出                         */
/*                                                                                                            */
/********************************************************/
void WR_595(unsigned int send_data)
{
    unsigned char j;


 OutByte = send_data;
    for (j=0;j<16;j++)
    {
   SDATA_595 = Bit_Out;
      OutByte = OutByte<<1;


   SCLK_595 = 0;                    
      _nop_();
      _nop_();
      SCLK_595 = 1;          //上升沿发生移位
      _nop_();
      _nop_();
      SCLK_595 = 0;
    }
 
 RCK_595=0;
    _nop_();
    _nop_();
    RCK_595=1;                 //上升沿将数据送到输出锁存器
    _nop_();
    _nop_();
    _nop_();
    RCK_595=0;     
}

文章评论0条评论)

登录后参与讨论
我要评论
0
7
关闭 站长推荐上一条 /2 下一条