标题:
开关控制灯的单片机程序如何理解?
[打印本页]
作者:
lclbf
时间:
2018-7-17 20:17
标题:
开关控制灯的单片机程序如何理解?
下面程序如何理解?好像和初值没有关系?
SW1控制D1,SW2控制D2,SW3控制D3,SW4控制D4,当SW1按下时,也就是P1.4为低电平,灯D1发光点亮,也就是P1.0为低电平。C语言程序如何理解?,程序如下:
#include <AT89X51.H>
unsigned char temp;
void main(void)
{
while(1)
{
temp=P1>>4;
temp=temp | 0xf0;
P1=temp;
}
}
1.png
(30.59 KB, 下载次数: 58)
下载附件
2018-7-17 20:14 上传
作者:
lclbf
时间:
2018-7-18 08:14
我的理解是这样的:
P1口的初值是:1111 1111,右移四位后变为:0000 1111,再和F0相|(或),结果为:1111 1111,把这个结果赋值给P1口。不明白这个结果是如何实现开关控制灯的。
作者:
game灬boy
时间:
2018-7-18 08:42
按下开关为低电平,如SW4按下P1=0111 1111. 右移4位0000 0111与F0 相或位1111 0111对应第四个灯亮
作者:
lclbf
时间:
2018-7-18 16:45
谢谢game灬boy解答!明白意思了!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1