单片机与8086/8088的差异从广义上来看8086/8088属于微处理器(MPU),而单片机则属于微控制器(MCU),所以先来处理微处理器和微控制器的区别。这样的区别主要集中在硬件结构、应用领域和指令集特征3个方面:1.硬件结构微处理器是一个单芯片CPU,而微控制器则在一块集成电路芯片中集成了CPU和其他电路,构成了一个完整的微型计算机系统。而一个完整的微型计算机系统不仅除了CPU以外还包括存储器(ROM、RAM)、串并行的I/O接口,计时器和中断调度电路。这些都集成在一块集成电路上。此外,微控制器的一个最为重要的特征便是内建的中断系统。作为一个面向控制的设备,微控制器经常要实现响应外界的中断,微控制器必须能够快速的执行上下文的切换,在执行一个进程的时候去执行另一个进程响应一个“中断事件”。2.应用领域微处理器通常作为微型计算机系统中的CPU使用而这一点也是微处理器的优势所在。然而,微控制器通常应用于面向控制的应用。其系统设计追求小巧(大小方面),从而尽可能达到减少元器件的数量。在过去的很长一段时间中,我们将其应用到实际中时需要成千上万个数字集成电路来完成。但现在我们可以使用微控制器不仅减少了元器件的数量还能够完成同样的功能,由此我们可以推断出微控制器适用于那些需要极少的元器件来实现对输入/输出设备的控制而微处理器则适用于计算机系统中进行信息处理。3.指令集特征在第二点中我们提到微处理器和微控制器的应用领域不同,所以他们的指令集也会有所差异。微处理器的指令集增强了处理功能,使其拥有强大的寻址模式和适于操作大规模数据的指令。微处理器的指令可以对半字节、字节、字、双字节进行操作。通过使用地址指针和地址偏移,微处理器提供了可以访问大批数据的寻址模式。自增和自减模式使得以字节、字或双子为单位访问数据变得非常容易。微控制器的指令集适用于输入/输出控制。许多输入/输出的接口是单/位的。微控制器具有设置和清除单位的指令,也能执行其他方面的操作,例如对“位”进行逻辑与、或和异或运算,同时也可以根据标志位进行跳转等,所以我们可以根据微控制器的指令集适用于输入/输出控制从而达到对设备的控制和监听。微控制器具有专门的内部电路和指令用于输入/输出、及时和外部中断的优先权分配。一般在执行一些任务时我们需要给微处理器附加一些电路从而才能进行工作,所以在处理能力方面,微处理器比微控制器的处理能力强。我们都知道微控制器的内存容量并不像我们的PC机一样多,所以这也就要求我们微控制器的执行指令必须十分精简,大部分指令的长度都短于1个字节。而指令的精简在微处理器上表现并不是很明显这也是由于微处理器拥有强大的寻址模式从而导致指令的编码不够简洁。8086与51单片机的差异808651单片机+5V电源+5V电源(COMS版)时钟频率:5MHz~10MHz时钟频率:1.2MHz~12MHz16位外部数据线16位地址总线20位外部地址总线64KB程序存储器寻址空间可寻址1MB地址空间64KB片外数据存储寻址空间256个中断向量4KB片内程序存储器并行流水线处理结构128字节片内数据存储器8086CPU支持多处理器系统32根双向、可独立寻址的I/O线2个16位定时器/计数器1个全双工串口6个中断源/5个中断向量扩展的布尔处理能力(位处理)冯诺依曼结构哈佛结构此外在8086中能直接存出结果的仅有寄存器,必须连接/扩展外部存储器;而对于51单片机内部不但包含特殊功能寄存器还有一定的RAM,内部RAM与特殊功能寄存器的存取速度无异。冯诺依曼结构:程序和数据存储在同一个物理存储器上。哈佛结构:程序和数据存储在不同的物理存储器上。指令及寻址1、指令数量两者都是操作码占一个字节00~0FFH,按排列来说共有256条指令。但实际上8086却有297条指令(操作码中的特征位、方式字段和寄存器字段来区分操作数的位置、字长等),还有一些未用到的编码。51单片机有255条指令,只有十六进制数0A5H不是操作吗,但如果我们用Ri替代R0、R1和Rn替代R0~R7则51单片机的指令可精简至111条。我们可以看出,8086的指令容量逼51单片机的指令容量大的多,易于实现复杂操作但指令占用的存储资源多;51单片机的指令容量虽然有限,但它占用的资源少。2、寻址方式①.立即数...