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条评论)
登录后参与讨论