单片机若干知识整理

本文介绍了8051单片机中长跳转LJMP、短跳转AJMP、长调用LCALL和短调用ACALL指令的区别,包括寻址范围和指令长度。同时,提到了中断返回与子程序返回的异同点,并讨论了单片机晶振的负载电容及其对谐振频率和输出幅度的影响。
AI助手已提取文章相关产品:

(1)8051单片机指令系统中有长跳转LJMP,长调用LCALL指令、短跳转AJMP,短调用ACALL指令区别?

在实际应用中,可从寻址范围和指令长度两个方面来选择长跳转指令LJMP和短跳转指令AJMP、长调用指令LCALL和短调用指令ACALL。
长跳转LJMP在64KB范围内转移,而短跳转AJMP只能在2KB空间转移。

长调用LCALL调用位于64KB程序空间的子程序,而短调用ACALL调用位于2KB程序空间范围的子程序。

AJMP、ACALL指令代码长度为2个字节;LJMP、LCALL指令代码长度为3个字节。  

http://www.dpj100.com/zhiling/20090903427.html

(2)中断返回与子程序返回的相同点与区别点

调用中断服务子程序和调用子程序时都会把当前偏移地址的下一地址压栈,
相同点:
从堆栈中弹出由调用指令压入堆栈保护的断点地址,并送入指令计数器pc,函数返回到断点处继续执行;
区别点:
调用子程序的返回指令是RET,中断服务子程序返回指令时RETI,
RET不影响标志位,但RETI会清除内部相应的中断状态寄存器。
http://zhidao.baidu.com/question/81215113
(3)编写中断函数应该注意的几点
两个相邻中断服务程序的入口地址相距只有8个字节,一般的中断服务子程序是放不下的,应该放在其它位置,使用LJMP/AJMP跳转调用。
硬件LCALL调用,只是将PC内的断点地址压入堆栈保护,所以要保护现场(对其他寄存器(程序状态字寄存器PSW、累加器A等)的内容作保存)。

(4)单片机晶振的两个电容的作用

这两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地的电容,一般在几十皮发。它会影响到晶振的谐振频率和输出幅度,

晶振与两个电容一起构成一个电容三点式振荡器,晶体旁边的两个电容接地, 实际上就是电容三点式电路的分压电容,当两个电容量相等时, 反馈系数是 0.5, 满足振荡条件。

您可能感兴趣的与本文相关内容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值