吴忠躺衫网络科技有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>匯編編程>

LED燈與匯編語言

大小:0.1 MB 人氣: 2017-09-06 需要積分:0

1、如何點亮一個LED發光管

LOOP:
CLR P1.0;用CLR命令使P1.1輸出低電平,點亮LED
CLR P1.2;用CLR命令使P1.1輸出低電平,點亮LED
LCALL DELAY;調用延時子程序DELAY
AJMP LOOP;通過AJMP執行LOOP,從最開始循環執行,無限循環下去
DELAY: MOV R7,#250
D1: MOV R6,#250
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END
?

2、讓點亮后的LED發光管可以閃動

LOOP:
SETB P1.0 ;用SETB命令使P1.0輸出高電平,熄滅LED
SETB P1.2 ;用SETB命令使P1.2輸出高電平,熄滅LED
LCALL DELAY;調用延時子程序DELA
CLR P1.0;用CLR命令使P1.1輸出低電平,點亮LED
CLR P1.2;用CLR命令使P1.1輸出低電平,點亮LED
LCALL DELAY;調用延時子程序DELAY
AJMP LOOP;通過AJMP執行LOOP,從最開始循環執行,無限循環下去
DELAY: MOV R7,#250
D1: MOV R6,#250
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END
?

?

?

3、LED流水燈

?ORG?0000H
?LJMP?MAIN
MAIN:
?MOV?P0,#0FEH??; 初始點亮LED1?
?MOV?R7,#0FEH??; 保存P0
MAIN_LP:
?LCALL?DELAY???; 延時
?MOV?A,R7???;?
?RL?A???; 循環移位
?MOV?R7,A???; 保存到R7
?MOV?P0,A???; 點亮下一個LED
?JMP?MAIN_LP???; 不停循環
;===========================================================
DELAY:?????; 延時子程序
?MOV?R0,#0FFH
?MOV?R1,#0FFH
DLY_LP:
?NOP
?NOP
?DJNZ?R0,DLY_LP
?MOV?R0,#0FFH
?DJNZ?R1,DLY_LP?
?RET
?
?END

?

4、LED流水燈(移位方式)

;用移位方式實現流水燈
;///////////////////////////////////////////?????
org 00h????;程序上電從00h開始
ajmp?main??;跳轉到主程序
org?0030h???;主程序起始地址
main:
;?mov?p2,#0f0h
?mov a,#0feh??;給A賦值成11111110
loop:?
?mov?p0,a??;將A送到P1口,發光二極管低電平點亮
?lcall delay??;調用延時子程序
?rl a???;累加器A循環左移一位
?ajmp?loop?;重新送P1顯示
delay:
?mov r3,#20??;最外層循環二十次
d1:
?mov r4,#80??;次外層循環八十次
d2:
?mov r5,#250??;最內層循環250次
?djnz r5,$??;總共延時2us*250*80*20=0.8S
?djnz r4,d2
?djnz r3,d1
?ret
?end
?

5、正反流水燈

? ? ? ?;左移
? star: mov r3,#8???????? ;設置流水位數
??????? mov p0,#11111110b ;從p0.0開始
? loop: acall d01s
??????? mov a,p0????????? ;讀取p0當前數據到acc
??????? rl a????????????? ;左移一位
??????? mov p0,a????????? ;將左移的數據再送到p1
??????? djnz r3,loop????? ;沒有完成8位繼續
??????? ;******************
??????? mov p0,#0ffh????? ;熄滅所有燈
??????? ;******************
??????? ;右移
??????? mov r3,#8???????? ;設置流水位數
??????? mov p0,#01111111b ;從p0.7開始
? loop1: acall d01s
??????? mov a,p0????????? ;讀取p0當前數據到acc
??????? rr a????????????? ;右移一位
??????? mov p0,a????????? ;將左移的數據再送到p1
??????? djnz r3,loop1???? ;沒有完成8位繼續
??????? ljmp star???????? ;完成后返回到開始再來
? ;延時子程序
?? d01s: mov r0,#255
? d01l1: mov r1,#198
???????? djnz r1,$
???????? djnz r0,d01l1
???????? ret
???????? end

1、如何點亮一個LED發光管

LOOP:
CLR P1.0;用CLR命令使P1.1輸出低電平,點亮LED
CLR P1.2;用CLR命令使P1.1輸出低電平,點亮LED
LCALL DELAY;調用延時子程序DELAY
AJMP LOOP;通過AJMP執行LOOP,從最開始循環執行,無限循環下去
DELAY: MOV R7,#250
D1: MOV R6,#250
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END
?

2、讓點亮后的LED發光管可以閃動

LOOP:
SETB P1.0 ;用SETB命令使P1.0輸出高電平,熄滅LED
SETB P1.2 ;用SETB命令使P1.2輸出高電平,熄滅LED
LCALL DELAY;調用延時子程序DELA
CLR P1.0;用CLR命令使P1.1輸出低電平,點亮LED
CLR P1.2;用CLR命令使P1.1輸出低電平,點亮LED
LCALL DELAY;調用延時子程序DELAY
AJMP LOOP;通過AJMP執行LOOP,從最開始循環執行,無限循環下去
DELAY: MOV R7,#250
D1: MOV R6,#250
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END
?

?

?

3、LED流水燈

?ORG?0000H
?LJMP?MAIN
MAIN:
?MOV?P0,#0FEH??; 初始點亮LED1?
?MOV?R7,#0FEH??; 保存P0
MAIN_LP:
?LCALL?DELAY???; 延時
?MOV?A,R7???;?
?RL?A???; 循環移位
?MOV?R7,A???; 保存到R7
?MOV?P0,A???; 點亮下一個LED
?JMP?MAIN_LP???; 不停循環
;===========================================================
DELAY:?????; 延時子程序
?MOV?R0,#0FFH
?MOV?R1,#0FFH
DLY_LP:
?NOP
?NOP
?DJNZ?R0,DLY_LP
?MOV?R0,#0FFH
?DJNZ?R1,DLY_LP?
?RET
?
?END

?

4、LED流水燈(移位方式)

;用移位方式實現流水燈
;///////////////////////////////////////////?????
org 00h????;程序上電從00h開始
ajmp?main??;跳轉到主程序
org?0030h???;主程序起始地址
main:
;?mov?p2,#0f0h
?mov a,#0feh??;給A賦值成11111110
loop:?
?mov?p0,a??;將A送到P1口,發光二極管低電平點亮
?lcall delay??;調用延時子程序
?rl a???;累加器A循環左移一位
?ajmp?loop?;重新送P1顯示
delay:
?mov r3,#20??;最外層循環二十次
d1:
?mov r4,#80??;次外層循環八十次
d2:
?mov r5,#250??;最內層循環250次
?djnz r5,$??;總共延時2us*250*80*20=0.8S
?djnz r4,d2
?djnz r3,d1
?ret
?end
?

5、正反流水燈

? ? ? ?;左移
? star: mov r3,#8???????? ;設置流水位數
??????? mov p0,#11111110b ;從p0.0開始
? loop: acall d01s
??????? mov a,p0????????? ;讀取p0當前數據到acc
??????? rl a????????????? ;左移一位
??????? mov p0,a????????? ;將左移的數據再送到p1
??????? djnz r3,loop????? ;沒有完成8位繼續
??????? ;******************
??????? mov p0,#0ffh????? ;熄滅所有燈
??????? ;******************
??????? ;右移
??????? mov r3,#8???????? ;設置流水位數
??????? mov p0,#01111111b ;從p0.7開始
? loop1: acall d01s
??????? mov a,p0????????? ;讀取p0當前數據到acc
??????? rr a????????????? ;右移一位
??????? mov p0,a????????? ;將左移的數據再送到p1
??????? djnz r3,loop1???? ;沒有完成8位繼續
??????? ljmp star???????? ;完成后返回到開始再來
? ;延時子程序
?? d01s: mov r0,#255
? d01l1: mov r1,#198
???????? djnz r1,$
???????? djnz r0,d01l1
???????? ret
???????? end

非常好我支持^.^

(2) 100%

不好我反對

(0) 0%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      百家乐官网视频麻将游戏| 百家乐官网平台开发| 网上百家乐官方网站| 最好的百家乐官网好评平台都有哪些| 太阳城现金| 百家乐官网海滨网现场| 璧山县| 网上百家乐是假还是真的| 百家乐官网怎么看大小| 河南省| 大发888娱乐城大发888大发网| 百家乐稳中一注法| 百家乐官网赌大小| 百家乐官网视频游戏视频| 德州扑克怎么玩的| 战神百家乐的玩法技巧和规则 | 百家乐官网游戏软件出售| bet365最快最稳定| 威尼斯人娱乐网赌| 致胜百家乐软件| 百家乐官网路有几家| 最新百家乐官网电脑游戏机| 仕達屋娱乐城| 皇廷国际| bet365注册 jxhymp| 全讯网网址xb112| 大发888娱乐城dknmwd| 东方太阳城三期琴湖湾| 威尼斯人娱乐网送38元彩金| 威尼斯人娱乐城安全吗| 百家乐赌场娱乐网规则| 百家乐学院教学视频| 百家乐官网开闲的几率多大| 金龍百家乐官网的玩法技巧和规则| 足球百家乐官网投注计算| 澳门百家乐官网大家乐眼| 百家乐官网连线游戏下载| 凯时百家乐官网技巧| 百家乐官网博彩桌出租| 澳门百家乐官网公试打法| 百家乐官网澳门有网站吗|