可以,但不能用串口,只能模拟串行通讯的方式来做了。比如CLK接外部中断0,DAT为P1.0程序如下:
#include
sbit p10=P1^0;
unsigned int dat,num,datp[],i;
void ext0() interrupt 0
{
dat=(dat|p10)<<1;
num++;
if(num>=10)
{
datp[i]=dat;
i++;
dat=0;
}
}
main()
{
EX0=1;
IT0=1;
EA=1;
dat=0;
i=0;
num=0;
while(1);
}
可以啊,比如
unsigned int temp;//16位变量
unsigned char i;
temp =0;
for(i=0;i<10;i++)
{
if(PIN==1) //从PIN脚接收数据位
{
temp=temp | 0x0001;
}
temp=temp <<1;
}
以上只是个例子。
可以。
用10个一脚绑成16位进制,高低8位表示。
使用联合体把;
union kk
{
unsigned char a[2];
unsigned int b;
} ;
使用的时时候,只需要将引脚变量值付给a数组,
组合调用b就可以。还是自动分配转换都省了,主要注意下物理引脚定义和高低为顺序。要联机调试下。
可以的。用C写一个小程序就可以了
可以啊,你只要定义一个int型就行了,分开高八位与低八位,程序很多的,就是高低字节的事