#include "regx52.h"
#define LED_DISPLAY P2
void delay(int time)
{
while(time--);
}
int main()
{
int LED_NUMBER=0;
LED_DISPLAY=~0x01;
while(1)
{
if(P3_0==0)
{
delay(20);
while(P3_0==0);
delay(20);
LED_NUMBER++;
if(LED_NUMBER>7)
{
LED_NUMBER=0;
}
LED_DISPLAY=~(0x01< } if(P3_1==0) { delay(20); while(P3_1==0); delay(20); LED_NUMBER--; if(LED_NUMBER<0) { LED_NUMBER=7; } LED_DISPLAY=~(0x01< } } } 其实程序没啥好说的,就正常的基本算法。有一点需要注意: P3_1按下实现右移的符号还是左移符号<<,不是按理说左移<<,右移应该>>。我也试了好几次才发现这个问题,不知道有没人也有这个问题,还是我的开发板有问题。 还发现一个可能是开发板硬件的问题,按键按的也正常,但led等却不是一位一位的一次亮,有时候会突然跳过去。这个开发板问题有点多。