2020-02-04 09:02发布
AD7543.gif (29.34 KB, 下载次数: 0)
下载附件
2012-4-27 00:02 上传
mkliop 发表于 2012-4-27 23:38 呵呵谢谢大家已经弄好了确实应该是从最高位开始发的。被网上的文章误导了 #include sbit LD=P1^0 ...
最多设置5个标签!
图中 Bit1 MSB 是指最高位。应先发送。
AD7543.gif (29.34 KB, 下载次数: 0)
下载附件
2012-4-27 00:02 上传
#include<reg52.h>
sbit LD=P1^0;
sbit STB=P1^1;
sbit CLR=P1^2;
sbit SRI=P1^3;
void delay()
{
unsigned char a,b;
for(b=1;b>0;b--)
for(a=100;a>0;a--);
}
void main()
{
unsigned char a;
unsigned int b;
unsigned int i=4000;
LD=1;
STB=1;
CLR=1;
SRI=1;
for(a=0;a<12;a++)
{
b=i&0x0800;
if(b>0)
{
SRI=1;
}
else
{
SRI=0;
}
STB=0;
delay();
STB=1;
delay();
i=i<<1;
}
LD=0;
delay();
LD=1;
delay();
while(1);
}
这是测试代码
樓主這部份:
b=i&0x0800;
if(b>0)
{
SRI=1;
}
else
{
SRI=0;
}
如果這樣寫:
SRI=(bit)(i&0x0800)
以上結果會有不同嗎?哪種會更好?
一周热门 更多>