① 51單片機F0位元組地址後面存的是什麼
51單片機高128位元組地址80H~FFH分配給特殊功能寄存器,但因為並沒有128個寄存器,所以,有很多地址是空的,什麼也沒有。見下表,寄存器B的位元組地址是F0H,再大的地址F1H~FFH就全部是空的,什麼也不存,什麼也不是。
② 51單片機 匯編~ JNB F0,LOOP2;
我還把他復制到keil 裡面看 以為很麻煩的事情了
看你最後問的 才懂你糾結啥
CLR F0;是把F0清零了
LOOP2:
JNB F0,LOOP2;
這句的話如果F0=0 則一直死循環 當時當F0=1的時候就會跳出,你去看對F0的操作 就只有定時中斷裡面了,直到F0=1才繼續
意思就是等待定時器的定時間隔 再繼續操作
用C來說 就是while(!F0) ; //這種實際中經常遇到的, 一個對變數的判斷的死循環,而這個變數只在某個函數裡面才改變 (匯編裡面 定時處理就相當於C裡面的定時處理函數) 直到...才...
ORG 0000H
START:
LJMP MAIN
ORG 000BH ;定時器0中斷入口
LJMP TTCO ;調用定時器服務程序
ORG 0100H
MAIN:
MOV SP, #30H; 開辟棧底
SETB EA; 打開總中斷
SETB ET0;
MOV A, #01;
MOV P1, A;
LOOP:
LCALL TTCO_1S;
RL A;
MOV P1, A;
LJMP LOOP;
ORG 2000H
TTCO: ;定時器0服務程序
MOV TH0, #3CH ;初始化
MOV TL0, #0B0H; 再次初始化定時時間
DJNZ R0, LOOP1;
SETB F0; 在這里F0發生變化F0=1
MOV R0, #10; 再次定循環次數
LOOP1: RETI
TTCO_1S:
MOV TMOD, #01H; 設置定時器為工作方式1
MOV R0, #10; 定循環次數
MOV TH0, #3CH; 初始化定時時間
MOV TL0, #0B0H
SETB TR0;
CLR F0;
LOOP2:
JNB F0,LOOP2;
RET
END
;還是懷念匯編啊 雖然不好移植 但是個個操作都會產生作用
③ 簡述MCS51單片機中程序狀態寄存器PSW各位的含義。
PSW即程序狀態寄存器,Program
Status
Word。
PSW各位的定義如下:
Cy(PSW.7):即PSW的D7位,進位、借位標志。進位、借位CY=1;否則CY=0.
AC(PSW.6):即PSW的D6位,輔助進位、借位標志。當D3向D4有借位或進位時,AC=1;否則AC=0.
F0(PSW.5及PSW.1):即PSW的D5位,用戶標志位;
RS1及RS0(PSW.4及PSW.3):即PSW的D4、D3位,寄存器組選擇控制位;
OV(PSW.2):溢出標志。有溢出OV=1,否則OV=0;
F1(PSW·1):保留位,無定義;
P(PSW·0):奇偶校驗標志位,由硬體置位或清0;存在ACC中的運算結果有奇數個1時P=1,否則P=0。
④ 求解釋下51單片機指令(無符號雙位元組乘法)
F0是個位存儲
把中間的過程值:C,進位標志存進去
到後面再取出來,一起加。
⑤ 什麼叫做單片機中的「溢出標志」
0V——溢出標志,對於單位元組的有符號數,若用最高位(b7)表示正、負號,則只有7位有效數位(b6~b0),能表示-128~+127之間的數。
運算結果超出了這個數值范圍,就會發生溢出,此時0V=1,否則0V=0。此外,在執行乘法指令時,0V=1表示乘積超過255;在執行除法指令時,0V=1表示除數為0。
(5)51單片機f0是啥意思擴展閱讀
定時器中斷由單片機中的定時器溢出而申請的中斷。51單片機中有兩個定時器T0和T1:TF0:定時器T0溢出中斷請求。當定時器TO產生溢出時,TO中斷請求標志TF0置1,請求中斷處理。TF1:定時器T1溢出中斷請求。當定時器Tl產生溢出時,T1中斷請求標志TF1置1,請求中斷處理。
F0,用戶標志位:該位可由用戶置1或清0,用於實現某些測控功能。
AC,半進位標志位:當CPU進行加法(或減法)運算時,如果低半位元組(b3~b0)向高半位元組(b7~b4)有進位(或借位),即b3向b4進位(或借位)時,AC置1,否則清0。AC可用於BCD碼加法時的調整判別位。
CY,進位標志位: 當CPU進行加法(或減法)運算時,如果運算結果的最高位(b7)有進位(或借位),CY則置1,否則清0。
⑥ 51單片機F0是什麼意思
F0是程序狀態字尺做局PSW的第6位,是用戶胡敗標志位。供用戶使用的軟體標志,其功能和內部RAM中位定址區的陵讓各個位相似。
還有一個F1是PSW的第2位,用法與F0相似,你看看單片機的書,找到PSW狀態字就清楚。
⑦ 51單片機psw各個標志位的定義
Bit7
Cy
Bit6
AC
Bit5
F0
Bit4
RS1
Bit3
RS0
Bit2
OV
Bit1
-
Bit0
P
1.
CY(Carry):
CY表示加法進算中的進位和減法運算中的借位,加法運算中有進位或減法運算中有借位則CY位置1,否則為0。
2.
AC(Auxiliary
Carry):
與CY基本相同,不同的是AC表示的是低4位向高4位的進、借位。
3.F0:
該位是用戶自己管理的標志位,用戶可以根據自己的需要來設定。
4.
RS1、RS0:
這兩位用於選擇當前工作寄存器區。8051有8個8位寄存器R0~R7,它們在RAM中的地址可以根據用戶需要來確定。
5.OV:
該位表示運算是否發生了溢出。若運算結果超過了8位有符號數所能表示的范圍,即-128
~
+127,則
OV
=
1。
6.P:
P是奇偶標志位。若累加器A中1的個數為奇數,則P
=
1;若累加器A中1的個數為偶數,則P
=
0。