求解:用P0口、P1 口分别显示加法和减法运算结果

2020-02-05 08:52发布

#include<reg51.h>
void main(void)   
{  
  unsigned char m,n;
  m=43;     //即十进制数2x16+11=43
  n=60;     //即十进制数3x16+12=60
  P1=m+n;  //P1=103=0110 0111B,结果P1.3、P1.4、P1.7 口的灯被点亮
  P0=n-m;  //P0=17=0001 0001B,结果P0.0、P0.4的灯被熄灭


为什么结果P1.3、P1.4、P1.7 口的灯被点亮,结果P0.0、P0.4的灯被熄灭
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
sos9616
1楼-- · 2020-02-06 03:44
 精彩回答 2  元偷偷看……
zenghui
2楼-- · 2020-02-06 04:24
本帖最后由 zenghui 于 2012-7-6 14:33 编辑

P1=103=0110 0111B
P0=17=0001 0001B

答案已经很明确了!亮灯的原理三楼也已经说了,还有什么疑问呢?
壹佰法拉
3楼-- · 2020-02-06 05:17
看结果程序是算对了!
就是你一直把 1 想成必然的 亮; 把0 想成 暗;

为什么你不把你这些“灯”反接过来呢?

一周热门 更多>