单片机仿真器可完结对单片机程序的单步盯梢调试,具有断点或全速等多种调式方法,一同可以记载各种变量以及RAM和寄存器的动态数据,关于程序的履行进程与效果进行实时调查。此外,其还可完结对硬件电路的动态调试。当时单片机仿真器已在工业中得到了广泛运用,因而加大对其的研讨具有重要的现实意义。
1 依据SST89C58单片机的仿真器规划
规划的首要部分是SST89C58单片机,从其构成来看,内部集成了72 kB巨细的SuperFlashEEPROM程序存储器,涵盖了64 kB巨细的Block0及8 kB巨细的Block1的Flash—ROM。该单片机关于传统运用的SoftICE监控也做出了必定的优化处理,其间监控程序共占有了存储块Block0巨细为1 kB的FC00H~FFFFH,一同还有Block1中巨细为4 kB的0000H~0FF FH。
研讨人员在进行仿真器调试进程中,凭借IAP的协助下再运用编程,将用户的方针程序从电脑机下载至仿真芯片所剩余的Block0空间之中,巨细为63 kB,然后运用SoftICE的效果施行仿真调试。但需注意的是,在整个调试进程中,SoftICE和电脑内部的调试器程序之间一直未中止正常的通讯联系。
文中从仿真器仿真的原理进行剖析,其本质便是在程序调试时依据需求动态的对程序存储区作相应的修正,也唯有如此才干到达断点运转或单步运转的杰出效果。在仿真芯片中研讨人员预先烧入了相应的监控程序,其首要功用在于与计算机之间施行杰出的通讯。比及调试者运用KeilμVision2集成环境来施行仿真的进程中,后者便会将SST89C58单片机程序方针代码运用串口传输到仿真器中,然后经过仿真器中监控程序的效果来将代码烧写至监控芯片的程序存储器。当SST89C58单片机程序在调试时,监控程序也会在集成开发环境指令的效果下,关于被调试的程序进行恰当的改写,以便完结设置断点及单步运转。在这一进程中,一旦程序遇到断点而只能中止履行后,则此刻监控程序便可取得CPU的控制权,其不只需承担起检查单片机寄存器、RAM以及单片机内部的相关变量的作业任务,一同还需调查状况在串行口的协助下输送至集成开发环境的进程,判别其是否可满意用户调查的各种需求。
2 电路构成剖析
2.1 SSTB9C58单片机
图中的U1表明的是SST89C58单片机,从其指令来看与8051单片机完全相同,均运用的是双列直插封装方法,且其能与规范的8051管脚之间完结有用兼容。在整个电路中,对31引脚采纳了接高电平的处理,意图在于保证其仅能拜访内部64 kB巨细的程序存储器;在这一构成条件下,运用对内部特别功用寄存器的有用操作,可到达IAP在运用可编程的效果;体系自身带有SPI串行接口以及全双工增强型UART;若处于惯例状况下,运转进程中外部晶振能到达40 MHz。
SST89C58单片机的16引脚可作为一般I/O口来进行运用,研讨人员运用按键S2接地,与此一同S2和复位按键S1两者在相互效果下,不只能完结仿真器的脱机运转,还可到达仿真运转功用的切换效果。
2.2 晶振与复位电路
如图1所示,晶振电路中首要包含晶振Y1、电容C5与C6、跳线器J1与J2等几个部分。在运转进程中,仿真器运用J1、J2的效果来决议是否需求运用外部电路晶振,不然便需求运用仿真器内部电路晶振。但需注意的是,比及跳线器J1及J2“2、3”端遭到各种因素的影响产生短接时,则需选用用户板晶振;而一旦J1及J2“1、2”端产生短接,此刻就需求运用仿真器内部电路晶振。
复位电路的首要功用在于仿真器的上电复位以及强制复位。从构成上讲,复位电路中涵盖了巨细为0.1μF的电容C7、按键S1以及10 kΩ的R1。一旦体系上电,就会主动挑选电容C7充电,单片机的复位引脚RST就能取得一个高电平脉冲,而比及C7充电完毕后,复位引脚转变成低电平,就可完结上电复位效果;在SST89C58作业时,若依据实际状况有必要对体系采纳强制复位,作业人员可挑选S1,复位脚电平便会从原先的低电平转变成高电平,而电容C7则会被瞬间放电,比及S1键被松开后,VCC就会开端对电容C7进行充电,以保证复位脚的高电平可继续必定的时刻,因而终究完结强制复位功用。
2.3 电平转化电路
研讨挑选RS-232规范作为仿真器和计算机之间的串行通讯。其间SST89C58单片机的逻辑电往常与TTL电平之间是兼容的,不过在RS-232规范中要求的逻辑电平缓TTL电平之间,不管在极性仍是幅度上均存在着必定的差异性,故需求采纳电平转化。
文中挑选的集成芯片是MAX232D,即图中的U2,其电平转化电路首要包含内部的电源电压变换器及外部%&&&&&%等,首要意图在于完结电脑的232电平及SST89C58单片机的TTL电平之间的顺畅转化。为到达这一意图,应当将输入的+5 V巨细电源电压转变到±9 V。SST89C58单片机的串行通讯传输信号是TXD,详细运转时需由U2的10引脚T2IN中开端进行输入,然后当其现已转变为232电平后,便可经过7引脚T2OUT来进行输出,在此基础上就可完结与电脑串行口接纳端之间的衔接;电脑的串口发送信号则需经过U2的8引脚R2IN才可进行输入,比及已转变为TTL电平后就可经过9引脚R2OUT来进行输出,然后与SST89C58单片机的接纳引脚RXD之间完结相互衔接。其详细状况如图2所示。
2.4 逻辑电平测验电路
规划时还可在仿真器上添加相应的集成逻辑笔功用,意图在于对电路中电平状况完结动态的丈量,给SST89C58单片机试验实训及技术开发进程中作业人员及时的进行电路调试和硬件毛病扫除等发明了杰出条件。逻辑电平测验电路除了有SN74HC00D(U3)之外,还包含发光二极管指示灯L1与L5,以及电阻R5~R9等几个部分。运转进程中只需经过测验线将测验端J4(V-IN)和相应的被测点之间进行有用衔接。若发现被测电平处于高电平状况,则U3A和非门便会开端输出低电平,此刻红灯L1亮起,而若U3C和非门开端输出高电平,则此刻绿灯L2不亮,所代表的意义便是此刻处于高电平状况;若输入端已与低电平之间完结有用衔接时,则此刻绿灯L2亮,而红灯L1则处于不亮状况;比及测验输入端空载,则不管是红灯或是绿灯均处于不亮状况;若体系中衔接的测验信号为脉冲,则会产生一种红灯和绿灯一同闪耀的现象,作业人员只需运用对闪耀的速率及明暗程度进行调查,就可较为精确地估测出被测信号的频率巨细及占空比状况。
3 完毕语
SST89C58单片机与KeilμVision2集成开发软件间的有机结合,供给了一种功用过硬的单片机仿真器,其可完结仿真器的脱机运转以及仿真运转功用的切换,然后完结对电路中电平状况的动态丈量,且具有较高的运用价值。