作者icetofux (豆腐)
看板Electronics
标题[问题] PIC指令问题
时间Tue Apr 29 18:00:35 2008
最近在阅读PIC系列单晶片的使用手册,有几个小问题想不通,想请问:
1.以80C51来说,我们可以直接将常数值用立即定址的方式给输出PORT,如:
MOV P1,
#10101010B
但是在PIC系列IC的标准指令集中,资料搬移指令细分为很多种,却没有一种可
以直接将常数丢往输出PORT(根据使用手册叙述,PORT似乎可以视为暂存器,但
仍然没有一种资料搬移指令可以将常数丢往暂存器。),如果要达到上述功能,
仅能靠:
MOVLW B'10101010'
MOVWF PORTB
来实现,以执行所花费时间来看,的确不一定会比较久,但对於撰写的过程中,
每次要操作输出PORT(暂存器)都得经过W累加器感觉有点麻烦。
想请问一下是不是有更简单或是更常用的方法呢?
2.以80C51来说,使用者很清楚基本的暂存器总共有8*4(R0~R7*4组暂存器库),然
而在PIC的架构中,暂存器确是一个个"区块",如果8-BIT划成一个的话应该有非常
多暂存器可以用,但是纵使知道很多,却不知道如何操作起,因为它们没有"名字"
,想请问我该如何把这麽大一片记忆体空间,规划成暂存器呢(像是R0就是指XXX位
址、R1就是指XXX位址这种感觉)?
3.之前询问入门方式时,有版众建议我可以参加该公司的教学课程,於是我上该公
司网站寻找课程资讯,并找其课程讲义下来看,发现最基础的课程中,都含有撰写
程式的部分,这是不是代表要参加课程,至少要先把指令集背熟呢?因为我无法确
定课程要对公司产品熟悉到什麽样的地步,才不会觉得无法理解上课内容,这点想
请有参加过这些课程的版众能分享一点心得。
1、2点疑问因为我唯一学习过的单晶片只有89C51系列,所以都是以这个来做比较
,当然我很了解两者於架构上不同,所以不见得能做到我所叙述的问题,如果是观
念上的错误,还请大家帮忙指正。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.67.181.137
1F:推 cowbaoh:个人觉得第1个问题就那样写最好了吧!PIC要做什麽事都会经 04/29 22:31
2F:→ cowbaoh:过w暂存器 习惯就好了 我们上课在写也是都这样用 04/29 22:32
3F:→ cowbaoh:至於入门 有人带最好啦 你也可以买书来看 或自己做一些小 04/29 22:33
4F:→ cowbaoh:西之类的 练习书里的例子也可以 或把你以前做过的事 转到 04/29 22:34
5F:→ cowbaoh:PIC上面写写看 看能不能work 这样应该就可以了吧 04/29 22:36
6F:→ cowbaoh:这本Embedded Design with the PIC18F452 Microcontroller 04/29 22:38
7F:→ cowbaoh:还不错 里面有附一块板子 自己把零件焊一焊 书上的练习就 04/29 22:39
8F:→ cowbaoh:可以一一去试啦 至於指令 常用的记一记就好啦 04/29 22:41
9F:→ icetofux:我目前就是打算把以前写过的小东西,甚至是新东西换成 04/29 22:49
10F:→ icetofux:PIC来尝试看看,至於有人带这个可能比较困难,因为 04/29 22:50
11F:→ icetofux:身旁没人在学这个,买书的话我在书店看过几本,感觉 04/29 22:50
12F:→ icetofux:内容都差不多,所以想说先从DATA SHEET先熟读,再上 04/29 22:51
13F:→ icetofux:教学网站看范例这样。 04/29 22:52
※ 编辑: icetofux 来自: 218.167.84.181 (04/29 22:54)