新闻中心

EEPW首页>嵌入式系统>设计应用> 单片机的单CPU仿真器的设计

单片机的单CPU仿真器的设计

作者: 时间:2016-09-12 来源:网络 收藏

主程序如下:

MOV SCON,#50H ;串口方式 1

MOV TMOD,#20H ;T1 方式 1

MOV TL1,#0FDH ;波特率 9600 的常数

MOV TH1,#0FDH

SETB TR1 ;开中断

SETB ET1

SETB ES

SETB EA

系统“写”时用如下指令:

MOVX @DPTR,A

MOVX @Ri, A

在中断服务子程序中,为区别所接收的信号是联络信号还是字节数、是数据还是校验和,需要设立不同的标志位如下:

FLAG0 BIT 00H ;接收联络信号标志位

FLAG1 BIT 01H ;接收字节数标志位

FLAG2 BIT 02H ;接收数据标志位

FLAG3 BIT 03H ;接收文件结束标志位

程序流程如图3所示,其中R7为接收到的字节数,接收的数据一定要存入片外RAM从0000H开始的单元中。当复位后,把RAM当作程序存储器时,PC是从0000H开始的。

图3接收中断服务子程序流程图

几点讨论

(1) 系统中不需要单独的仿真器电源,也不需要晶振电路。

(2) 下位机的片外存储器在重复写数时不用擦除,每次重新下载程序时,总是用覆盖的方式。新下载的程序都有END为结束,就算新下载的程序比原来的短,也不会执行多余的代码。

(3) 在实际中,可以进一步改进电路,当文件下载完之后,通过串口备用的信号线产生控制信号来控制和复位,从而使得全过程均由上位机控制。

(4) 由于内部结构的限制,被仿真的产品不能扩展片外的程序存储器,但由于片外可以扩展64KB的数据存储器,文中只用了32KB,因此还可以扩展一定的外设。

(5) 被仿真产品的E(--)A(--)的接法有一定的限制,不能直接接地或接电源正极,实际中只要加上一个合适的限流电阻(如10K?)就可以了。实际上这种方案可以适用于任何可以外扩存储器的单片机。

结束语

对以上的进行分析不难发现,整个系统各个功能模块技术非常成熟:在硬件方面,各子电路均有现存的电路套用,而且各个元器件的参数容易确定;在软件方面,仅涉及到COM口的串行通信程序及上位机的界面程序。在实际的制作过程中,系统的元器件数目少且价格低廉,容易调试,成功率高,性能稳定。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭