打印

请教单片机编程问题

[复制链接]
1285|6
手机看帖
扫描二维码
随时随地手机跟帖
沙发
yewuyi| | 2011-6-16 10:50 | 只看该作者
DOUT的各个元素是字节类型,你为何要把P1的各个位付给DOUT?

直接把P1付给DOUT中的任何一个数组元素即可。

DOUT[0]=P1;不就可以了吗?

使用特权

评论回复
板凳
aijun02|  楼主 | 2011-6-16 11:01 | 只看该作者
DOUT是输出,10位,分别为P1八位和P0低两位,并且有顺序,

使用特权

评论回复
地板
yewuyi| | 2011-6-16 11:13 | 只看该作者
真能捣,那你把DOUT定义为unsigned int,两字节不就可以了吗。

DOUT[0]=P1+P0*256;

这样的结果就是DOUT的二进制格式为:0 0 0 0,0 0 P0.1 P0.0,P1.7 P1.6 ...... P1.0

你想要别的顺序则改变“P1+P0*256”方式即可得到。

使用特权

评论回复
5
aijun02|  楼主 | 2011-6-16 11:14 | 只看该作者
怎么把1000010101B送到P1 8位口和P1^0  P1^1

使用特权

评论回复
6
aijun02|  楼主 | 2011-6-16 11:26 | 只看该作者
我做的是10个电位器输入分别控制10个指示灯,电位器的值控制指示灯的触发时间,谁能够给我点建议

使用特权

评论回复
7
yewuyi| | 2011-6-16 11:31 | 只看该作者
怎么把1000010101B送到P1 8位口和P1^0  P1^1
aijun02 发表于 2011-6-16 11:14



这也叫问题?

如果是使用的DOUT=P1+P0*256;

则反过来不会吗?
P1=(unsigned char)DOUT;
P0=(unsigned char)(DOUT>>8);

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

48

主题

99

帖子

0

粉丝