新手刚做一个霹雳灯仿真,程序和电路不知道哪里出错,
时间:10-02
整理:3721RD
点击:
运行时,只有第一个灯亮,
程序貌似没什么问题,但是
LED = (LED << 1) | 0x01;
这样的句子觉得有点奇怪,不知道有没有问题
不如写成
点灯
LED |= (1 << i ); 这样的句子
灭灯
LED &= ~( 1 << i );
有一个疑点,就是P1口在使用之前没看到初始化代码,应该初始化为输出,然后设置内部上拉,可能就是这个原因了
还有就是最好使用灌电流驱动而不是拉电流驱动,所有灯反过来接,原来灯共地的地方改为工电源VDD,这样避免单片机驱动能力不足导致一些问题。
P1口只有第一个是低电平,其他都是高电平,而你的LED另外接的是高电平。当然只有第一个亮了