因为工作的缘故,必须学习EMC单片机了。我会把我的学习历程写下来,算是对坛子的一点贡献,也算是自己的一个总结吧。
因为以前学过51的和PIC、HOLTEK的单片机,并且也大致了解过EMC的指令集,所以学起来并不是太难。为了学习,而又没有仿真器,于是去emc的网站下载了一个simulator来软件仿真。第一感觉还不错,把里面的例子程序跑了一下,单步执行然后看寄存器的变化。发现他的IDE环境不是特别好用,首先编辑器无法设置TAB的宽度,导致UE里面写好的
代码,都不整齐了。
再说一下对EMC指令集的理解。EMC的寄存器占用2个空间:内存空间和IO空间,前者用mov来访问,后者用IOW和IOR等来访问。这点我想很多初学者都会象我一样,要花点时间来理解这个问题。还有就是很多寄存器没有地址的,也就是占用特殊的地址空间,既不是内存也不是IO空间,比如CONT等。我想,正是这种类繁多的寻址,使得在简单的MCU上可以2个clock跑一条单周期指令。对于此,PIC和HOLTEK的单片机都需要4个clock跑一条单周期指令,51系列CISC指令就更不用说了。