# 8051-ELL **Repository Path**: wx030510226/ELL-8051-LIB ## Basic Information - **Project Name**: 8051-ELL - **Description**: 这是一个专门为增强型1T8051内核MCU设计的ELL库。 - **Primary Language**: C - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/zeweni/ELL-8051-LIB - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 55 - **Created**: 2021-06-30 - **Last Updated**: 2021-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 8051-ELL 库简介 [**8051-ELL官网**](https://zewen-i.github.io/8051-ELL-WEB/) [**全新的API文档中心**](https://zewen-i.github.io/8051-ELL-API/) [![](https://img.shields.io/badge/version-1.1.6-green)](https://github.com/zewen-i/8051-ELL-LIB) [![](https://badgen.net/github/license/zewen-i/8051-ELL-LIB?color=orange)](https://github.com/zewen-i/8051-ELL-LIB) [![](https://badgen.net/github/stars/zewen-i/8051-ELL-LIB?color=green)](https://github.com/zewen-i/8051-ELL-LIB) [![](https://badgen.net/github/forks/zewen-i/8051-ELL-LIB)](https://github.com/zewen-i/8051-ELL-LIB) star fork 8051-ELL库,是根据新一代增强型8051为内核的MCU,基于keil开发的软件包。函数库采用了LL库的编程思想,充分考虑8051的特性,结合硬件条件,提供大量标准的API函数,供开发者访问底层硬件细节。并且函数库的大小可裁剪,在代码密度和执行效率上做了很好的平衡。 ELL是`efficient low-layer`的缩写,意思是`高效低封装`,结合了`HAL库`和`LL库`的编程思想,既保证了通用性又降低了flash的过度占用。可谓是一举两得,高效、简洁、好用! 8051-ELL库支持Keil4和Keil5,支持Vscode协同开发,推荐使用EIDE插件。目前ELL库主要适配了STC公司的单片机型号,以STC8系列为主。后续计划增加STC12、STC15、STC16系列。 函数库遵循 Apache 许可证 2.0 版本,可免费在商业产品中使用,不需要公布应用程序源码,没有潜在商业风险。 大家觉得好用的话,记得给个Star,我想上自荐!!!! **** 当前版本为:`1.1.6` 版本更新时间:`2021.04.23` 作者微信:ze_wenu B站账号:泽文i QQ技术支持群:` 1001220381` **** ## 下一个版本的特性预览 * 增startup.asm汇编文件,用于集中处理堆栈、可重入、**硬件仿真调试(完美支持)**、Keil中断号超出的问题 * 取消NVIC.c NVIC.h 文件,相关类型定义和中断号宏定义,转移至ELL_CORE.h文件 * 相应中断功能和引脚切换复用功能函数,移动至对应模块下,方便操作。 * 增加中英文注释,采用UTF-8编码。 * 修复若干个bug * 配套新版开发者文档(陆续推出) ## 新手如何入门 如果你明白了ELL函数库的架构,那么对你学习本库会有非常大的帮助!函数库采用了一个裸机框架来组织库文件。框架包括两大部分:`工程文件`和`库文件`。 工程文件主要存放`Keil工程`、`Vscode文件`、`用户代码`。这里可以根据你的编程习惯进行安排,非常的自由!库文件才是我们的重头戏,它主要分为四个部分:`核心文件夹`、`片内外设库`、`组件库`、`设备驱动库`。 **** 核心文件夹: 存放各种MCU的寄存器头文件、函数库重定义数据类型头文件、函数库常用数据结构头文件 片内外设库: 存放MCU的片内外设模块,是库的主要构成单元。 组件库: 配套8051内核开发的好用组件,具有一定的抽象性和封装性,能加速项目的开发,比如TMT时间片任务进程组件。 设备驱动库: 一些常用的外围芯片、模块,通过统一的驱动框架进行封装,方便开发。 **** 下面是ELL库的框架图: ![img](doc/image/8051-ELL-FrameWork.png) 整个固件库,充分利用了keil的一些特性,比如使用LX51扩展链接器/定位器,优化了BL51的功能,可以生成更小的目标文件等 # 支持的型号及外设 > `√`代表已经支持、`空`代表MCU没有这个外设、 ` X`代表还没有适配 ### STC8系列 部分型号可能有所差异,详情可查看官方数据手册。 | 型号 | 定时器 | IO | 中断 | 系统时钟 | PCA | PWM | MPWM | HPWM | EEPROM | ADC | MDU16 | 比较器 | USB | LED | RTC | TKEY | | --------- | ----- | ---- | ---- | -------- | ---- | ---- | ---- | ------ | ---- | ----- | ------ | ---- | ---- | ---- | ---- | ---- | | STC8A系列 | √ | √ | √ | √ | √ | √ | X | X | √ | √ | | √ | | | | | | STC8C系列 | √ | √ | √ | √ | | | | | √ | | √ | √ | | | | | | STC8F系列 | √ | √ | √ | √ | | | | | √ | | | √ | | | | | | STC8G系列 | √ | √ | √ | √ | √ | | X | | √ | √ | √ | √ | X | X | | | | STC8H系列 | √ | √ | √ | √ | | | | X | √ | √ | √ | √ | X | X | X | X |