/*-----------------------------------------------------------------------
| FILE DESCRIPTION |
-----------------------------------------------------------------------*/
/*----------------------------------------------------------------------
- File name : guide.txt
- Author : zeweni
- Update date : 2020.06.23
- Copyright(C) : 2020-2021 zeweni. All rights reserved.
-----------------------------------------------------------------------*/
/*-----------------------------------------------------------------------
| GUIDE |
-----------------------------------------------------------------------*/
8051-ELL是一个专门为增强型1T8051内核MCU设计的硬件抽象平台。本导读讲为你介绍
ELL的基本架构、数据结构、代码编写准则,希望能够帮助你深入学习ELL库。
更多文档和参考设计,可以访问:
8051-ELL文档中心(官网):https://8051-ell-web.vercel.app
8051-ELL API文档中心:https://8051-ell-api.vercel.app/index.html
QQ技术支持群:1001220381
一、基本架构
设计框架上,ELL分为三个组成部分,分别是片内外设库、组件库、设备驱动库。片内外
外设库是核心库,包含MCU的片内外设驱动,是ELL的核心组成;组件库和设备驱动库,开放
给开发者,可以编写自己的驱动和移植软件包。
文件细节上,ELL有lib文件夹和project文件夹组成。
lib文件夹包含startup文件夹、core文件夹、peripherals文件夹、compponents文
件夹、drives文件夹。startup文件夹存放启动代码,是汇编语言;core文件夹存放MCU的
寄存器文件和ELL核心数据类型文件,同时它还负责管理MCU的中断(比如定义中断号);其他
文件夹和设计框架一一对应。
project文件夹,存放Keil-C51工程,后续会支持IAR和SDCC。具体包含main文件夹、
application文件夹、build文件夹。main文件夹存放系统的初始化文件和中断服务函数文件;
application文件夹存放开发者自己的代码;build文件夹存放编译的烧录文件和汇编文件。
二、数据结构
ELL采用了面向对象的封装思想,但是考虑51的资源和性能,又做了一些调整和取舍。对
于同类外设,且工作模式的外设,采用结构体+枚举体的方式封装;对于单个外设,且比较抽象
的,采用函数传参完成封装,但是传参的参数,仍然采用枚举体或者格式统一的宏来封装。
结构体+枚举体的封装里,枚举体作为结构体成员,主要是负责某一个功能或参数的设置,
而包含这些枚举体成员的结构体,往往代表一个外设的全部信息。
除此之外,ELL灵活运用了宏的特性,具体有宏函数、控制宏、宏传参。宏函数是对寄存器
操作进行封装,以保证执行效率的同时,提高可读性;控制宏用来裁剪ELL的功能和做一些配置
工作。
三、代码编写准则
1.宏命名:全部采用字母大写;
2.变量命名:采用动宾结构,单词过长要缩写(保留三个字母),单词之间用`_`连接
全局变量说明:要加前缀'G_'
局部变量说明:首字母小写
5.函数命名:名字+动作形式,单词首字母大写,单词之间用`_`连接
函数传参说明:首字母小写
6.代码注释规范:采用Doxygen规范,具体细节可参考库源代码。
/*-----------------------------------------------------------------------
| END OF FLIE. (C) COPYRIGHT zeweni |
-----------------------------------------------------------------------*/
没有合适的资源?快使用搜索试试~ 我知道了~
基于增强型1T8051内核MCU的MCS51-ELL硬件抽象平台设计源码
共323个文件
c:150个
h:85个
uvproj:23个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 188 浏览量
2024-09-26
02:30:45
上传
评论
收藏 16.33MB ZIP 举报
温馨提示
该项目为增强型1T8051内核MCU量身定制,提供一套MCS51-ELL硬件抽象平台设计源码。包含318个文件,涵盖150个C语言源文件、85个头文件、23个批处理脚本、23个工程配置文件、6个汇编文件、5个文本、5个PNG图像、5个编译优化设置文件、4个JPEG图像、2个Markdown文件。该平台以C语言为主要开发语言,旨在为开发者提供高效、便捷的硬件交互环境。
资源推荐
资源详情
资源评论
收起资源包目录
基于增强型1T8051内核MCU的MCS51-ELL硬件抽象平台设计源码 (323个子文件)
Clear.bat 253B
Clear.bat 253B
Clear.bat 253B
Clear.bat 253B
Clear.bat 253B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
Clear.bat 211B
STC8x_UART.c 31KB
STC8x_PWM.c 27KB
STC8x_TIMER.c 26KB
STC8x_PCA.c 24KB
STC8x_EEPROM.c 9KB
STC8x_SYSCLK.c 9KB
STC8x_I2C.c 8KB
STC8x_ADC.c 7KB
example_mpwm.c 6KB
STC8x_COMP.c 6KB
STC8x_MPWM.c 6KB
init.c 5KB
init.c 5KB
STC8x_SPI.c 5KB
STC8x_GPIO.c 5KB
init.c 5KB
init.c 4KB
STC8x_RST.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
example_adc.c 4KB
example_adc.c 4KB
example_pca.c 4KB
init.c 4KB
init.c 4KB
isr.c 4KB
isr.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
init.c 4KB
STC8x_WDT.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
init.c 3KB
init.c 3KB
STC8x_DELAY.c 3KB
init.c 3KB
isr.c 3KB
example_eeprom.c 3KB
example_exti.c 3KB
example_eeprom.c 3KB
example_eeprom.c 3KB
STC8x_POWER.c 3KB
example_exti.c 3KB
example_exti.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
isr.c 3KB
共 323 条
- 1
- 2
- 3
- 4
资源评论
xyq2024
- 粉丝: 2400
- 资源: 5452
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- JAVA的SpringBoot客户关系CRM管理系统源码数据库 MySQL源码类型 WebForm
- 可直接运行 MATLAB模拟浴缸热水温度分布效果 温度传导效果图源代码.rar
- mastermastermastermastermastermastermastermastermastermastermast
- Tensorflow基本概念
- 在打开分析时执行脚本demo
- 伯克利大学机器学习-9Active learning, experimental design [Daniel Ting]
- 九州仙侠传2砸蛋系统以及各类修复带数据库
- 伯克利大学机器学习-8Collaborative Filtering [Lester Mackey]
- JAVA的Springboot医院设备管理系统源码数据库 MySQL源码类型 WebForm
- C/C++基本框架及解释
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功