找回密码
 立即注册
查看: 521|回复: 0

用中间语言实现对STC单片机的基础算法封装

[复制链接]

该用户从未签到

26

主题

24

回帖

297

积分

荣誉版主

积分
297
发表于 2023-8-2 11:52:42 | 显示全部楼层 |阅读模式
本帖最后由 redelz 于 2023-8-2 13:27 编辑

1,设计中间语言不是为了人工编写软件程序,目的是实现图形化编程,实现跨平台图形化程序编译。图形化编程是充分利用单片机功能,实现单片机开发工具编写复杂设备控制(运动)最重要的技术手段。
2,中间语言对基础算法的封装采用输入输出传递模型,而不是传统的过程调用函数。原因是如果采用过程调用函数就必须回到图灵机编程模型。这样的图形结构无法封装,无法清晰表达继承关系,总之无法实现图形化。采用输入输出传递模型就可以实现图形化的基础算法。而且可以形成递归和对象封装模式。
3,输入输出传递模型算法完备性表达和图灵算法完备性表达是完全一致的,因为一个局部完整的图灵算法仍然可以表达成输入输出传递算法。我们强调算法表达完备性就是认为图形编程不是简单的简化编程算法,而是要用更加清晰的逻辑表达复杂的算法功能。使得面向图形的编程工具既可以表达一般性的程序算法,也可以编写出文本语言无法做到的算表达(这个内容以后详述)。
4,中间语言指令可以有效解决算法功能实例化。我们设计的中间语言指令包含完整的输入输出变量,利用相同的指令功能代码,通过不同的输入输出变量就可以实现算法功能实例化。
5,变量透明是指用户程序指定的变量和中间语言的变量实现完全一致,这样在编译工具只要生成简单的变量交叉参考表就可以实现系统的变量透明。这样的安排有三个好处:一是为用户程序实现性能测试标准化;二是实现人机交互算法与设备控制算法分离;三是可以充分利用STC单片机的内存资源。
6,通过中间语言指令进行基础算法封装,首先可以解决算法完备性表达的基础问题,其次可以解决复杂编程的基础算法,三是可以彻底屏蔽底层的芯片设备接口细节,四是STC单片机特别是STC32F系列集成了32位乘除法单元和单精度浮点运算单元。这足以支撑设备运行控制的各种高级算法。
7,中间语言还有一个最大的好处就是能够实现各个指令之间的算法隔离,这样就可以实现各个指令算法的独立测试独立维护升级,避免附加错误,实现用户算法表达的完备性可可测试性。
8,中间语言是充分利用STC单片机计算性能最好的解决方案。前面给大家上传的PLC能够运行梯形图程序的驻机软件就是采用这个中间语言设计完成的。
回复 送花

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2024-6-2 05:28 , Processed in 0.069267 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表