① 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。