76. 比如用400减50,在程序语句上如何利用SUBB实现呢?
答:MCS-51单片机的指令系统中的减法指令只有一组带借位的减法指令(SUBB),而没有不带借位的减法指令。若要进行不带借位的减法操作,则需要在减法之前先用指令对进位C清零,具体指令:CLR C ,然后再相减。在进行多字节减法时首先应进行低字节的不带进位的减法,具体做法是先 CLR C,再用SUBB,而以后的高字节相减则都需要使用带进位的减法,直接使用SUBB指令即可。
77. 单片机系统为了省电,经常要进入掉电(POWER DOWN)状态,此时单片机的I/O口的PIN应设置为何种状态能获得最低功耗?
答:单片机I/O口可用作输入和输出状态。以HOLTEK一款最简单的I/O单片机HT48R05A-1为例,当作为输入时可设置成带上拉电阻的斯密特输入;作为输出时是CMOS输出。如果程序进入省电状态(HALT)时,首先,各个有用的I/O仍需输出一定值,以保证外部电路工作正常,同时请小心不要让外部电路保持长耗电状态(如长时间导通继电器);对于暂时不用的I/O口,为了节约功耗我们建议将I/O置为输出状态,并且输出为低。
78. 怎么样才能快速学会使用51系列和cygnal系列单片机?
答:建议购买一套ARM的开发学习板和仿真器(可以在网上查到适合自己的),结合教材在实践中学习ARM的基本开发方法。首先可以通过简单的程序编写熟悉ARM的指令集、体系结构、运行模式等基本原理,如果有一定的单片机知识基础,相信很快就能对此熟练掌握。接下来,因为32位ARM的应用大多会使用操作系统,所以此时可根据个人的计算机知识程度选择一个适合自己学习的嵌入式实时操作系统,多上机实作掌握嵌入式系统设计的基本方法,学习操作系统的应用程序的编程,并进一步掌握包含软硬件的基于ARM的系统应用开发。这一步需要具有高级语言的编程及操作系统知识,可能对非计算机专业的人员会有较大的难度,不过事在人为,相信只要有决心,难关总是可以被攻破的。另外,网上也有很多关于ARM开发的论坛,可以常上去下载相关的学习资料,请教高手,相互交流,相信会有所帮助。
79. 同样的功能实现,采用RISC和CISC内核的MCU,代码量哪个更大,即哪种需要更大的RAM以及ROM?
答:微处理随着微指令的复杂度可分为RISC及CISC这两类。下面先针对这两项做说明:
一、复杂指令集电脑CISC(Complex Instruction Set Computer)
CISC是一种为了便于编程和提高记忆体访问效率的晶片设计体系。早期的电脑使用组合语言编程,由于记忆体速度慢且价格昂贵,使得CISC体系得到了用武之地。在20世纪90年代中期之前,大多数的微处理器都采用CISC体系──包括Intel的80x86和Motorola的68K系列等。
|