www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 5.1.EM78 系列八位微控器特色指令用法5.1.1.查表指令與用法EM78 系列八位微控器是利用 (1)“call",(2) 改變PC (或“tbl"),(3)“retl k" 三個步驟來查表的。其中“retl k" 是將常數(shù) k 的值傳至工作寄存

5.1.EM78 系列八位微控器特色指令用法5.1.1.查表指令與用法

EM78 系列八位微控器是利用 (1)“call",(2) 改變PC (或“tbl"),(3)“retl k" 三個步驟來查表的。其中“retl k" 是將常數(shù) k 的值傳至工作寄存器 "A" 中。

步驟 (2) 中若利用“mov 0x2,a",或“add 0x2,a" 等等指令來改變PC,則因?yàn)榇说戎噶顣?PC (R2) 的位 8、9 清除 (在 EM78056 只清除位 8),所以查表的內(nèi)容只能放在程序每個 PAGE 的較低的 256 個位址。步驟 (2) 中若利用“tbl" 指令來改變PC,則因?yàn)榇酥噶畈粫C (R2) 的位 8、9 清除,而保留“tbl" 所在位址的位 8、9,所以查表的內(nèi)容可以放在程序每個 PAGE 中的任何位址。

例:查表

table add 0x02,a ;將相對位置加入 PC 而改變了PC

retl @0x19 ;傳回常數(shù)內(nèi)容 19h 至 "A"

retl @0x74 ;傳回常數(shù)內(nèi)容 74h 至 "A"

retl @0x2e ;傳回常數(shù)內(nèi)容 2eh 至 "A"

retl @0x54 ;傳回常數(shù)內(nèi)容 54h 至 "A"

retl @0x4b ;傳回常數(shù)內(nèi)容 4bh 至 "A"

inc 0x18

mov a,0x18 ;欲查的內(nèi)容的相對位置放在"A"

call table ;查表

mov 0x10,a ;查表得到的內(nèi)容移至 R10 中

5.1.2.分 PAGE 的用法

1. 程序跳 PAGE 的用法:

EM78 系列八位微控器將其 Program Memory (ROM) 分成數(shù)個 PAGE,每個 PAGE 的長度是 1K (EM78056 除外)。R3 寄存器的位 5 (6) 是 "PAGE 選擇位",當(dāng)執(zhí)行 "jmp" 或 "call" 指令時,"PAGE 選擇位" 會被載入 Program Counter 的位 10 (11),因此當(dāng)程序超過 1K (EM78056 為 0.5K)時,執(zhí)行 "jmp" 或"call" 指令時,"PAGE 選擇位" 正確的設(shè)定是非常重要的。下面將以 EM78256 為例來說明跳 PAGE 的方法。


例:從PAGE 1 跳轉(zhuǎn)到PAGE 0

; PAGE 0, begin at 000h

049 add 0x11,a

050 mov a,@0x55

051 mov 0x05,a ;port5<-- 0x55

052 bs 0x03,5 ;select PAGE 1

053 jmp lab1 ;PAGE jump

054

; PAGE 1, begin at 400h

447

448 mov a,@0x3f

449 xor 0x12,a

450 Lab1 bc 0x06,3

451 mov a,0x05

說明:

052: 將 R3 寄存器的位 5 設(shè)為 "1" (選擇 PAGE 1)。

053: Lab1 會被編譯 為 "50",程序跳轉(zhuǎn)至 PAGE 1 中 "Lab1" (450) 的位址。

注意:

此例中 "052" 和 "053" 是用來跳 PAGE 的,假如沒有 "052" 這行指令,則程序?qū)⑻D(zhuǎn)至"050" 的位址 (在 PAGE 0中),如此將沒有達(dá)到預(yù)期的目的。

2. 不同 PAGE 子程序呼叫的方法:

如第 1 項(xiàng)所述,當(dāng)程序超過 1K 時,執(zhí)行 "call" 指令時,"PAGE 選擇位" 的設(shè)定就必須加以考慮。下面將以 EM78256 為例來說明呼叫不同 PAGE 子程序的方法。

例: 從PAGE 0調(diào)用PAGE 1中的子程序

; PAGE 0, begin at 000h

049 add 0x11,a

050 mov a,@0x55

051 mov 0x05,a ;port5<-- 0x55

052 bs 0x03,5 ;select PAGE 1

053 call Lab2 ;PAGE jump

054 bc 0x03,5 ;restore

055 jbs 0x15,2

056

; PAGE 1, begin at 400h

417

418 mov a,@0x3f

419 xor 0x12,a

450 Lab2 bc 0x06,3

451 mov a,0x05

45f ret

說明:

052: 將 R3 寄存器的位 5設(shè)為 "1" (選擇 PAGE 1)。

053: Lab2 將會被編譯為 "50",呼叫 PAGE 1 中 "Lab2" 子程序。

054: 將 R3 寄存器的位5 還原為 "0"。

注意:

此例中 "052" 和 "053" 是用來呼叫 PAGE 1 中 "Lab2" 的子程序,假如果沒有 "052" 這行指令,則程序?qū)⒑艚?"050" 的位址 (在 PAGE 0中),而非 "450" 的位址 (在 PAGE 1中),如此將發(fā)生錯誤。

5.1.3."BS","BC" 等指令對 I/O Port 的作用:

"BS","BC" 等指令會先有 "讀" 再 "寫" 的動作,例如 "bc 0x06,3" 指令是將整個 Port 6 (8PIN) 讀進(jìn) CPU,執(zhí)行位運(yùn)算后再寫至 Port 6 上。假如 Port 6 有一些 pin 是雙向 I/O pin (如 P65) 時,假設(shè)當(dāng)執(zhí)行 "bc 0x06,3" 時P65 是輸入 pin,則 P65 pin 上的內(nèi)容會被讀入再寫至 Latch 上,覆蓋原先 Latch 上的內(nèi)容。因此只要 P65 一直是輸入 pin 將不會有問題,一旦 P65 切換為輸出,則 Latch 上的內(nèi)容將是不可預(yù)知的。

5.1.4.I/O Port讀取的路徑:

若仔細(xì)研究EM78系列八位微控器的I/O Port構(gòu)造,就可發(fā)現(xiàn)在做"讀"I/O Port的動作時(如"mov a,0x06"),所讀入內(nèi)容有兩個路徑來源,一是I/O pin上的內(nèi)容,另一是輸出Latch上的內(nèi)容,而由I/O控制寄存器決定此讀入的路徑。

例如I/O pin設(shè)計為輸入pin時(對應(yīng)的I/O控制寄存器為"1"),對I/O Port做"讀"的動作時,是讀到pin上的內(nèi)容。若I/O pin設(shè)計為輸出pin時(對應(yīng)的I/O控制寄存器為"0"),對I/O Port做"讀"的動作時,是讀到輸出Latch上的內(nèi)容。

5.1.5.WDT (Watchdog Timer)的使用:

WDT是微控器內(nèi)部RC自振的計時器,其超時溢位(Time-out)的基本周期約18ms,WDT有與TCC共用的倍除器,使得超時溢位(Time-out)的最大周期可至約2.2sec。WDT計時的使能或禁止是可隨時由指令控制的(控制位在IOCE寄存器)。當(dāng)WDT使能時,其超時溢位將使微控器發(fā)生RESET(或喚醒),"wdtc"指令是用來清除WDT,令WDT再從頭計時,因此適當(dāng)?shù)氖褂?wdtc"指令,可使WDT不會發(fā)生RESET。當(dāng)WDT被禁止時,WDT不會使微控器RESET或喚醒。要特別注意的是,Power-on之後WDT是使能的,如果該應(yīng)用中並沒有使用WDT,必須在程序的前頭用指令將WDT計時禁止。EM78156/256/456就是依上述所設(shè)計。

在EM78247/447/248/448/056/P156除了上述的設(shè)計外,另有一Code Option決定使能或禁止WDT,其功能如下:

1. 假如應(yīng)用中有使用WDT,WDT必須以Code Option使能,則在程序中隨時可以用指令使能或禁止WDT計時。注意:Power-on之後WDT是使能的。

2. 假如應(yīng)用中並沒有使用WDT,WDT可以以Code Option禁止,則WDT是永遠(yuǎn)被禁止的,如此可省去須在程序的前頭用指令將WDT計時禁止的麻煩。

5.2.基本設(shè)計規(guī)則5.2.1.設(shè)定I/O口的模式:

用戶可以單獨(dú)設(shè)定任一支I/O腳為輸出模式(Output Mode),或是輸入模式(Input Mode)。只要將每個I/O的設(shè)定寫入累加器(A)中,再將累加器的內(nèi)容寫到I/O控制寄存器中,設(shè)定就算完成了。

例1:將PORT6設(shè)定為OUTPUT PORT。




本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉