单片机编程,利用串口控制8个发光二极管工作,求发光二极管每隔1ms交替亮灭。

编写程序:利用串口控制8个发光二极管工作,求发光二极管每隔1ms交替亮灭。
是 100ms ,时间多少无所谓

交替时间太短,最快也要0.5秒的。用一块74LS164串进并出IC,51的RXD接164的AB端,TXD接164的CP.作为移位脉冲。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:MOV SCON,#10H
MOV A,#0FEH
MOV SBUF,A
ST0:JNB TI,ST0
CLR TI
CALL DELAY
MOV A,#0FDH
MOV SBUF,A
ST1:JNB TI,ST1
CLR TI
CALL DELAY
MOV A,#0FBH
MOV SBUF,A
ST2:JNB TI,ST2
CLR TI
CALL DELAY
MOV A,#0F7H
MOV SBUF,A
ST3:JNB TI,ST3
CLR TI
CALL DELAY
MOV A,#0EFH
MOV SBUF,A
ST4:JNB TI,ST4
CLR TI
CALL DELAY
MOV A,#0DFH
MOV SBUF,A
ST5:JNB TI,ST5
CLR TI
CALL DELAY
MOV A,#0BFH
MOV SBUF,A
ST6:JNB TI,ST6
CLR TI
CALL DELAY
MOV A,#7FH
MOV SBUF,A
ST7:JNB TI,ST7
CLR TI
CALL DELAY
LJMP MAIN
DELAY:MOV R0,#250
D2:MOV R1,#250
D1:DJNZ R1,D1
DJNZ R0,D2
RET
END
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-07
主要就是一个延时程序了,每隔Nms就送出相应的电平,把二极管点亮就可以了
第2个回答  2010-07-07
1ms,时间太短了,无法看出来,都起来 都是亮的。
第3个回答  2010-07-07
不懂你说什么,利用串口空制8个灯?
相似回答