瑞薩8位單片機(jī)740族:技術(shù)剖析與設(shè)計指南
在當(dāng)今的電子設(shè)計領(lǐng)域,單片機(jī)以其小巧靈活、功能強(qiáng)大等特點,成為了眾多工程師的首選。瑞薩電子的8位單片機(jī)740族便是其中一款性能卓越的產(chǎn)品。今天,我們就來深入剖析一下這款單片機(jī)的特點、指令系統(tǒng)以及使用時的注意事項。
文件下載:R5F211B4DSP#W4.pdf
一、740族單片機(jī)概述
瑞薩8位單片機(jī)740族具有諸多顯著特點,使其在眾多單片機(jī)中脫穎而出。
- 高效指令與豐富尋址:擁有高效率的指令群和豐富的尋址方式,這使得它能夠有效使用ROM區(qū),提高了程序的執(zhí)行效率和資源利用率。
- 位操作能力:具備能對累加器、存儲器、I/O進(jìn)行處理的位操作指令和位測試/轉(zhuǎn)移指令,為工程師在進(jìn)行精確控制和狀態(tài)判斷時提供了便利。
- 強(qiáng)大的中斷功能:豐富的中斷源和處理功能,能夠及時響應(yīng)外部事件,保證系統(tǒng)的實時性。
- 變址尋址優(yōu)勢:對于字節(jié)單位處理和表參照功能,具有卓絕的變址尋址功能,方便數(shù)據(jù)的快速查找和處理。
- 十進(jìn)制運算:不需軟件補(bǔ)正的十進(jìn)制運算功能,在一些需要進(jìn)行十進(jìn)制計算的應(yīng)用場景中,大大簡化了編程難度。
- 直接運算能力:不經(jīng)累加器就能進(jìn)行的存儲器和存儲器之間、I/O和I/O之間、存儲器和I/O之間的運算功能,提高了數(shù)據(jù)處理的速度。
二、中央處理器
740族的CPU有6個寄存器,它們各自承擔(dān)著重要的角色。
1. 累加器(A)
累加器是單片機(jī)的核心寄存器,由8位構(gòu)成。它在算術(shù)運算、數(shù)據(jù)傳送、暫時存儲以及條件判斷等操作中被頻繁使用,是數(shù)據(jù)處理的關(guān)鍵部件。
2. 變址寄存器X(X)、變址寄存器Y(Y)
這兩個8位的變址寄存器在尋址方式中發(fā)揮著重要作用。在使用變址寄存器的尋址方式時,存取操作數(shù)指定的地址加上變址寄存器內(nèi)容后的地址,這種方式在訪問子程序表和訪問存儲表方面非常有效。此外,它們還具有遞增、遞減、比較以及數(shù)據(jù)傳送等功能,可作為簡單的累加器使用。
3. 棧指針(S)
棧指針(S)是8位寄存器,在產(chǎn)生中斷和調(diào)用子程序時,它指向保存處理結(jié)束時的返回地址(程序計數(shù)器值)等的存儲器地址。
4. 程序計數(shù)器(PC)
程序計數(shù)器由PCH和PCL組成,共16位。它指向下一個保存執(zhí)行指令的地址,由于740族的CPU采用存儲程序方式,所以在開始新的運行時需要把指令和相關(guān)的數(shù)據(jù)從存儲器傳送到CPU,而程序計數(shù)器則負(fù)責(zé)指示下一個要傳送的存儲器地址。
5. 處理器狀態(tài)寄存器(PS)
處理器狀態(tài)寄存器是8位寄存器,由表示內(nèi)部CPU運算狀態(tài)的5個標(biāo)志和決定運行的3個標(biāo)志構(gòu)成。除了中斷禁止標(biāo)志為“1”以外,復(fù)位后值不定。因此,需要初始化影響程序執(zhí)行的標(biāo)志,尤其是對于影響運算的T標(biāo)志和D標(biāo)志,必須進(jìn)行初始化。
三、指令系統(tǒng)
1. 尋址方式
740族有19種尋址方式,這為工程師在進(jìn)行程序設(shè)計時提供了極大的靈活性。不同的尋址方式通過操作數(shù)、變址寄存器的內(nèi)容或者兩者的組合來指定存儲器或者跳轉(zhuǎn)目標(biāo),從而滿足各種不同的應(yīng)用需求。例如,立即尋址方式將操作數(shù)的內(nèi)容指定為運算數(shù)據(jù);零頁尋址方式將操作數(shù)指向的零頁區(qū)內(nèi)的存儲器內(nèi)容指定為運算數(shù)據(jù)等。
2. 指令分類
740族共有71種類的指令,可分為數(shù)據(jù)傳送指令、運算指令、位操作指令、標(biāo)志設(shè)定指令、跳轉(zhuǎn)/轉(zhuǎn)移和返回指令、中斷指令、特殊指令和其它指令等幾大類。
- 數(shù)據(jù)傳送指令:用于在寄存器之間、寄存器與存儲器之間以及存儲器之間傳送數(shù)據(jù),如LDA、STA等指令。
- 運算指令:對寄存器或者存儲器中的數(shù)據(jù)進(jìn)行加減運算、邏輯運算、比較、循環(huán)以及移位等操作,如ADC、SBC、AND等指令。
- 位操作指令:對累加器或存儲器指定的位置“1”或者置“0”,如CLB、SEB等指令。
- 標(biāo)志設(shè)定指令:對C標(biāo)志、D標(biāo)志、I標(biāo)志、T標(biāo)志和V標(biāo)志置“0”或者置“1”,如CLC、SEC等指令。
- 跳轉(zhuǎn)/轉(zhuǎn)移和返回指令:通過這些指令改變程序順序,如JMP、BRA、RTS等指令。
- 中斷指令:產(chǎn)生軟件中斷,如BRK指令。
- 特殊指令:控制振蕩和內(nèi)部時鐘,如WIT、STP指令。
- 其它指令:如NOP指令,只進(jìn)行程序計數(shù)器+1。
四、使用注意事項
在使用740族單片機(jī)時,需要注意以下幾個方面。
1. 輸入/輸出端口
在待機(jī)狀態(tài)下使用時,要避免將輸入/輸出端口的輸入電平置為不穩(wěn)定狀態(tài),特別是N溝道漏極開路的輸入/輸出端口,需要通過電阻上拉或下拉端口。另外,使用位處理指令改寫輸入/輸出端口的端口鎖存器時,未指定的位的值有可能發(fā)生變化。
2. 未使用管腳處理
對于未使用的管腳,需要根據(jù)其類型進(jìn)行適當(dāng)處理。輸出專用管腳必須開路;輸入專用管腳各管腳必須通過1 - 10kΩ的電阻連接到VCC或者VSS;輸入/輸出端口在設(shè)定為輸入模式時,必須通過1 - 10kΩ電阻連接到VCC或者VSS;不使用A/D轉(zhuǎn)換器時,A/D轉(zhuǎn)換電源管腳AVSS連接VSS,AVCC連接VCC。
3. 中斷
在設(shè)定中斷請求位和允許位時,必須按照先將中斷請求位清“0”,再將中斷允許位置“1”的順序進(jìn)行。在設(shè)定外部中斷的有效邊沿或者切換多個中斷源共用同一中斷向量的中斷源時,需要按照特定步驟進(jìn)行,避免中斷請求位異常。在將中斷請求寄存器的中斷請求位清“0”后,立即執(zhí)行BBC或BBS指令時,必須在執(zhí)行前執(zhí)行1條指令。
4. 編程
需要預(yù)先對程序的執(zhí)行有影響的處理器狀態(tài)寄存器(PS)的標(biāo)志進(jìn)行初始化,特別是標(biāo)志T和標(biāo)志D。當(dāng)參照處理器狀態(tài)寄存器(PS)的內(nèi)容時,要按照特定步驟進(jìn)行,并在執(zhí)行PLP指令后插入NOP指令。在進(jìn)行十進(jìn)制運算時,要注意正確設(shè)置十進(jìn)制模式標(biāo)志D,并在ADC或SBC指令后間隔一條以上的指令執(zhí)行SEC、CLC或CLD指令。使用JMP指令(間接尋址方式)時,不能將低8位為“FF16”的地址指定為操作數(shù)。乘除指令不受標(biāo)志T和標(biāo)志D的影響,執(zhí)行時處理器狀態(tài)寄存器的內(nèi)容不變。不能讀端口方向寄存器的值,需要使用特定指令設(shè)定方向寄存器。指令的執(zhí)行時間可以通過機(jī)器指令一覽表中記載的周期數(shù)乘內(nèi)部時鐘φ的周期得到。
瑞薩8位單片機(jī)740族以其豐富的功能和靈活的指令系統(tǒng),為電子工程師提供了一個強(qiáng)大的開發(fā)平臺。但在使用過程中,我們需要充分了解其特點和注意事項,才能更好地發(fā)揮其性能,設(shè)計出更加優(yōu)秀的產(chǎn)品。大家在實際應(yīng)用中是否遇到過一些特別的問題呢?歡迎在評論區(qū)交流分享。
-
指令系統(tǒng)
+關(guān)注
關(guān)注
1文章
86瀏覽量
16166
發(fā)布評論請先 登錄
瑞薩8位單片機(jī)740族:技術(shù)剖析與設(shè)計指南
評論