日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

80c51流水灯程序汇编语言,单片机闪烁灯流水灯汇编代码大全

發布時間:2023/12/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 80c51流水灯程序汇编语言,单片机闪烁灯流水灯汇编代码大全 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、單片機AT89C51的P2口接8個發光二極管,讓這8個發光二極管顯示閃爍功能,即八燈亮2S,熄滅3S,如此循環。

參考程序:

ORG 0000H

start: MOV P1,#0H

CALL delay

MOV P1,#0FFH

CALL delay

CALL delay

LJMP start

delay:

MOV R7,#200

d2: MOV R6,#250

d1: DJNZ R6,d1

DJNZ R7,d2

RET

END

;200*250次*2*1us=1000ms=1s

2、單片機AT89C51的P1口接8個發光二極管,讓這8個發光二極管能夠雙燈左移之后再雙燈右移,

形成霹靂燈的效果,如此循環5次后全滅,延時0.5S。燈右移,形成霹靂燈的效果,

如此循環5次后全滅。延時0.5S。

參考程序1:

ORG 0000H

MOV A,#11111100B

start:

MOV P1,A

CALL delay

RL A

RL A

INC R0

CJNE R0,#4,start

MOV R0,#00H

s:

RR A

RR A

MOV P1,A

CALL delay

INC R0

CJNE R0,#4,s

MOV R0,#00H

LJMP start

delay: MOV R5,#100

k1: MOV R6,#250

k2: MOV R7,#250

k3: DJNZ R7,k3

DJNZ R6,k2

DJNZ R5,k1

RET

END

參考程序2:

ORG 0000H

MOV R0,#5

start:

MOV P2,#11111100B

CALL delay0_5s

MOV P2,#11110011B

CALL delay0_5s

MOV P2,#11001111B

CALL delay0_5s

MOV P2,#00111111B

CALL delay0_5s

MOV P2,#11001111B

CALL delay0_5s

MOV P2,#11110011B

CALL delay0_5s

MOV P2,#11111100B

CALL delay0_5s

DJNZ R0,start

MOV P2,#0FFH

SJMP $

delay0_5s:

MOV R7,#20

d3: MOV R6,#200

d2: MOV R5,#250

d1: NOP

NOP

DJNZ R5,d1

DJNZ R6,d2

DJNZ R7,d3

RET

END

3、單片機AT89C51的P2口接8個發光二極管,讓這8個發光二極管先交互閃爍5次,

然后雙燈左移之后再雙燈右移,如此循環,形成流水燈的效果,延時0.5S。

ORG 0000H

MOV R0,#5

start:

MOV P1,#10101010B

CALL delay

MOV P1,#01010101B

CALL delay

DJNZ R0,start

MOV R0,#5

MOV A,#11111100B

s1: MOV P1,A

CALL delay

RL A

RL A

CJNE A,#11111100B,s1

s2: RR A

RR A

MOV P1,A

CALL delay

CJNE A,#11111100B,s2

JMP start

delay: MOV R5,#100

k1: MOV R6,#250

k2: MOV R7,#250

k3: DJNZ R7,k3

DJNZ R6,k2

DJNZ R5,k1

RET

END

4、單片機AT89C51的P1口和P2口分別接八個發光二極管,P2口八燈實現左移,延時0.5S,

要求左移第一次,P1.0對應燈點亮,P2口燈左移第二次,P1.1對應燈亮,如此延續下去,

直至左移八次后,所有燈全滅。

ORG 0000H

MOV R0,#11111110B

start: MOV A,#11111110B

MOV P2,A

s: CALL delay

RL A

MOV P2,A

CALL delay

CJNE A,#01111111B,s

MOV A,R0

MOV P1,A

RL A

MOV R0,A

JMP start

delay: MOV R5,#100

k1: MOV R6,#250

k2: MOV R7,#250

k3: DJNZ R7,k3

DJNZ R6,k2

DJNZ R5,k1

RET

END

5、單片機AT89C51的P2.0、P2.1和P2.2分別接按鈕開關PB1、PB2和PB3;P1.0接一個LED。按下PB1,

則LED亮;按下PB2則LED滅;按下PB3則LED閃爍。延時為0.1S。

原理圖:

參考程序:

ORG 0000H

MOV P2,#0FFH

s1: JNB P2.0,s3

JNB P2.1,s2

JNB P2.2,s4

JMP s1

s2: SETB P1.0

JMP s1

s3: CLR P1.0

JMP s1

s4: SETB P1.0

CALL delay

CLR P1.0

CALL delay

JNB P2.0,s3

JNB P2.1,s2

JMP s4

delay: MOV R5,#100

k1: MOV R6,#250

k2: MOV R7,#250

k3: DJNZ R7,k3

DJNZ R6,k2

DJNZ R5,k1

RET

END

6、單片機AT89C51的P2.0、P2.1和P2.2分別接按鈕開關PB1、PB2和PB3;P1口接8個LED。

按下PB1,則8個LED閃爍;按下PB2則8個LED單燈右移;按下PB3則8個LED單燈左移。延時為0.1S。

源代碼:

ORG 0

MOV P2,#0FFH

LOOP: JNB P2.0,LOOP_1

JNB P2.1,LOOP_2

JNB P2.2,LOOP_3

JMP LOOP

LOOP_1: MOV R0,#2

LOOP_1_1: MOV A,#10101010B

MOV P0,A

CALL D100MS

MOV A,#01010101B

MOV P0,A

CALL D100MS

MOV P0,#11111111B

DJNZ R0,LOOP_1_1

LOOP_1_2: JB P2.0,LOOP

JMP LOOP_1_2

LOOP_2: MOV A,#11111110B

MOV R0,#8

LOOP_2_1: MOV P0,A

RL A

CALL D100MS

DJNZ R0,LOOP_2_1

MOV P0,#11111111B

LOOP_2_2: JB P2.1,LOOP

JMP LOOP_2_2

LOOP_3: MOV A,#01111111B

MOV R0,#8

LOOP_3_1: MOV P0,A

RR A

CALL D100MS

DJNZ R0,LOOP_3_1

MOV P0,#11111111B

LOOP_3_2: JB P2.2,LOOP

JMP LOOP_3_2

D100MS: MOV R7,#250

D1: MOV R6,#200

DJNZ R6,$

DJNZ R7,D1

RET

END

7、單片機AT89C51的P2口分別接8個指撥開關;P0口接8個LED。指撥開關閉合之前8個LED全亮,

閉合指撥開關P2.0,則P0.0所對應的LED滅,以此類推。

上一頁

1

2

下一頁

分享給小伙伴們:

評論

我來說兩句……

驗證碼:

技術專區

總結

以上是生活随笔為你收集整理的80c51流水灯程序汇编语言,单片机闪烁灯流水灯汇编代码大全的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。