Proteu s 自建元件库 一、Proteu s VSM 仿真模型简介在使用 Proteus 仿真单片机系统的过程中,经常找不到所需的元件,这就需要自己编写。Proteus VSM 的一个主要特色是使用基于 DLL 组件模型的可扩展性。这些模型分为两类:电气模型(Electrical Model)和绘图模型(Graphical Model)。电气模型实现元件的电气特性,按规定的时序接收数据和输出数据;绘图模型实现仿真时与用户的交互,例如 LCD的显示。一个元件可以只实现电气模型,也可以都实现电气和绘图模型。 Proteus 为 VSM 模型提供了一些 C++抽象类接口,用户创建元件时需要在DLL 中实现相应的抽象类。VSM 模型和 Proteus 系统通信的原理如下图: 0 && image.height>0){if(image.width>=510){this.width=510;this.height=image.height*510/image.width;}}" border="0"> 绘图模型接口抽象类: ICOMPONENT――ISIS 内部一个活动组件对象,为 VSM 模型提供在原理图上绘图和用户交互的服务。 IACTIVEMODEL――用户实现的 VSM 绘图模型要继承此类,并实现相应的绘图和键盘鼠标事件处理。 电气模型接口抽象类: IINSTANCE――一个 PROSPICE 仿真原始模型,为 VSM 模型提供访问属性、模拟节点和数据引脚的服务,还允许模型通过仿真日志发出警告和错误信息。 ISPICECKT(模拟)――SPICE 拥有的模拟元件,提供的服务:访问、创建和删除节点,在稀疏矩阵上分配空间,同时还允许模型在给定时刻强制仿真时刻点的发生和挂起仿真。 ISPICEMODEL(模拟)――用户实现的VSM 模拟元件要继承此类,并实现相应的载入数据,在完成的时间点处理数据等。 IDSIMCKT(数字)――DSIM 拥有的数字元件,提供的服务:访问数字系统的变量,创建回调函数和挂起仿真。 IDSIMMODEL(数字)――用户实现的VSM 数字元件要继承此类,并实现相应的引脚状态变化的判断和回调事件的处理。 IDSIMPIN(数字)――数字组件的引脚,提供检测引脚状态和创建输出事务事件的服务。 IDBUSPIN(数字)――数字组件的数据或地址总线,提供检测总线状态和创建总线输出事务事件的服务。 IMIXEDMODEL(混合)――同时继承了ISPICEMODEL 和 IDSIMMODEL ,元件既有模拟特性,又有数字特性。 为了让Proteus 访问用户模型中的成员函数,必须创建用户模型的一个实例。这不能通过类的接口来实现,只能通过从DLL 中导出几个C 函数来实现,在用户模型中必须实现这些C 函数,达到构造和...