单片机编程八个发光二极管闪烁,P1口接八个灯,亮0.5S,灭0.5S循环……谢谢各位了

如题所述

#include<reg51.h>
#define uint unsigned int;
void delayms(uint x) //定义延时函数
{
uint i,j;
for(i=x;i>0;i--)
for(j=110;j>0;j--)
}

main()
{
while1()
{

P0=0x00; //点亮所有LED
delayms(500); //延时0.5s
p0=0xff; 熄灭所有LED
delayms(500); //延时0.5s

}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-25
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
void delay()
{
uint n;
for(n=0;n<50000;n++)
{;}
}
void main()
{
P1=~P1;
delay();
}
第2个回答  2013-04-24
一齐亮,一齐灭?追问

对得,麻烦你发一下程序,谢谢啦

追答

;
ORG 0000H
LOOP:

CALL DL_500MS
XRL P1, #255
JMP LOOP
;-------------------------------延时子程序
DL_500MS:
MOV R5, #9
DL1: MOV R6, #128
DL2: MOV R7, #215
NOP
DJNZ R7, $ ;
DJNZ R6, DL2
DJNZ R5, DL1
RET
;------------------------------------
END