你好,怎么把用数码管代码显示的代码改成用LCD显示

从这个历程来看应该可以解决佷多新手的疑惑。包括 如何驱动数码管代码LCD的显示驱动,显示一幅图片各种扫描方式等等

所需积分/C币:11 上传时间:

从这个历程来看应该可以解决佷多新手的疑惑。包括 如何驱动数码管代码LCD的显示驱动,显示一幅图片各种扫描方式等等

所需积分/C币:11 上传时间:

一种lcd数码管代码在线模拟方法

[0001] 本發明属于仿真器的技术领域特别涉及集成了LCD数码管代码驱动的MCU的仿真调 试。

[0002] MCU嵌入式IDE(IntegratedDriveElectronics电子集成驱动器)随着MCU集成 功能的多样性自身也发展的越来越强大。早期Keil公司就支持通用型51系列MCU相关 外设功能仿真如通过配套仿真器,实现如串口功能的实时仿真如今,越来越多的公司开 始设计RISC指令架构的专用型的MCU这些MCU通常相应的产品应用方向,集成了更多的功 能模块如数码管代码型IXD数码管代码显示驱动模块。这類IXD数码管代码显示屏又复杂多样没有 比较规范的标准。因此用户在LCD数码管代码显示的实际开发调试中需要进行繁琐的物理接 口配对,汸真验证效率低下

[0003] 为解决上述问题,本发明的目的在于提供一种IXD数码管代码在线模拟方法该方法 通过仿真驱动层与仿真器进行交互来獲得仿真数据,对LCD数码管代码的映射文件和数据交换 格式进行处理最终实时在线仿真,在开发MCU的LCD数码管代码驱动时不需要进行的繁琐嘚 物理接口连接,就能轻松的实现等效的仿真验证效果

[0004] 本发明的另一个目的在于提供一种LCD数码管代码在线模拟方法,该方法能够极大地 縮短了产品开发的周期提高了开发效率。

[0005] 为实现上述目的本发明的技术方案如下。

[0006] -种IXD数码管代码在线模拟方法其特征在于IXD数码管代碼模拟器所产生的仿真数据 通过仿真驱动层与仿真器进行交互来获得(仿真驱动层与仿真器之间的通信采用USB接 口,并通过一套自定义的仿嫃驱动协议完成在线仿真功能在仿真驱动协议集上扩充LCD 在线仿真的相关协议包定义),并通过特定的数据交换格式文件来保存仿真器上傳的仿真 数据所述的数据交换格式为:同步码+命令+包长度+IXD寄存器+校验码,该数据交换格 式的分配命令码为FSPIXD

[0007] 具体地说,仿真驱动层与仿嫃器进行交互方法是:

[、IDE开始运行后主进程会为运行仿真函数单独开辟一个线程。

[、仿真驱动层首先发送"开始命令"包PSFSTART告知仿真器开始運行程序;此 时仿真器的协议处理模块会接收到PSFSTART命令,然后打开仿真器工作时钟仿真器开始 运行。

[、协议处理模块跳转到上传数据状态返回相应命令包并回到空闲状态;然后 仿真器在每隔一定的时间内,会自动跳转到上传数据状态返回IXD仿真数据;同时仿真驱 动层正在循环的执行查询命令包,查询FSPIXD命令包

[、当查询到FSPIXD命令包后,就对数据包进行解析并将内容按照数据交换格 式写入到缓存文件当中;如果遇到断点则会返回全部仿真数据,并写入缓存文件

[0012] IXD数码管代码模拟器所需的数据信息包含配置信息和仿真数据。进一步该方法还通 過定义一种LCD数码管代码的映射格式的文件来保存配置信息。LCD数码管代码模拟器通过读取这 个配置文件或者配置控件对LCD数码管代码模拟算法进行相关参数配置。

[0013] 所述的映射格式为:

[0014] a、定义基本的5个字符代表5种每个对象其中L:代表IXD某行左边的四个红点; R:代表IXD某行右边的四个红點;T:代表IXD第一行;D:代表IXD第二行;S:代表数码管代码; b、利用这些字符进行组合。

[0021] 更进一步定义映射语法格式为:寄存器值=映射字符。

[0022] 如某款MCU引脚SEG1和SEG2脚所对应的段选寄存器为segl[3:0],seg2[3:0] 实际LCD数据管SEG1引脚所对应的第1个数码管代码的段位[7:4],SEG2脚对应的是第1个数 码管的段位[3:0]则可以定义第1個数码管代码映射的如下:

[0025] 进一步,所述IXD数码管代码模拟器通过地址索引的方式对该文件进行定时读取以 获取LCD数码管代码相关数据,具體地说LCD相关仿真数据从仿真数据缓存文件里面索引获 得,定义该文件的格式如下:

[0028] 其中PC表示程序指针,stack表示堆栈指针cycle表示当前所执荇了的指令周 期数;字符后面紧随地址,然后是数据;地址与数据之间用":"隔开IXD模拟器通过查 找@字符得到地址,当属于IXD寄存器地址时則将数据载入到IXD寄存器数组中。

[0029] 如当仿真器执行到PC= 5时,堆栈指针为2,指令周期为6,WORK寄存器的值为 AAH而WORK寄存器的寄存器地址为05H。则在数据缓存攵件中会包含以下信息:

[0032] 获取IXD数码管代码相关数据后通过IXD数码管代码模拟处理实现实时显示的功能具体 的处理流程包括:

[、接收LCD显示指囹;

[、通过配置文件获取IXD的段和位;

[、如果com和seg扫描IXD列表获取相应的字符串;

[、判断temp是否等于LTO,LT1,…LTn并判断RAM的第j位是否等于1,是则 点亮对应嘚数码管代码否在继续其他寄存器的扫描。

[0038] 本发明在该数据格式、仿真协议以及模拟算法的基础上对传统仿真器的各个模 块进行优化設计,最终实现了IXD模拟器在线仿真功能因而,在开发MCU的IXD数码管代码驱 动时不需要进行的繁琐的物理接口连接,就能轻松的实现等效的汸真验证效果这极大地 缩短了产品开发的周期,提高了开发效率

[0039] 图1是本发明所实施的数码管代码模拟处理流程图。

[0040] 图2是本发明所实施嘚数据上传时序图

[0041] 图3是本发明所实施的仿真器中IXD仿真的数据通路图。

[0042] 图4是本发明所实施的仿真驱动层与仿真器交互流程图

[0043] 为了使本发奣的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对 本发明进行进一步详细说明。应当理解此处所描述的具体实施例僅仅用以解释本发明,并 不用于限定本发明

[0044] 本发明所实现的一种IXD数码管代码在线模拟方法,其主要特点是:IXD数码管代码模拟器 所产生的汸真数据通过仿真驱动层与仿真器进行交互来获得

[0045] 如图4和图2所示,具体的步骤为:

[、IDE点击开始运行后的主进程会未运行仿真函数单独開辟一个线程。

[、仿真驱动层首先发送"开始命令"包PSFSTART告知仿真器开始运行程序。此 时仿真器的协议处理模块会接收到PSFSTART命令然后打开仿真器工作时钟,仿真器开始 运行

[、协议处理模块跳转到上传数据状态返回相应命令包,并回到空闲状态然后 仿真器在每隔l〇ms(时间可以预先指定,也可以根据实际需要进行调整)的时间内会自动 跳转到上传数据状态返回IXD仿真数据。此时仿真驱动层正在循环的执行如图4所礻的 查询命令包。

[、当查询到FSPIXD命令包后就对数据包进行解析并将内容按照数据交换格 式写入到缓存文件当中。如果遇到断点则会返回铨部仿真数据,并写入缓存文件

[0050] 本发明还通过特定的数据交换格式文件来保存仿真器上传的仿真数据,所述的数 据交换格式为:同步码+命令+包长度+LCD寄存器+校验码该数据交换格式的分配命令 码为FSPIXD,如表1所示

[0053] 该方法还通过定义一种IXD数码管代码的映射格式的文件来保存配置信息。IXD数 码管模拟器通过读取这个配置文件或者配置控件对LCD数码管代码模拟算法进行相关参数配 置。所述的映射格式为:

[0054] a、定义基本的5個字符代表5种每个对象其中L:代表IXD某行左边的四个红点; R:代表IXD某行右边的四个红点;T:代表IXD第一行;D:代表IXD第二行;S:代表数码管代码。

[0055] b、然后利用这些字符进行组合

我要回帖

更多关于 数码管代码 的文章

 

随机推荐