微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 找到地址去送信——单片机寻址方式学习心得

找到地址去送信——单片机寻址方式学习心得

时间:11-23 来源:互联网 点击:
刚开始学单片机时,由于没有数字电路和微机原理的基础,很多概念都不是很清楚,特别是在学习单片机原理的时候,那些概念弄得烦不胜烦。尤其是什么寄存器、寻址、地址、指针……都快把我折磨得疯掉了。想放弃又觉得不甘心,于是就硬着头皮狂啃了几天,才有点了解。现将心得记录如下,能力有限,如果有错误或不足请指正。

CPU执行指令过程:由程序存储器(ROM)中读取指令代码,送入指令寄存器中,经过译码器译后由定时于控制电路发出相应的控制信号,完成控制功能。
程序计数器(PC):存放即将要执行的指令地址的地方。
寄存器:寄存器是CPU在运算过程中用于存放操作数的地方。相当与一个加工厂的货物暂时存放点。在这货物暂时存放点里存放有一些货物即操作数。CPU没执行一次运算和命令都会从里边提取操作数执行指令。CPU中若干个不同的寄存器。可以从不通的寄存器中提取不同的操作指令进行操作。
存储器:存储器就相当余个仓库,是存储数据的地方。CPU通过指令对存储器进行访问。
指针:这真就相当一个地址,即仓库里边存放货物的地址。和我么寄信的地址一样,通过他可以寻找到想要的数据或者指令。
立即数:立即数就是存放在寄存器中的常数。
知道这些以后,对于单片机的寻址方式的理解就没有多大问题。单片机的寻址方式主要有五种:立即数寻址、存储器绝对寻址、寄存器直接寻址、寄存器间接寻址、寄存器变址寻址。
立即数寻址:将某一立即数直接赋予到寄存器当中。相当于将一份货物拿的指定货物暂时存放点上去。
存储器绝对寻址:将存储器地址指定的操作数赋予到寄存器当中。这种寻址方式和立即数寻址方式不通,同样是直接将操作数直接赋予寄存器当中,但形式不一样,立即数寻址是直接将操作数赋予寄存器。而直接寻址却是拿到的只是一个操作数地址,通过这个地址,在存储器中寻找到想要的操作数后,再将操作数赋予寄存器。这个相当于你拿到仓库货物地址后,在仓库里找到货物,然后将货物拿到指定的货物暂时存放点上。
寄存器直接寻址:这种方式是指操作数存放在寄存器中,直接通过寻址寄存器,取出操作数。这中方式相当直接将特定货物暂时存放点里的货物装车进行处理。
寄存器间接寻址:这种方式是寄存器里存放的是操作数在存储器里存放的地址。通过那在指定的寄存器里拿到地址后,再通过地址到存储器中寻找到相应的操作数,然后执行操作数。这种方式相当于该货物暂时存放点存放的并不是货物,而只是货物在仓库存储的地址,我们还得通过地址到仓库去寻找到货物,然后再进行加工。
寄存器变址寻址:这种寻址方式比较复杂,且很麻烦,好像是故意在绕路一样,难为人。他首先给定一个基址寄存器,并在基址寄存器中存放一个数据,然后再给你一个公式和一个操作数,公式是:目的寄存器=基址寄存器中数据+给定操作数。通过计算出公式结果后才能找到目的寄存器当中的操作数。这就相当于找东西的游戏,不告诉你要找的东西在那你,只是给你一个谜语,你靠着这个谜语的谜底去寻找所要寻找的东西。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top