作者icetofux (豆腐)
看板ASM
标题[问题] 初学PIC系列单晶片
时间Wed Apr 30 09:04:19 2008
最近在阅读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
1F:推 ruemann:1. 没辨法,不过可以用巨集来让它看起来简单一点 05/01 12:36
2F:→ ruemann:2. 位址也是可以取名字的,像8051一般的暂存区也是没有特 05/01 12:36
3F:→ ruemann: 定名称,要自己取名 05/01 12:37