单片机里怎么把16位数据分开存成8位地址里
很简单呀,比如在程序里,查表的数据如果是16位可以直接用DW,8位用DB
LAB1:
DW 46A0H,2345H,答洞4567H
LAB2:
DB A0H,46H,45H,23H,67H,45H
如果是运晌存到一个扩展RAM里,就需要将之分成高8位和清悄枯低8位就可以了。低8位直接赋值,高八位右移8位就可以。
unsigned int a;
unsigned char ah,al;
al=a;
ah=a>>8;
分开为8位高字节和8位链返低字节,分别存入俩个地址。
如,胡袭
unsigned int data;
unsigned char data_h,data_l,add[2],*p;
data_h=(unsigned char)(data>裤唤兄>8);
data_l=(unsigned char)data;
p=add;
*p=data_l;
*(p+1)=data_h;