1.为什么你的仿真机可以仿真串口?  


答: Keil Mon51 仿真机(keil C51的文档mon51.pdf里包含有关自制MON51仿真机的说明,我们把这种仿真机称为MON51仿真机)自制MON51仿真机的电路图:

mon51.zip(包含MON51仿真机的电路图和pcb图以及运行程序mon51.hex和帮助文件)

mon51仿真机的原理(GS51.pdf第199页-210页)

这里对如何自制mon51仿真机不作详细的说明,版主将会设专栏讲解自制的过程.

根据上面的电路图,keil的mon51仿真机要使用串口跟电脑串口通讯,keil c51是通过串口跟仿真的单片机通讯的. 串口需要使用定时器来产生波特率,所以同时又必须占用一个定时器,定时器可以使用定时器1或定时器2.

因此串口是不能完全给用户使用的,用户更加不可以对rxd和txd引脚进行位操作,也不能使用串口中断,定时器的使用也有一定的限制.

而老古牌仿真机的硬件结构跟mon51仿真机的结构不同,它是用两片单片机来实现仿真的,利用另外一个单片机来提供定时器和串口,两个单片机之间使用1根引脚通讯.因此用户单片机的串口是没有被占用的,同样定时器也没有被占用.

etool的51emb-32k也是单CPU的结构,不可避免要占用串口和定时器.用户对串口的使用是有限制的.而我的仿真机的串口是完全提供给用户使用的.