色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)匯編語言(一)

          51單片機(jī)匯編語言(一)

          作者: 時(shí)間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
          6.1功能說明:控制單片機(jī)P1端口輸出,使P1.0位所接的LED點(diǎn)亮,其他7只燈熄滅。

          程序:JS01.ASM

          本文引用地址:http://cafeforensic.com/article/201611/321009.htm

          01: MOV A , #11111110B ; 存入欲顯示燈的位置數(shù)據(jù)

          02:MOV P1, A ; 點(diǎn)亮第一只燈

          03: JMP $ ; 保持當(dāng)前的輸出狀態(tài)

          04: END ; 程序結(jié)束

          6.2功能說明:單片機(jī)P1端口接8只LED,點(diǎn)亮第1、3、4、6、7、8只燈。

          程序:JS02.ASM

          01:START: MOV A , #00010010B ; 存入欲顯示燈的位置數(shù)據(jù)

          02: MOV P1, A ; 點(diǎn)亮燈

          03: JMP START ; 重新設(shè)定顯示值

          04: END ; 程序結(jié)束

          6.3功能說明:單片機(jī)P1端口接8只LED,每次點(diǎn)亮一只,向左移動(dòng)點(diǎn)亮,重復(fù)循環(huán)。

          該程序缺少延時(shí)環(huán)節(jié),適合模擬仿真觀察。

          程序:JS03.ASM

          01: START: MOV R0, #8 ;設(shè)左移8次

          02: MOV A, #11111110B ;存入開始點(diǎn)亮燈位置

          03: LOOP: MOV P1, A ;傳送到P1并輸出

          04: RL A ;左移一位

          05: DJNZ R0, LOOP ;判斷移動(dòng)次數(shù)

          06: JMP START ;重新設(shè)定顯示值

          07: END ;程序結(jié)束

          6.4功能說明:單片機(jī)P1端口接8只LED,每次點(diǎn)亮一只,向右移動(dòng)點(diǎn)亮,重復(fù)循環(huán)。

          程序:JS04.ASM

          01: START: MOV R0, #8 ;設(shè)右移8次

          02: MOV A, #01111111B ;存入開始點(diǎn)亮燈位置

          03: LOOP: MOV P1, A ;傳送到P1并輸出

          04: ACALL DELAY ;調(diào)延時(shí)子程序

          05: RR A ;右移一位

          06: DJNZ R0, LOOP ;判斷移動(dòng)次數(shù)

          07: JMP START ;重新設(shè)定顯示值

          08: DELAY: MOV R5,#50 ;

          09: DLY1: MOV R6,#100 ;

          10: DLY2: MOV R7,#100 ;

          11: DJNZ R7,$ ;

          12: DJNZ R6,DLY2 ;

          13: DJNZ R5,DLY1 ;

          14: RET ;子程序返回

          15: END ;程序結(jié)束

          6.5功能說明:單片機(jī)P1端口接8只LED,每次點(diǎn)亮一只,先把右邊的第一只點(diǎn)亮,0.5秒后點(diǎn)亮右數(shù)的第二只燈,第一只熄滅,再過0.5秒點(diǎn)亮右數(shù)的第三只燈,第二只熄滅,…亮燈按此順序由右向左移動(dòng)。當(dāng)亮燈移到左側(cè)后,開始與上述反方向移動(dòng),即亮燈由左向右移動(dòng),重復(fù)循環(huán)。

          程序:JS05.ASM

          01: START: MOV R0, #8 ;設(shè)左移8次

          02: MOV A,#0FEH ;存入開始亮燈位置

          03: LOOP: MOV P1, A ;傳送到P1并輸出

          04: ACALL DELAY ;調(diào)延時(shí)子程序

          05: RL A ;左移一位

          06: DJNZ R0, LOOP ;判斷移動(dòng)次數(shù)

          07: MOV R1, #8 ;設(shè)右移8次

          08; LOOP1: RR A ;右移一位

          09: MOV P1, A ;傳送到P1并輸出

          10: ACALL DELAY ;調(diào)延時(shí)子程序

          11: DJNZ R1,LOOP1 ;判斷移動(dòng)次數(shù)

          12: JMP START ;重新設(shè)定顯示值

          13: DELAY: MOV R5,#25 ;延時(shí)0.5秒子程序

          14: DLY1: MOV R6,#100

          15: DLY2: MOV R7,#100 ;

          16: DJNZ R7,$ ;

          17: DJNZ R6,DLY2 ;

          18: DJNZ R5,DLY1 ;

          19: RET ;子程序返回

          20: END ;

          6.6功能說明:單片機(jī)P1端口接8只LED,每次點(diǎn)亮兩只,先從右邊向左邊移動(dòng)點(diǎn)亮;再從左邊向右邊移動(dòng)點(diǎn)亮,然后閃爍兩次,重復(fù)循環(huán)。

          程序:JS06.ASM

          01: START: MOV R0, #7 ;設(shè)左移7次

          02: MOV A,#0FCH ;存入開始亮燈位置

          03: LOOP: MOV P1, A ;傳送到P1并輸出

          04: ACALL DELAY ;調(diào)延時(shí)子程序

          05: RL A ;左移一位

          06: DJNZ R0, LOOP ;判斷移動(dòng)次數(shù)

          07: MOV R1, #7 ;設(shè)右移7次

          08: LOOP1: RR A ;右移一位

          09: MOV P1, A ;傳送到P1并輸出

          10: ACALL DELAY ;調(diào)延時(shí)子程序

          11: DJNZ R1, LOOP1 ;判斷移動(dòng)次數(shù)

          12: MOV R2, #3 ;設(shè)置閃爍次數(shù)

          13: MOV A, #00H ;設(shè)初始值

          14: LOOP2: MOV P1, A ;P1端口燈亮

          15: ACALL DELAY ;調(diào)用延時(shí)子程序

          16: CPL A ;A取反值

          17: DJNZ R2, LOOP2 ;判斷閃爍次數(shù)

          18: JMP START ;重新設(shè)定顯示值

          19: DELAY: MOV R5, #25

          20: DLY1: MOV R6, #100

          21: DLY2: MOV R7, #100

          22: DJNZ R7, $

          23: DJNZ R6, DLY2

          24: DJNZ R5, DLY1

          25: RET ;子程序返回

          26: END ;程序結(jié)束



          關(guān)鍵詞: 51單片機(jī)匯編語

          評論


          技術(shù)專區(qū)

          關(guān)閉