本帖最后由 杨为民 于 2024-8-24 21:19 编辑
(1)WD-C351(读做“我的C351”)语言的全称是“WD-C351单片机C语言”,是笔者“我的计算机语言”系列之一,是为各种80x51单片机设计的C语言。 (2)作为长期从事单片机研究和教学的一线教师,笔者深感用专业Keil的C51软件作为初学者的单片机启蒙教育软件过于复杂了,为此需要一个简化的单片机C语言标准。 WD-C351的语法标准是参考国家C语言等级考试的水平和参考谭浩强教材的教学范围。 (3)10多年前以STC15系列单片机和C8051F系列单片机为代表的新一代51单片机问世。新一代的51单片机不但增加了各种AD和工业总线接口控制器,而且对32位的整数和和浮点数的运算要求也大大提高了。而用8位的8051指令集的指令来处理32位数据的程序涉及了大量的非51单片机本身的知识。 当时流行的是51单片机原理教学是从8051指令集开始,用A51汇编语言来讲解51单片机的端口、定时器等片上单元的原理。在实际教学中8051指令集的各种寻址模式和16位、32位数据的处理方法花费了大量的教学时间同时也没有达到掌握51单片机基本知识的目标。 因此笔者设计了金水明80151和金水明80351指令集,在这两个指令集中,一是对XDATA空间数据的存取也支持直接寻址模式,二是对16位和32位的数据处理都采用了单指令形式。 比如对于位于XDATA空间的32位整数变量的C语言语句“Z=X+Y”,可以用以下最简单的(没有之一)4行A351汇编语言实现: LDX EAX,X; LDX EBX,Y; ADDS EAX,EBX; STX Z,EAX; (4)笔者首先设计和实现了WD-A351汇编语言编译器然后再设计和实现了WD-C351C语言编译器。WD-C351编译器先将C351语言编译为A351汇编语言,然后再由WD-A351编译器转换为8051机器代码HEX文件。 WD-A351汇编语言编译器同时支持对8051、80151、80251和80351指令集的支持。 (5)金水151-C351编译器是一款针对Y2C-80151虚拟32位单片机开发的WD-C351 C语言编译器。 (6)金水151-C351编译器软件是一个免安装的EXE可执行文件,不依赖于其他软件,可以直接建立“MakeFile.bat”批处理文件来对WD-C351项目进行编译,直接生成HEX格式的烧录文件。 (7)通常一个使用WD-C351语言的单片机程序项目不但可能包括C语言、汇编语言和头文件这些源程序文本文件,也可能包含OBJ和LIB等模块与函数库二进制文件,因此需要一个项目管理器来管理这些文件和进行源程序编辑。 考虑到Keil的C51仍然是51单片机的主流集成开发环境,因此笔者建议开发WD-C351项目使用Keil的C51集成环境和“MakeFile”编译模式。 由于最终产生实际烧录HEX文件的是金水151编译器,因此只需安装使用Keil的C51的学习版就行了 ,不需要对其进行注册,也不需要打中断号超过31的补丁和汉字0xFD的补丁。在用C51检查源程序语法错误时,忽略这些出错信息就行了。
|