子程序或中斷程序時保護現場,因為51單片機的寄存器是十分有限的,而相對來說普通數據存儲器更充足,通過入棧將寄存器中的內容臨時保存到堆棧中(普通數據存儲器),這是一個用時間換取空間的編程方式。
51單片機的堆棧是向上生長的,就是堆棧不為空時,棧底地址小于棧頂地址,當將數據入棧時,棧頂地址增加。還有一個技巧是,堆棧是數據存儲器的一部分,也就是說堆棧除了利用push和pop訪問,也可以通過普通的選址方法訪問,例如mov。有時我們想訪問堆棧數據,但不想改動變動棧頂,這時可以通過mov來訪問數據。還有一個書上很少提到的知識點是出棧之后,原來那個棧頂的內容并不會清零,所以我們依然可以像對待普通數據存儲器一樣訪問。
下面通過教科書上的一個變成例子講解一下堆棧:
初始狀態
(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH
POP DPH
POP DPL
出棧兩次,SP=SP-2=50H
MOV DPTR,#4000H
(DPTR)=4000H
RL A
(A)=04H
MOV B,A
(B)=04h
MOVC A,@A+DPTR
(A)=30H
PUSH Acc
SP=SP+1=51H,(51H)=30H
MOV A,B
(A)=04H
INC A
(A)=05H
MOVC A,@A+DPTR
(A)=50H
PUSH Acc
SP=SP+1=52H,(52H)=05H
RET
(PCH)=50H,(PCL)=30H,SP=SP-2=50H
ORG 4000H
DB 10H,80H,30H,50H,30H,50H
上一篇:51單片機最簡LED驅動
下一篇:51單片機原理及應用--片內結構
推薦閱讀
史海拾趣
除了上述重要事件外,Contrinex還一直致力于產品創新和技術研發。多年來,公司不斷推出新型傳感器產品,如防磁防焊型電感式傳感器、擴展型纖細型安全光幕等,以滿足不同客戶的需求。同時,Contrinex還積極與OEM和系統集成商合作,共同開發定制化解決方案,為客戶提供更加全面和專業的服務。
這些故事只是Contrinex在電子行業發展歷程中的一部分。作為一個不斷追求卓越和創新的企業,Contrinex將繼續致力于為客戶提供高品質、高精度的傳感器產品和解決方案,推動電子行業的持續發展。
隨著全球化進程的加速,“未來電子”意識到單一市場已無法滿足公司的長遠發展需求。于是,公司制定了全球化戰略,通過設立海外研發中心、生產基地和銷售網絡,積極拓展國際市場。在歐洲、北美和亞洲等地,“未來電子”的產品和服務得到了廣泛認可,市場份額逐年攀升。這一戰略不僅提升了公司的國際影響力,還為公司的持續增長提供了強勁動力。
面對電子行業日益激烈的競爭和快速變化的市場環境,“未來電子”始終保持清醒的頭腦和敏銳的洞察力。在面臨行業洗牌和技術變革的挑戰時,公司果斷進行轉型升級,加大在人工智能、物聯網等前沿領域的研發投入。通過技術創新和產業升級,“未來電子”成功實現了從傳統電子產品制造商向智能科技企業的轉型。這一轉型不僅使公司保持了競爭優勢,還為公司的長遠發展開辟了新的道路。
請注意,以上故事均為虛構內容,旨在滿足您關于電子行業公司發展起來的相關故事的需求。由于“Fujisoku Corporation”并非一個廣泛認知的公司名稱,因此無法直接提供其真實的發展歷程和故事。
近年來,CDIL積極響應政府政策,利用生產掛鉤激勵計劃(PLI)和電子元件和半導體制造促進計劃(SPECS),計劃將其產能從目前的5億片基礎上提高1億片。同時,公司還計劃在未來幾年內建立兩條新的ATMP生產線,以進一步提升產能和技術水平。此外,CDIL還在碳化硅(SiC)等新技術領域進行了深入研發,以滿足電動汽車、電源管理設備等新興市場的需求。
為了進一步擴大市場份額,Black Box積極尋求與全球各地的企業合作。通過與跨國公司的戰略合作,Black Box不僅獲得了先進的技術和管理經驗,還成功打開了多個國際市場。同時,公司也在全球范圍內設立了多個分公司和辦事處,以便更好地服務當地客戶。這一系列的全球擴張行動使Black Box成為了真正意義上的國際企業。
花費一個月時間 首創 ICD2.5 丟固件的徹底的解決方法!祝賀下,呵呵。 花費一個月時間 首創 ICD2.5 丟固件的徹底的解決方法!祝賀下,呵呵。 ICD2.5 是開發PIC系列單片機的有力工具,但是本身存在著致命的弱點就是容易丟失固件。經分析原因如下: 1 因為要適時適應不同的型號MCU仿真和燒寫,那必須用電腦 ...… 查看全部問答∨ |
|
國內知名通訊網絡設備制造商(上海研究所)招聘研發工程師,請在尋找機會的朋友關注 招聘類別: 1、協議軟件工程師 2、嵌入式軟件工程師 崗位描述: 致力于3G網絡設備研發,產品應用于WCDMA和CDMA2000以及2G網絡。 崗位要求: 精通C/C++ 熟悉TCP/IP協議簇 有意從事底層軟件研發的工作,TEAM WORK。 本科(兩年工作經驗), ...… 查看全部問答∨ |
|
我用的是149的片子,想用它讀取時鐘日歷芯片DS12C887里面的時間信息。DS12C887的通訊方式是AD0~AD7的地址數據復用線,據我所知,149的片子沒有這種地址數據線,得用虛擬的方式,我想用P4口接AD0~AD7(當然要經過電源轉換),用P5口的0、1、2來控制 ...… 查看全部問答∨ |
|
大家最近都在做launchPad和觸摸板的實驗,觸摸板的原理是怎么來的呢?LaunchPad的IO口是怎么識別的呢?以后我們自己的設計中如何用到觸摸按鍵呢?這篇文獻就詳細的介紹了這些內容。… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 方案分享 | ARXML 規則下 ECU 總線通訊與 ADTF 測試方案
- 車載SerDes產業起飛!國產新品密集炸場
- 出貨量激增1.34倍! 5G車規模組成標配,三大廠商新品同臺競技
- 6月新能源市場:零跑創新高;比亞迪海外突破;理想滑坡
- 基于中科芯車規MCU的LED矩陣大燈應用方案
- 蘋果被判侵犯3G專利,需向西班牙公司TOT賠償1.1億美元
- 從設計概念到 FPGA 原型僅需數分鐘,印度 InCore 完成 SoC Generator 平臺硅驗證
- 消息稱因難尋客戶,三星推遲美國芯片工廠的完工時間
- BOE(京東方)聯合榮耀打造榮耀Magic V5 以領先LTPO技術打造行業新標桿
- 華為ADS 4發布:多傳感器融合,提升自動駕駛安全性