MILIUZ: C语言的8051编译器
致力于实现一个开源实用的c语言单片机编译器。
支持特性
数据类型
类型名称 | 类型宽度 | 支持情况 |
char | 8bits | 已支持 |
short | 16bits | 已支持 |
int | 16bits | 已支持 |
long | 32bits | 已支持 |
float | 32bits | 已支持 |
long long | 64bits | 暂未支持 |
double | 64bits | 暂未支持 |
下载
使用说明
下载后,在example_8051目录下,有多个例子,可以编译并通过proteus仿真测试。
如何编译代码:
编译使用了Makefile方式。发行版里,自带了make.exe可以用于编译。
例如要编译example_8051\led01 里面的程序,则开启cmd。
进入目录 | cd example_8051\led01; |
清理之前编译的文件 | ..\..\make\make.exe clean; |
编译 | ..\..\make\make.exe ; |
清理临时文件 | ..\..\make\make.exe ctmp; |
例程程序仿真截图:
led闪烁 | |
交通灯 | |
生日快乐歌 | |
timer0交通灯 | |
矩阵按键数码管显示 | |
代码模块
- asm8051: 8051的asm到hex的汇编编译器。
- ir/irread: 定义的中间语言。中间语言的读写。
- cfront: c语言的前端。
- backend/ir2asm8051 ir转为8051汇编语言的后端代码。
- misc 其他公共函数等。
- lmake 简单的make的部分功能实现,用于生成项目和编译程序用。
- sim8051 8051的仿真代码,用于测试验证生成的hex代码运行功能是否正确。
- ide_one 总体编译器统一集成编译项目。
需要的帮助
在github项目上点赞和fork |
对项目方向代码结构等方面提出各种问题 |
测试并提交异常问题或正常通过的例程代码 |
添加项目文档 |
添加前端/后端代码 |
提供使用或者特定开发需求 |
提供资金支持 |
联系
可以在项目的issues中留言。