本发明涉及一种汉语编程单片机的计算机系统,即汉语编程单片机、工控机是一种基于汉语计算机语言的单片机和工业控制机计算机系统。它适用于工业、农业、医疗、教育、环境、交通以及家庭等等行业的实时操作的应用。
单片机应用是近几年来的在控制及仪表方面非常有前景的一门技术。但是它的应用难度非常大。其表现主要体现在应用过程中的软件及其硬件的开发。一般开发过程见图1。利用专用单片机为仿真器11,通用的个人计算机并配置交叉汇编软件12,及通信装置13完成目标代码的传送及跟踪调试构成开发系统。开发过程的流程图见图2。首先将所需的应用程序在开发系统上进行仿真试验21,然后再设计硬件电路22。在硬件样机23电路安装调试完成后还有软件加载的过程24才能完成一个产品25的设计。传统的单片机产品开发中设计者必须熟悉单片机的硬件结构以及单片机指令系统,最为重要的是设计者必须使用汇编语言开发应用程序,使得开发周期非常之长,难度之大简直到了让人难以忍受的地步。一般来讲,一个人要达到能够完成单片机开发的水平必须受到较为长期良好的训练才行。所以传统的设计方法严重地阻碍了单片机推广与应用。
为了克服上述问题,本发明的目的是开发一种标准软件和硬件的环境,这种环境的模式是用户只需从市场上买到现成的单片机计算机系统,并能直接依托此环境进行直接编程,程度调试完成后设计这不需对单片机计算机系统部分进行重复设计,而是将编程所用的计算机直接应用在实际的产品中。根据上述的要求,就必须利用软硬一体化的设计方法发明一种软件运行效率极其高,硬件开销又极其小的规范化的单片机计算机系统,在这个系统中用户只需进行少量的编程工作以及外围的硬件环境试验就可以完成一个产品的设计。
基于上述要求,我对现有的软件以及它们与硬件一体化设计的条件进行了大量的分析,认为利用传统的方法来解决此问题答案几乎为零,即使实现了较高软件硬一体化设计过程,但将来到推广应用中其编程难易程度仍然存是个问号。
汉语程序设计语言移植在单片机计算机系统上是一种极为优化的软硬一体化设计方法。使得单片机计算机系统高级语言化成为实用,同时在实际的运行系统中几乎不增加多于的硬件开销。
汉语编程语言完全不同于英文程序设计语言,并不是将一般的程序设计语言中的关键字翻译而得。使用汉语编写计算机程,只要略知计算机的运行机制就可根据自己的需要进行文字创作,而这一过程也就是程序设计的过程。这样既提高了编程效率,又给用户带来了极大的方便。
汉语计算机语言也能象汉语一样,可以从大量的单字中去选择一定的字来组词,这些词既能象传统计算机语言中的语句一样,完成各种各样的操作,又可以象基本单字一样去组成新的单词,以便完成更复杂的操作。如此不断地发展下去,其语句的语义越来越广泛,最终接近于自然语言。程序越往后编就越能体现文字创作的艺术,因此程序员的语言水平决定着他的汉语程序设计水平。
利用单片机汉语编程系统进行产品的开发过程见图3。软件的开发只需将汉语编程单片机的计算机系统31通过通信口34与终端33(一般用个人机仿真终端)连接,然后直接使用汉语编程语言进行程序设计。同时在汉语编程单片机系统的I/O局部总线35端接上外设电路32就可以进行实际产品的电路试验与测试。所以用汉语编程单片机开发产品的硬件设计过程如图4所示。第一步41对所开发产品的接口进行电路试验,第二步42对接口电路进行布线设计,第三步43将汉语编程单片及的计算机系统31与接口板32合二而一,第四步44形式产品。此过程不需对产品中的计算机系统部分进行设计。另外由于开发中使用的单片计算机系统与产品中无任何差别,同时高级语言解决了绝对保证软件加载过程中数据区与程序区的分离,所以不存在硬件完成后,产品调试时所进行的软件加载过程。
综上所述,实现本发明的目的所采取的技术措施是:
设计包括键盘、监视器、磁盘接口管理的一种汉语编程单片机的计算机系统,包含:
a.单片机汉语编程系统具有一个汉语词典单元,该汉语词典单元完成系统的解释、编译及运行;词典单元中含有操作系统应用的设备驱动、设备管理、文件管理、命令管理、解释、编译、编辑、跟踪调试等各个层次;
b.该汉语词典单元依据用户输入的文本合法输入流(输入流中应含有繁衍新词的字符串如“编”和“。”等),能繁衍出汉语新词的词典标识单元,该词典标识单元也可以在读写存储体中繁衍出包括此功能的新的复合词;
c.该系统采用软-硬一体化设计,将一只可读存储体和一可读写存储体的部分地址在硬件上连接重叠,两个存储体的数据的读出与否通过总线仲裁器决定,该总线仲裁器利用系统的“固词→”单元指针上的地址判定选择两个存储体中的一个;
d.应用系统中可将可读写存储体中的词典单元部分转移到只可读存储体中,同时总线仲裁器和“固词→”可根据新的方式选择读写两个存储体之一。
e.该系统利用3-8译码器连续译出8个或64个I/O地址,达到I/O局部总线的外部扩充。
结合附图对本发明的内容及其实施例详细说明如下:
汉语编程单片机系统原理如图5所示。
汉语单片机编程系统的硬件主要由一个带串行通讯口的单片机(CPU)51,两个存储体,只可读存储器51(ROM)和可读写存储器53(RAM),一个专用的总线通道仲裁器54,一个串行口34,一个与总线仲裁器控制的RAM地址平移装置56,一个与扩充总线有关并由译码与驱动电路组成的局部I/O通道35。这些硬件的结构连同软件有机地组合在一起,并能自动地根据系统的要求对同样地址的不同存储器进行访问。
在此单片机系统的使用中,两个存储体与CPU组成内部总线,总线通道总裁器54将根据软件和硬件的设计要求迫使CPU51动访问其中一个存储体并运行其程序。在只可读存储器52中固化有汉语编程计算机的基本词典单元57,在系统编程过程中是使用自身所带的串行口与终端连接(一般用PC机仿真,借用PC机的键盘监视器及磁盘等资源),开发中编写的程序被装入可读写存储器53中,形成与汉语编程系统固有词典单元兼容的添加词典单元部分58,此部分的程序可以进行重复的修改。对于可读写存储器的访问不仅要根据总线通道仲裁器的控制还要根据RAM地址平移装置56决定需要访问的具体地址。待程序设计完成并调试无误后可将词典单元添加部分58与系统固有词典单元57一起通过EPROM编程器一并写入另一片EPROM然后将原来的ROM芯片替换,就形成了应用系统。
如果在应用中或现场调试中需要接终端跟踪调试还可直接插上PC机进行现场调试,由于通讯的物理协议是设计在板外的这样通讯的距离可以根据实际需要进行选择。如具有RS-423协议的电缆直接通讯距离超过1000米。
发明内容:
适用于单片机汉语计算机语言设计规范(见附页);
数摞操作:
数摞操作是汉语编程特有的表达方法和数据运算方式,将汉字字符集中的图形符号引入数摞操作的表达,就产生对意识流和数据流自动分开的编程习惯,大大地增强了程序设计的意识效果。
在汉语单片机计算机系统的基本词典单元中首先必须固化有数摞操作词的标识以及它们执行的实体:
√ nn……nl n0 n---nn-1 ……nl n0 nn
第n个数摞值,不计入n本身。它首先被移走,然后再移到数摞顶层。
将其余值下移入空位置{0…数摞总项数减1}。
例如:2√等价于∴
0√是零操作
∽ nl n2---n1 n2 n1
复制数摞次项。
∴ n1 n2 n3---n2 n3 n1
旋转数摞顶层三项内容。即将三项中最深数摞内容移到数摞顶层。
♀ n---
从数摞顶层删去16位的数。
♂ n---n n
复制数摞顶层16位数。
§ nn nn-1……n1 n0 n---nn nn-1……n1 n0 nn
16位的数nn是第n项数摞值的拷贝,不计入n本身{0…数摞总项数减1}。
例如:0 § 是等价于♂
1 § 是等价于∽
↑↓ n1 n2---n2 n1
汉语编程单片机在执行中将根据一种非常复杂的运行机制最终通过图5的54总线通道仲裁器从只可读存储器(图5的52)中找到这些标识,并当作程序执行或做其它的处理。虽然程序的执行是根据只可读存储体(图5的52)中的内容完成的,但执行中所处理的数据都必须在可读写存储体(图5的56)中读出或保存,所以总线仲裁器这时必须保证将与可读写存储器体的通道打开。
汉语编程单片机系统的编程特点:
单片机汉语编程系统是以词典为单元基础,完成系统的解释、编译及运行。词典中含有操作系统应有的设备驱动、设备管理、文件管理、命令管理、解释、编译、编辑等各个层次。对于一般程序的编译是以“编”开头句号“。”结束。随着“编”后的除分割符空格之外的第一串字符串是此词的名称。每“编”一个新词,其词名就既可以作为命令、语句使用,同时它也是一个子程序、一个宏的标识。如“编”一个平方的程序可以用下列方法:
编平方♂ ★。
这时词典单元中就形成了一个新词,这个词可以直接以命令的方式执行:
3平方 显9
同样它还可以作为语句供其他的程序中使用:
编 四次方 平方 平方。
而执行:
3 四次方 显81
在“四次方”程序实体中使用的只有自己所编“平方”词而已。从此例可以说明,利用这样的程序设计方法,程序设计者随着程序设计的进行将越来越依赖于自己新繁衍出的那部分属于自己的东西。程序员的语文水平最终是程序设计的关键所在。
所以汉语编程单片机的基本表达方式是本发明的内容之一如使用“编”开头,句号“。”结束等。在程序设计中每当使用“编”这个词时,解释器就会根据这个词的词名标识在图5的52只可读存储器的词典单元中找到“编”的属性标识并繁衍出“编”后所跟宾语的新词,直到遇到句号“。”结束。这个新词生成在可读写存储器中。图5的54总线通道仲裁器会根据汉语编程单片机计算机系统的运行机制自动地访问图5的53可读写存储器,使得两个存储器好象一个一样。
由于汉语编程单片机系统中固有词典单元(图5的57)中含有能够繁衍新词的词典标识单元,以及它们的实体,它们可以在可读写存储体(图5的57)中繁衍出新词,同时本系统会根据总线通道裁器访问两个存储体之一的具体存储区域。所以词典单元中具有繁衍能力的基本词是非常重要的。具体如下:
编 ---
使用形式:
编……。
选择检索词汇支“支→→”与编译词汇支“编译支→”相一致。在“编译支→”中生成的词典单元项目,并设置编译模式。在输入流中的后随的非立即执行词汇的编译地址被存入词典单元,当以后调用词时,非立即执行词时才被执行。立即词则是一遇到就被执行。对新生成的词汇定义在成功处理相应的“。”或“。汇编”之后才能从词典单元中查出。如果某一词汇在“支→→”和“汉语根”词汇支中检索后还找不到,则按当前数基进行数字的转换和编译,如果转换再失败,则存在错误条件并异常终止编译。
--- 编,即,
--- (编译时)
停止一个“编”定义的编译,使这个“编”定义的可以在词典单元中合法的查出,设置解释状态并编译“终止”。
建词头 ---
生成一个词的标题,假设计数字节和文本名称已被取入“可用地址”。使标题形式适于在“汇编”机器(代码)定义中使用即采用属性域地址中 含有实体域地址的格式。
建词 ---
定义词汇使用形式:
建词
生成的词典单元项目。在生成之后,下一个可利用词典单元单元就是的实体域中的第一个字节。随后执行时,的实体域中的第一个字节的地址被留在数摞顶层。“建词”并不给的实体域分配空间。
动作 --- 编,即,
---
定义一个词在执行时运作,而该词是由高级定义词所生成的。其使用形式:
编……动作…。
随后是:
…
其中是“建词”或者执行“建词”的任何用户定义的词汇。“动作”标记定义词汇定义部分的结束。并接着开始对那些以后用定义的词在执行时的动作进行定义。当以后执行时,的实体域地址被放在数摞顶层,执行“动作”和“。”之间的词汇序列。
为 n---
定义词汇的使用形式:
n为
它生成词汇,在它的实体域中含有常数n。当以后执行时,它将数值n放在数摞的顶层。
双数为 d---
定义词汇的使用形式:
d为
它生成词汇,在它的实体域中含有常数d。当以后执行时,它将32位数值d放在数摞的顶层。
变量: ---
定义词汇的使用形式:
变量:
执行变量时,它生成的定义并在它的实体域中分配两个字节。
当以后执行时,实体域地址留在数摞的顶层。
双变量:---
定义词汇的使用形式:
变量:
执行变量时,它生成的定义并在它的实体域中分配四个字节。
当以后执行时,实体域地址留在数摞的顶层。
词典单元规范:
汉语编程系统中词的结构和运行的机制都有及其规范的形式,从而从系统的优化上具有很大的优势,从而将高级语言成功地应用在单片机系统之上。
汉语编程系统中的词都必须有其代码部分的标识,此标识可以被系统的内部解释/编译器识别,以保证其被执行或编译。另外汉语系统中的词还应有一个词名标识,以便于检索,同时名称标识中还含有标定代码的标识,如命令的执行就是先找到词名的匹配,然后根据词名标识出的代码标识执行此程序
由于有了这种汉语编程方案,使得单片机的编程可以象普通个人机那样只要接上键盘、监视器和磁盘就可以编程,而程序设计完成后又可以直接将这个系统应用于现场。在现场如果需要调试也只需象开发时一样接上键盘、监视器和磁盘,就如同开发时的编程一样。一般情况下汉语编程单片机使用的键盘、监视器和磁盘是借用流行的PC机的键盘、磁盘监视器来实现的这样就不必专门为之开发汉字系统,开发者习惯于哪一种录入方法或汉字系统都是可以的。
单片机的开发有其特殊的要求,如果在巴掌大的电路板上实现如同PC机那样的内存和外设功能