请教单片机编程问题

[复制链接]
1991|6
 楼主| aijun02 发表于 2011-6-16 10:37 | 显示全部楼层 |阅读模式
定义了unsigned char idata DOUT[10];
我想把P1的各个位赋给DOUT数组怎么写呀?
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”方式即可得到。
 楼主| aijun02 发表于 2011-6-16 11:14 | 显示全部楼层
怎么把1000010101B送到P1 8位口和P1^0  P1^1
 楼主| aijun02 发表于 2011-6-16 11:26 | 显示全部楼层
我做的是10个电位器输入分别控制10个指示灯,电位器的值控制指示灯的触发时间,谁能够给我点建议
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

粉丝
快速回复 在线客服 返回列表 返回顶部