刚开始学51单片机,学点流水灯时有些问题:P1 = 0xAA; //点亮 D1,D3,D5,D7 P1 口的二进制为 10101010,为 0

上面那句不懂。我理解P1=10101010,要是0为点亮,应是2,4,6,8灯亮才是,为什么是1,3,5,7呢?它对每个灯是怎么定义的?这里找材料也没写,或许太简单了?比... 上面那句不懂。我理解P1=10101010,要是0为点亮,应是2,4,6,8灯亮才是,为什么是1,3,5,7呢?它对每个灯是怎么定义的?这里找材料也没写,或许太简单了?比如我要让第二四六八个灯亮,P1后面的值应是什么呀? 展开
 我来答
lang1988118
2011-12-16 · TA获得超过358个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:59.1万
展开全部
二进制和十进制一样右边是低位左边是高位,从右到左就是从低到高,所以要从低位读到高位么就要从右边开始读,1~8灯连接的是P1.0~P1.7,当P1=0xaa=0b10101010,那么1,3,5,7灯对应的是0,所以是1,3,5,7灯亮,如果要2,4,6,8灯亮么只要按位取反P1=0b01010101=0x55就行了。要学单片机的话我建议你先找本数电的书看看吧,最基本的二进制码都没搞明白,难。
smokeghost
2011-12-16 · TA获得超过544个赞
知道小有建树答主
回答量:354
采纳率:100%
帮助的人:342万
展开全部
楼上说的不错,你没搞清最高位的问题,P1.7为高位,P1.0为低位。这样就明白了吧。
要想学好单片机,不但要对单片机本身的硬件了解,还要了解数字电路,数制换算,卡诺图化简,端口的输出方式,阿斯科字符的转换,各种外设的通讯协议(如DS1302实时时钟,18B20温度检测,1602英文字符显示,12864汉字显示,8155接口芯片,及AD,DA转换芯片,PWM脉宽调制等等吧),好好努力。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
47okey
2011-12-16 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5900
采纳率:75%
帮助的人:2395万
展开全部
要看你的灯怎么接,比如第一只LED是接P1低位还是高位,另外是LED阴极还是阴极接P1。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式