[問題] 初學PIC系列單晶片
最近在閱讀PIC系列單晶片的DATA SHEET,有幾個小問題想不通,想請問:
1.以80C51來說,我們可以直接將常數值用立即定址的方式給輸出PORT,如:
MOV P1,#10101010B
但是在PIC系列IC的標準指令集中,資料搬移指令細分為很多種,卻沒有一種可
以直接將常數丟往輸出PORT(根據使用手冊敘述,PORT似乎可以視為暫存器,但
仍然沒有一種資料搬移指令可以將常數丟往暫存器。),如果要達到上述功能,
僅能靠:
MOVLW B'10101010'
MOVWF PORTB
來實現,以執行所花費時間來看,的確不一定會比較久,但對於撰寫的過程中,
每次要操作輸出PORT(暫存器)都得經過W累加器感覺有點麻煩,想請問一下是不是
有更簡單或是更常用的方法呢?
2.以80C51來說,使用者很清楚基本的一般暫存器總共有8*4=32個(R0~R7*4組暫存
器庫),然而在PIC的架構中,暫存器確是一片記憶體"區塊",如果8-BIT劃成一個
的話應該有非常多暫存器可以用,但是縱使知道有很多記憶體空間可用,卻不知道
如何操作起,因為它們沒有像R0、R1這樣的"名字",想請問我該如何把這麼大一片
記憶體空間,規劃成暫存器呢(像是R0就是指XXX位址、R1就是指XXX位址這種感覺)
?
因為我目前唯一學習過的單晶片只有89C51,所以上面兩個小疑問都是以89C51為比
較,我了解兩者架構上有所不同,所以不見得能做到,但還是想釐清是否可行。
-
這篇本來是PO在電機電子版,但可能在使用PIC單晶片的版眾不多,忽然想起ASM版
範圍含跨單晶片,所以把跟晶片使用上比較有關的問題取出重貼於此,想跟大家請
教一下。
如果大家認為範圍還是脫離版上所規定的區塊,不好意思,我再來刪除。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.67.181.137
推
05/01 12:36, , 1F
05/01 12:36, 1F
→
05/01 12:36, , 2F
05/01 12:36, 2F
→
05/01 12:37, , 3F
05/01 12:37, 3F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章