Sei*_*oni 7 embedded microcontroller assembly microchip pic
我将开始一个项目,我需要对PIC单片机的汇编语言有一个很好的理解.我非常熟悉C/C++,所以我知道如何编写代码,我已经为PIC做了很多项目,所以我理解了这个架构,但是在'C'中完成了我的所有编程.
是否有一本好书或网站能够很好地解释所有汇编命令的含义以及如何为PIc微控制器执行相当简单的任务(闪烁LED,基本数学等等)?
编辑:这篇文章的主要目的是请求学习汇编的资源,而不是在PIC中讨论C与汇编的优点,或者PIC是否是一个"好"的微控制器.我使用的是PIC18单片机,如果这有任何区别的话.
有一个PIC架构,具有明显不同的指令集.例如,Microchip没有Atmel AVR的架构一致性.所以你需要指定你正在使用的东西 - 例如PIC12,16,24,32.
首先,我建议避免PIC汇编程序,因为你所学的内容是PIC12,这可能不太适用于PIC24.其次,如果我可以作为软件开发人员,我会完全避免使用PIC - 尽管我承认还有其他考虑因素,你可能别无选择.
您可以选择的是不使用汇编程序.虽然低端PIC可能最适合C代码生成,但这是编译器编写者的问题; 在可能的情况下,在开发时间方面使用C仍然更具成本效益.另一方面,对于大批量产品,如果您可以使用汇编程序将代码放入较小的部分,这可能是一个因素.在测试C解决方案之前确定需要汇编程序通常是"过早优化".即使C实现失败了大小或时间限制,您也可以将其称为原型,并重新编码以满足约束.比起从头开始编译器编码并且同时在设计和指令集上苦苦挣扎可能还要快.告诉你的老板你将用C语言对其进行原型设计,然后当它满足要求时,没有人会想浪费钱重新编码它是一个非便携的,不可维护的汇编程序代码.
最后回答您的问题,假设您需要快速有效地完成工作,请尽可能使用Microchip的示例和应用说明,并熟悉制造商指令集参考中的指令集.低端部件的指令集不大.对于日常工作,我喜欢使用"指令集参考卡"作为备忘录 - 它总结了每条指令的所有基本细节,通常在几页中 - 双面打印并层压它!).这是一个PIC16示例