找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3226|回復(fù): 0
收起左側(cè)

單片機(jī)匯編語言五 閃爍固定次數(shù) 使用跳轉(zhuǎn)指令實(shí)現(xiàn)分支和循環(huán) DJNZ等

[復(fù)制鏈接]
ID:808939 發(fā)表于 2021-7-21 19:18 | 顯示全部樓層 |閱讀模式
本實(shí)驗(yàn)為LED1閃爍固定次數(shù)后LED2亮。目的是為了1、掌握使用跳轉(zhuǎn)指令實(shí)現(xiàn)分支和循環(huán)。
1、條件轉(zhuǎn)移指令(8條)
條件轉(zhuǎn)移1.png 條件轉(zhuǎn)移2.png

JC是判斷C進(jìn)位標(biāo)志是否為1,為1則跳轉(zhuǎn)到指定位置。JC指令判斷有借位則轉(zhuǎn)移,也就是說兩數(shù)相減為負(fù)轉(zhuǎn)移。JBC指令判斷該位為1則轉(zhuǎn)移,同時(shí)將該位置0。
條件轉(zhuǎn)移指令只能轉(zhuǎn)移到離本指令-128~+127字節(jié)范圍內(nèi),是一種相對(duì)轉(zhuǎn)移形式,當(dāng)要往較遠(yuǎn)單元地址條件轉(zhuǎn)移時(shí),可以在本指令-128~+127字節(jié)范圍內(nèi)安排一條無條件轉(zhuǎn)移指令作為中轉(zhuǎn)指令即可。在使用簡單條件跳轉(zhuǎn)指令時(shí),必須明確相應(yīng)標(biāo)志位的變化
條件轉(zhuǎn)移3.png

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png

單片機(jī)源程序如下:
  1. ORG 0000H
  2.         LJMP MAIN
  3.         
  4.         ORG 0100H
  5.                 MAIN:
  6.                 MOV P0,#0FFH
  7.                 MOV A,P3
  8.                 CJNE A,#30H,LOOP
  9.                 SJMP Hold
  10.                 LOOP:JC Heat
  11.                 SJMP Cool
  12.                
  13.                 Cool:CLR P0.0
  14.                 LCALL DELAY
  15.                 LJMP MAIN
  16.                
  17.                 Heat:CLR P0.1
  18.                 LCALL DELAY
  19.                 LJMP MAIN
  20.                
  21.                 Hold:CLR P0.2
  22.                 LCALL DELAY
  23.                 LJMP MAIN
  24.                
  25.                 DELAY:
  26.                 MOV R2,#255
  27.                 D1:MOV R3,#250
  28.                 D2:DJNZ R3,D2
  29.                 DJNZ R2,D1
  30.                 RET
  31.                 END
復(fù)制代碼

仿真代碼51hei附件下載:
實(shí)驗(yàn)五工程.7z (56.5 KB, 下載次數(shù): 3)

評(píng)分

參與人數(shù) 1黑幣 +40 收起 理由
admin + 40 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表