标题: 单片机八个按键控制八个灯、流水灯、交通灯程序 [打印本页]
作者: 葛生666 时间: 2019-9-1 21:59
标题: 单片机八个按键控制八个灯、流水灯、交通灯程序
(一)八个按键控制八个灯原理图
程序:
ORG 0000H
Ljmp main
ORG 0100H
main:mov sp,#40H
mov A,#0FFH
mov P1,A
Loop:mov A,P1
mov P0,A;将P1口的数据通过A为媒介传给P0
sjmpLoop;短转移
END1
(二)流水灯
原理图同上
程序:
ORG 0000H
Ljmp main
ORG 0100H
main:mov sp,#50H
mov R1,#01H
mov A,R1
Loop:mov P0,A
LCALLDELAY100;调用延时程序
RLA;循环右移
sjmpLoop
DELAY100: push PSW
CLR RS0
SETB RS1
mov R7,#0C7H
LOOP1:mov R6,#0FAH
LOOP2:DJNZ R6,LOOP2
DJNZ R7,LOOP1
POP PSW
RET
END
仿真时的效果为,发光二极管从上到下依次亮起,不断循环这个过程。
(三)交通灯
原理图
程序:
org 0000h
ljmp main
org 0100H
main: mov SP,#50H
mov R3,#0AH
MOVA,#00H
MOVP1,A
LOOP1: SETB P1.7
SETB p1.0
LOOP2:LCALL DELAY100
DJNZR3,LOOP2;亮一秒
MOVR3,#0AH
CLRP1.0
LOOP3:SETB P1.1
LCALLDELAY100
CLRP1.1
LCALLDELAY100
DJNZR3,LOOP3;闪一秒
CLRP1.1
CLRP1.7
MOVR3,#0AH
SETBP1.2
SETBP1.5
LOOP4:LCALL DELAY100
DJNZ R3,LOOP4;亮一秒
CLRP1.2
CLRP1.5
SETBP1.2
SETBP1.5
MOVR3,#0AH
LOOP5:LCALL DELAY100
DJNZR3,LOOP5;亮一秒
CLRP1.5
MOVR3,#0AH
LOOP6:CLR P1.6
LCALLDELAY100
SETBP1.6
LCALLDELAY100
DJNZR3,LOOP6;闪一秒
CLRP1.6
CLRP1.2
SETBP1.7
SETBP1.0
MOVR3,#0AH
LOOP7:LCALL DELAY100
DJNZR3,LOOP7;亮一秒
CLRP1.2
CLRP1.6
LJMPMAIN
DELAY100:PUSH PSW
CLR RS0
SETB RS1
MOV R7,#0C7H
LOOP8:MOV R6,#0FAH
LOOP9:DJNZ R6,LOOP9
DJNZ R7,LOOP8
POP PSW
RET
END
功能:
-
2.png
(161.14 KB, 下载次数: 75)
作者: 凝香456\ 时间: 2019-11-5 21:32
楼主 是51单片机么?
作者: 葛生666 时间: 2020-9-3 10:19
嗯80c51
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |