SP:仓库指针。(专用于指出仓库顶部数据的地址。)
仓库介绍:日常这样的现象,家里洗的样的现象,家里洗的碗,一只一只摞起来,最晚放上去的放在最上面,而最早放上去的则放在最下面,在取的时分正好相反,先从最上面取,这种现象咱们用一句话来归纳:“先进后出,后进先出”。请咱们想想,还有什么当地有这种现象?其实举目皆是,建筑工地上堆积的砖头、资料,仓库里放的货品,都是“先进后出,后进先出”,这实践是一种存取物品的规矩,咱们称之为“仓库”。
在单片机中,咱们也能在RAM中结构这样一个区域,用来寄存数据,这个区域寄存数据的规矩便是“先进后出,后进先出”,咱们称之为“仓库”。为什么需求这样来寄存数据呢?存储器自身不是能按地址来寄存数据吗?对,知道了地址确实就能知道里边的内容,但假如咱们需求寄存的是一批数据,每一个数据都需求知道地址那不是费事吗?假如咱们让数据一个接一个地放置,那么咱们只需知道第一个数据地点地址单元就能了(看图2)假如第一个数据在27H,那么第二、三个就在28H、29H了。所以使用仓库这种方法来放数据能简化操作
那么51中仓库什么当地呢?单片机中能寄存数据的区域有限,咱们不能够专门分配一块当地做仓库,所以就在内存(RAM)中拓荒一块当地,用于仓库,可是用内存的哪一块呢?仍是欠好定,由于51是一种通用的单片机,各人的实践需求各不相同,有人需求多一些仓库,而有人则不需求那么多,所以怎样分配都不适宜,怎样来处理这个问题?分欠好爽性就不分了,把分的权力给用户(编程者),依据自已的需求去定吧,所以51单片机中仓库的方位是能改变的。而这种改变就体现在SP中值的改变,看图2,SP中的值等于27H不就适当所以一个指针指向27H单元吗?当然在真实的51机中,开端指针所指的方位并非便是数据寄存的方位,而是数据寄存的前一个方位,比方一开端指针是指向27H单元的,那么第一个数据的方位是28H单元,而不是27H单元,为什么会这样,咱们在学仓库指令时再阐明。其它的SFR,咱们在用届时再介绍。
什么是仓库,51单片机仓库指针SP的运用举例
SP:堆栈指针。(专用于指出堆栈顶部数据的地址。)堆栈介绍:日常这样的现象,家里洗的样的现象,家里洗的碗,一只一只摞起来,最晚放上去
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/xinwen/256680.html