本實驗設單片機采集到某溫度,與參考溫度相比,若等于參考溫度則保溫,大于參考溫度則降溫,小于參考溫度則加溫。目的是掌握8051 CPU的無條件跳轉和條件跳轉指令。
1、控制轉移類指令
程序的順序執行是由程序計數器(PC)自動增1來實現的,要改變程序的執行順序,控制程序的流向,必須通過控制轉移類指令實現,所控制的范圍為程序存儲器的64KB空間。8051MCU的控制轉移類指令,共17條,可分為4組。無條件轉移指令4條,條件轉移指令8條,子程序調用和返回指令4條,空操作指令1條。
2、無條件轉移指令(4條)
LJMP addr16 ;長跳轉指令,跳轉范圍為64K; (PC) ← addr16
AJMP addr11 ;絕對跳轉指令,跳轉范圍為2K;; (PC)=(PC)+2,(PC)0-10 ← addr11。
SJMP rel ;短跳轉指令,跳轉范圍(PC)=(PC)+rel, -128~+127
JMP @A+DPTR ;散轉指令或間接跳轉指令;; (PC)← (A)+(DPTR);A的內容為8位無符號數。
區別:跳轉的范圍不一樣
原則上,用SJMP的地方都可以用LJMP替代。AJMP已很少使用。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.gif (76.21 KB, 下載次數: 76)
下載附件
2021-7-22 04:13 上傳
單片機源程序如下:
- ORG 0000H
- LJMP MAIN
-
- ORG 0100H
- MAIN:
- MOV P0,#0FFH
- MOV R1,#12
- LOOP:CLR P0.0
- LCALL DELAY
- SETB P0.0
- LCALL DELAY
- DJNZ R1,LOOP
-
- STOP:SETB P0.0
- CLR P0.1
- JMP STOP
-
-
- DELAY:
- MOV R2,#255
- D1:MOV R3,#250
- D2:DJNZ R3,D2
- DJNZ R2,D1
- RET
-
- END
復制代碼
仿真代碼51hei附件下載:
實驗四工程.7z
(49.21 KB, 下載次數: 4)
2021-7-22 04:14 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|