51上的实用BASIC解释器
51上的实用BASIC解释器编写了一个简单的BASIC解释器,占用资源ROM15K RAM8K,可在S T C8A8K64D上直接运行。其他型号51单片机,亦可在扩展ram或rom后运行该程序(需要改写uart初始化部分)。
https://github.com/PJSDDL/PJ_BASIC
若嫌代码占用太大,可以删除一部分代码(比如报错程序) 首先恭喜新作。但说点我的看法:
一、看不出使用这“BASIC” 的优点;
二、一种程序语言的编译/解释器从测试到实用,一般都需几年的纠错、完善。所以,只是玩玩,可以;不然太费精力了。
本帖最后由 locky_z 于 2024-8-14 13:13 编辑
建议改成针对51内部资源操作的basic,例如增加几个关键字,直接控制IO口,串口通讯、EEPROM操作、寄存器操作(PWM,ADC,DAC等),但中断就就算了。
上电就监听串口,等待串口发来的basic程序以及命令,也可以直接运行eeprom中的basic程序段,这样用家就能直接在PC端写好控制的Basic程序发给51板了,
虽然keil C等也可以实现这些功能,并且是生成hex文件,但写51类的C语言,总是要关心内存分配、变量类型转换、字符串操作,还经常怕堆栈溢出,有点烦。不像高级语言那样,用无类型变量,随时类型自动转换,即用即走(当然前提是内存够大)。 98年,武汉力源 把BASIC 解释器,做到了PIC里面。 51上還用basic?直接匯編很容易,而且直觀,與硬件聯係緊密,用basic感覺畫蛇添足。
楼主只是在玩,大家要留口德:lol 量子隧道 发表于 2024-8-14 15:36
楼主只是在玩,大家要留口德
俺對號入座來了。俺感覺“多餘”的説法未免直接、生硬,所以用了感覺還比較緩和的“畫蛇添足”。讀書不多,用詞也許不當,還請樓主和版主多包涵。:handshake :handshake longshort 发表于 2024-8-14 15:29
51上還用basic?直接匯編很容易,而且直觀,與硬件聯係緊密,用basic感覺畫蛇添足。
汇编的直观性是无论如何不能和高级语言相比的,因此上世纪也出现过针对51点basic解释器。至于说与硬件的联系,basic语言虽然不能做到直接控制寄存器,但是通过读写内存能控制相当多硬件。 locky_z 发表于 2024-8-14 13:06
建议改成针对51内部资源操作的basic,例如增加几个关键字,直接控制IO口,串口通讯、EEPROM操作、寄存器操 ...
最近在搞串口屏,把串口屏作为键盘和显示器,搭建一个类似于vic20或pc1500的东西 好高级 听不懂 学习来了
支持折腾!:)业余时间做个新世界! 可以写编译器, 应该是个高手 可以写编译器, 应该是个高手
页:
[1]