C51单片机编程语句解释

这是一个用函数调用方式完成LED1-LED8共8个二极管实现D0,D2,D4,D6及D1,D3,D5,D7交替点亮的实验,周期约1s.#include<REG51.H>/... 这是一个用函数调用方式完成LED1-LED8共8个二极管实现D0,D2,D4,D6及D1,D3,D5,D7交替点亮的实验,周期约1s.

#include <REG51.H>
/*====================================*/
void delay(void)
{
unsigned int i,j;
for(i=0;i<500;i++)
{
for(j=0;j<121;j++)
{;}
}
}
//================================
void light1(void)
{
P1=0xaa; //向P1口送数0xaa ,点亮D0,D2,D4,D6 4个LED
}
//===============================
void light2(void)
{
P1=0x55; //向P1口送数0x55 ,点亮D1,D3,D5,D7 4个LED
}
/*================================*/
void main(void)
{
while(1)
{
light1();
delay();
light2();
delay();
}
}

请问,怎样理解P1=0xaa;P1=0x55; 这2个十六进制数为什么会同时点亮4个灯?
展开
 我来答
任扬游
2010-04-12 · TA获得超过126个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:133万
展开全部
很简单,0xaa是16进制,转换成二进制就是10101010,而输出0的IO口等就亮,从右往左依次是P1.0,P1.2,P1.4,P1.6口为0,所以点亮D0,D2,D4,D6

0x55转换成二进制是01010101
百度网友1c9a68e66
2010-04-12 · TA获得超过541个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:210万
展开全部
你把0xaa、0x55展开成2进制就明白了;0xaa=10101010;0x55=01010101;为0的对应的灯亮
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式