① 51单片机问题: SP=60 A=90 push A 执行这条语句后,(SP)= (
(SP)=61因51单片机堆堆是向上生长的
(60H)=90答案可能是这样的,但应该错误的,实际上是(61H)=90因51单片机压栈是先上移指针,后压入数据60H单元并没有被占用
A=90这是没说的,入栈并没有改变A的值
并且不知是你写错了还是出题人写错了SP=60 不是16进制 (60H)又变成
16进制
② MCS-51系列单片机系统中,当(SP)=60H时,执行“PUSH 50H”指令后,SP的值为多
MCS-51系列单片机系统中,当(SP)=60H时,执行“PUSH 50H”指令后,SP的值为61H
③ 51单片机中堆栈操作PUSH和POP的操作数不是不只能用直接寻址方式
PUSH
A
错,如果是PUSH
ACC就对了
PUSH
B
对
PUSH
PSW
对
PUSH
R0
错
51单片机中,所有SFR寄存器可以用名称入栈,通用寄存器只能用直接寻址
④ 简述51单片机堆栈进栈和出栈操作规则
1.堆栈用于响应中断或调用子程序时保护断点地址,也可通过栈操作指令(push
和pop保护和恢复现场)其中入栈时先SP+1再将内容压入当前SP所指示的堆栈单元
中,出栈则先将SP所指示的内部ram单元中内容送入直接地址寻址的单元中,再将
SP减1.
2.中断允许寄存器的功能是控制CPU对中断的开放和屏蔽以及每个中断源是否允许
中断结构包括EA(CPU中断总允许位),ES(串行口中断允许位)ET1(定时器1中
断允许位)EX1(外部中断1中断允许位)ET0(定时器0中断允许位)EX0(外部中
断0中断允许位)
3.T机=12/fosc=12/(6*E6)=2us
X=2*E13-T/T机=8192-200/2=8092=1F9CH=1111
1100
1110
0B
因为TL1的高3位未用,
修正后X=1111
1100
0001
1100B=FC1CH
4.LJMP为长转移指令,可转向64KB程序存储器的任一单元;SJMP为相对转移指令
,偏移范围-128~+127共259字节;AJMP为绝对转移指令,转移目的在指令后一个
存储单位所在2K区间内。
5.按键抖动:在触点抖动期间检测按键的通与断状态,可能导致判断出错,即按
键一次按下或释放被错误认为是多次操作。
6.汽车的温控系统,测控系统,防盗报警等多项系统中应用单片机。汽车电子中
涉及A/D和D/A转换的模块基本都会有单片机的存在。以下以汽车倒车雷达为例,
雷达控制部分由89C51单片机构成,前端数据采集由超声波测距,系统由发射和接
收装置来获取数据,根据所测得的距离来判断是否调用声音报警程序,距离小于
预置点时,调用报警模块。
⑤ 单片机中PUSH 2 PUSH 1 是什么意思
表示两条压栈指令,为:
PUSH 02H 及PUSH 01H的简写形式。
其中的02H、01H,都是片内RAM的地址号码,工作寄存器区0的R2、R1的地址。
这两条指令是将R1和R2的内容压栈,进行保护
⑥ 51单片机汇编中PUSH POP中我要压入R3中的内容 咋办
要看你使用哪个工作组寄存器,上电默认0组,假如你使用下面的
00H—07H 0组 PUSH 03H pop 03H 将R3中的内容压栈 再还原
08H—0fH 1组 PUSH 0bH pop 0bH
10H—07H 2组 PUSH 13H pop 13H
18H—1fH 3组 PUSH 1bH pop 1bH
push pop 只能使用直接寻址的方式
⑦ 51单片机中断是否自动PUSH拜托各位大神
不会,它只会自动把SP保存,PUSH进去,但DPTR A B等是不会的,因为中断不知道会在什么时候来临,所以这三个寄存器也要PUSH
满意请采纳
⑧ 51单片机中堆栈操作PUSH和POP的操作数不是不只能用直接寻址方式
PUSH A 错,如果是PUSH ACC就对了
PUSH B 对
PUSH PSW 对
PUSH R0 错
51单片机中,所有SFR寄存器可以用名称入栈,通用寄存器只能用直接寻址
⑨ 简述51单片机堆栈进栈和出栈操作规则
1.堆栈用于响应中断或调用子程序时保护断点地址,也可通过栈操作指令(push
和pop保护和恢复现场)其中入栈时先SP+1再将内容压入当前SP所指示的堆栈单元
中,出栈则先将SP所指示的内部ram单元中内容送入直接地址寻址的单元中,再将
SP减1.
2.中断允许寄存器的功能是控制CPU对中断的开放和屏蔽以及每个中断源是否允许
中断结构包括EA(CPU中断总允许位),ES(串行口中断允许位)ET1(定时器1中
断允许位)EX1(外部中断1中断允许位)ET0(定时器0中断允许位)EX0(外部中
断0中断允许位)
3.T机=12/fosc=12/(6*E6)=2us
X=2*E13-T/T机=8192-200/2=8092=1F9CH=1111 1100 1110 0B
因为TL1的高3位未用, 修正后X=1111 1100 0001 1100B=FC1CH
4.LJMP为长转移指令,可转向64KB程序存储器的任一单元;SJMP为相对转移指令
,偏移范围-128~+127共259字节;AJMP为绝对转移指令,转移目的在指令后一个
⑩ MCS-51单片机中的PUSH POP指令。
经过压栈PUSH的操作:
MCS-51单片机中堆栈的地址是越来越大;
80x86的堆栈的地址是越来越小。
指向栈底,还是栈底地址减一?
--按照51、或者86的不同规律,推算即可。