LED燈與匯編語(yǔ)言
大小:0.1 MB 人氣: 2017-09-06 需要積分:0
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評(píng)論(0)
標(biāo)簽:led(642741)匯編語(yǔ)言(34963)
1、如何點(diǎn)亮一個(gè)LED發(fā)光管
LOOP:CLR P1.0;用CLR命令使P1.1輸出低電平,點(diǎn)亮LED
CLR P1.2;用CLR命令使P1.1輸出低電平,點(diǎn)亮LED
LCALL DELAY;調(diào)用延時(shí)子程序DELAY
AJMP LOOP;通過(guò)AJMP執(zhí)行LOOP,從最開(kāi)始循環(huán)執(zhí)行,無(wú)限循環(huán)下去
DELAY: MOV R7,#250
D1: MOV R6,#250
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END
?
2、讓點(diǎn)亮后的LED發(fā)光管可以閃動(dòng)
LOOP:SETB P1.0 ;用SETB命令使P1.0輸出高電平,熄滅LED
SETB P1.2 ;用SETB命令使P1.2輸出高電平,熄滅LED
LCALL DELAY;調(diào)用延時(shí)子程序DELA
CLR P1.0;用CLR命令使P1.1輸出低電平,點(diǎn)亮LED
CLR P1.2;用CLR命令使P1.1輸出低電平,點(diǎn)亮LED
LCALL DELAY;調(diào)用延時(shí)子程序DELAY
AJMP LOOP;通過(guò)AJMP執(zhí)行LOOP,從最開(kāi)始循環(huán)執(zhí)行,無(wú)限循環(huán)下去
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??; 初始點(diǎn)亮LED1?
?MOV?R7,#0FEH??; 保存P0
MAIN_LP:
?LCALL?DELAY???; 延時(shí)
?MOV?A,R7???;?
?RL?A???; 循環(huán)移位
?MOV?R7,A???; 保存到R7
?MOV?P0,A???; 點(diǎn)亮下一個(gè)LED
?JMP?MAIN_LP???; 不停循環(huán)
;===========================================================
DELAY:?????; 延時(shí)子程序
?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流水燈(移位方式)
;用移位方式實(shí)現(xiàn)流水燈;///////////////////////////////////////////?????
org 00h????;程序上電從00h開(kāi)始
ajmp?main??;跳轉(zhuǎn)到主程序
org?0030h???;主程序起始地址
main:
;?mov?p2,#0f0h
?mov a,#0feh??;給A賦值成11111110
loop:?
?mov?p0,a??;將A送到P1口,發(fā)光二極管低電平點(diǎn)亮
?lcall delay??;調(diào)用延時(shí)子程序
?rl a???;累加器A循環(huán)左移一位
?ajmp?loop?;重新送P1顯示
delay:
?mov r3,#20??;最外層循環(huán)二十次
d1:
?mov r4,#80??;次外層循環(huán)八十次
d2:
?mov r5,#250??;最內(nèi)層循環(huán)250次
?djnz r5,$??;總共延時(shí)2us*250*80*20=0.8S
?djnz r4,d2
?djnz r3,d1
?ret
?end
?
5、正反流水燈
? ? ? ?;左移? star: mov r3,#8???????? ;設(shè)置流水位數(shù)
??????? mov p0,#11111110b ;從p0.0開(kāi)始
? loop: acall d01s
??????? mov a,p0????????? ;讀取p0當(dāng)前數(shù)據(jù)到acc
??????? rl a????????????? ;左移一位
??????? mov p0,a????????? ;將左移的數(shù)據(jù)再送到p1
??????? djnz r3,loop????? ;沒(méi)有完成8位繼續(xù)
??????? ;******************
??????? mov p0,#0ffh????? ;熄滅所有燈
??????? ;******************
??????? ;右移
??????? mov r3,#8???????? ;設(shè)置流水位數(shù)
??????? mov p0,#01111111b ;從p0.7開(kāi)始
? loop1: acall d01s
??????? mov a,p0????????? ;讀取p0當(dāng)前數(shù)據(jù)到acc
??????? rr a????????????? ;右移一位
??????? mov p0,a????????? ;將左移的數(shù)據(jù)再送到p1
??????? djnz r3,loop1???? ;沒(méi)有完成8位繼續(xù)
??????? ljmp star???????? ;完成后返回到開(kāi)始再來(lái)
? ;延時(shí)子程序
?? d01s: mov r0,#255
? d01l1: mov r1,#198
???????? djnz r1,$
???????? djnz r0,d01l1
???????? ret
???????? end
1、如何點(diǎn)亮一個(gè)LED發(fā)光管
LOOP:CLR P1.0;用CLR命令使P1.1輸出低電平,點(diǎn)亮LED
CLR P1.2;用CLR命令使P1.1輸出低電平,點(diǎn)亮LED
LCALL DELAY;調(diào)用延時(shí)子程序DELAY
AJMP LOOP;通過(guò)AJMP執(zhí)行LOOP,從最開(kāi)始循環(huán)執(zhí)行,無(wú)限循環(huán)下去
DELAY: MOV R7,#250
D1: MOV R6,#250
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END
?
2、讓點(diǎn)亮后的LED發(fā)光管可以閃動(dòng)
LOOP:SETB P1.0 ;用SETB命令使P1.0輸出高電平,熄滅LED
SETB P1.2 ;用SETB命令使P1.2輸出高電平,熄滅LED
LCALL DELAY;調(diào)用延時(shí)子程序DELA
CLR P1.0;用CLR命令使P1.1輸出低電平,點(diǎn)亮LED
CLR P1.2;用CLR命令使P1.1輸出低電平,點(diǎn)亮LED
LCALL DELAY;調(diào)用延時(shí)子程序DELAY
AJMP LOOP;通過(guò)AJMP執(zhí)行LOOP,從最開(kāi)始循環(huán)執(zhí)行,無(wú)限循環(huán)下去
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??; 初始點(diǎn)亮LED1?
?MOV?R7,#0FEH??; 保存P0
MAIN_LP:
?LCALL?DELAY???; 延時(shí)
?MOV?A,R7???;?
?RL?A???; 循環(huán)移位
?MOV?R7,A???; 保存到R7
?MOV?P0,A???; 點(diǎn)亮下一個(gè)LED
?JMP?MAIN_LP???; 不停循環(huán)
;===========================================================
DELAY:?????; 延時(shí)子程序
?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流水燈(移位方式)
;用移位方式實(shí)現(xiàn)流水燈;///////////////////////////////////////////?????
org 00h????;程序上電從00h開(kāi)始
ajmp?main??;跳轉(zhuǎn)到主程序
org?0030h???;主程序起始地址
main:
;?mov?p2,#0f0h
?mov a,#0feh??;給A賦值成11111110
loop:?
?mov?p0,a??;將A送到P1口,發(fā)光二極管低電平點(diǎn)亮
?lcall delay??;調(diào)用延時(shí)子程序
?rl a???;累加器A循環(huán)左移一位
?ajmp?loop?;重新送P1顯示
delay:
?mov r3,#20??;最外層循環(huán)二十次
d1:
?mov r4,#80??;次外層循環(huán)八十次
d2:
?mov r5,#250??;最內(nèi)層循環(huán)250次
?djnz r5,$??;總共延時(shí)2us*250*80*20=0.8S
?djnz r4,d2
?djnz r3,d1
?ret
?end
?
5、正反流水燈
? ? ? ?;左移? star: mov r3,#8???????? ;設(shè)置流水位數(shù)
??????? mov p0,#11111110b ;從p0.0開(kāi)始
? loop: acall d01s
??????? mov a,p0????????? ;讀取p0當(dāng)前數(shù)據(jù)到acc
??????? rl a????????????? ;左移一位
??????? mov p0,a????????? ;將左移的數(shù)據(jù)再送到p1
??????? djnz r3,loop????? ;沒(méi)有完成8位繼續(xù)
??????? ;******************
??????? mov p0,#0ffh????? ;熄滅所有燈
??????? ;******************
??????? ;右移
??????? mov r3,#8???????? ;設(shè)置流水位數(shù)
??????? mov p0,#01111111b ;從p0.7開(kāi)始
? loop1: acall d01s
??????? mov a,p0????????? ;讀取p0當(dāng)前數(shù)據(jù)到acc
??????? rr a????????????? ;右移一位
??????? mov p0,a????????? ;將左移的數(shù)據(jù)再送到p1
??????? djnz r3,loop1???? ;沒(méi)有完成8位繼續(xù)
??????? ljmp star???????? ;完成后返回到開(kāi)始再來(lái)
? ;延時(shí)子程序
?? d01s: mov r0,#255
? d01l1: mov r1,#198
???????? djnz r1,$
???????? djnz r0,d01l1
???????? ret
???????? end
非常好我支持^.^
(2) 100%
不好我反對(duì)
(0) 0%
下載地址
LED燈與匯編語(yǔ)言下載
相關(guān)電子資料下載
- 洲明UCine LED全系列產(chǎn)品獲TüV南德、美國(guó)UL“雙認(rèn)證” 123
- 耐壓100V10A LED降壓恒流PWM調(diào)光芯片在汽車車燈調(diào)光電源的應(yīng)用 37
- 三星宣布正開(kāi)發(fā)RGB OLEDoS 蘋果考慮采用 249
- 簡(jiǎn)易LED恒流電路分析 43
- 單電池點(diǎn)亮白光LED電路分析 28
- 低電壓光控LED閃光燈電路原理圖講解 44
- LED三色流水燈(1亮2滅)電路原理圖講解 49
- LED三色流水燈(2亮1滅)電路原理圖講解 71
- LED隨機(jī)抽獎(jiǎng)器電路原理圖講解 50
- 模擬電子蠟燭電路原理圖講解 37