【经验】8位单片机EFM8系列的SFR Page操作


SILICON LABS公司的8位单片机EFM8系列,是采用C8051 内核,集成丰富外设的高性能芯片。由于特殊寄存器(SFR)地址空间为0x80到 0xFF,难以满足外设寄存器的需求。为了增加特殊寄存器的数量,采用了SFR Page机制,允许器件能在0x80 到 0xFF 这个地址空间访问的SFR 数大于128。默认状态下,所有的SFR 访问都指向Page0。
想要访问Page0以外的寄存器空间,需要先使用SFR Page寄存器设置对应的SFR分页,然后再直接读写特殊寄存器。例如,EFM8LB系列的8bit MCU,对IO口Port2的操作,P2MDOUT寄存器的分页为0x00和0x20,但P2SKIP寄存器的分页只有0x20。所以,操作P2MDOUT寄存器时可以使用默认的SFR Page,操作P2SKIP寄存器时,需要先将分页切换为0x20:SFRPAGE = 0x20。操作完成后要记得将SFRPAGE切换到0x00,否则操作Page0分页寄存器时,容易遗忘切换分页,从而产生错误。
/*****************************************************************************/
void PORTS_2_enter_AccumulateMode_from_RESET(void)
{
P2MDOUT = P2MDOUT_B0__PUSH_PULL | P2MDOUT_B1__OPEN_DRAIN
| P2MDOUT_B2__OPEN_DRAIN | P2MDOUT_B3__PUSH_PULL
| P2MDOUT_B4__OPEN_DRAIN | P2MDOUT_B5__OPEN_DRAIN
| P2MDOUT_B6__OPEN_DRAIN;
SFRPAGE = 0x20;
P2SKIP = P2SKIP_B0__SKIPPED | P2SKIP_B1__NOT_SKIPPED
| P2SKIP_B2__NOT_SKIPPED | P2SKIP_B3__SKIPPED;
SFRPAGE = 0x00;
}
/*****************************************************************************/
各寄存器的分页说明可以查看应用文档《reference_manual》,介绍如图1所示。
图1 寄存器分页
增加特殊寄存器分页操作,虽然增加了外设初始化的复杂程度,但是也反映出EFM8系列单片机的外设丰富程度。高性能、高集成度、高性价比、小封装的EFM8系列单片机,希望能为你的产品带来好的解决方案。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由东方的风提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】解析芯科科技8bit MCU EFM8BB5如何使用KEIL开发环境调试烧录
大多使用C8051平台开发的用户都在使用KEIL或IAR开发工具,学习新的SSV5集成开发平台,会投入较多精力和使用习惯问题,不利于产品的快速研发和迭代。故为满足广大用户的需求,本文介绍芯科科技8bit MCU EFM8BB5如何使用KEIL开发环境调试烧录。
【经验】芯科科技8bit MCU EFM8BB5使用J-Link Commander命令行工厂烧写指南
本文介绍如何使用J-Link Commander命令行烧写Silicon Labs(芯科科技)最新推出的EFM8BB5系列高性价比8bit MCU,方便支持工厂烧写工装的自定义界面设计。
Silicon Labs 8位单片机EFM8BB31 SPI通信调试注意事项
Silicon Labs EFM8BB31是一款资源丰富,高效率,小体积的8位单片机,已被许多用户选用,被广泛应用于消费电子,精密仪器,电源管理,工业控制自动化,智能传感器,汽车控制,安防监控等领域。在开发过程中,经常使用到SPI通信,EFM8BB31支持3线或4线模式的SPI主模式和从模式,在调试SPI通信的过程,有哪些注意事项呢?本文将详细介绍。
SILICON LABS EFM8 Sleepy Bee 8-bit Microcontrollers选型表
SILICON LABS 8位MCU选型,基于25MHz Frequency,2~64kB Flash,0.25~4kB RAM等参数进行选型
产品型号
|
品类
|
MCU Core
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
ADC 1
|
Temp Sensor
|
Timers (16-bit)
|
PCA Channels
|
Comparators
|
UART
|
SPI
|
I2C
|
HS I2C Slave
|
I2S
|
EMIF
|
CAN
|
LIN
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
VREF
|
Debug Interface
|
Temperature Range (ºC)
|
EFM8SB10F8G-QFN20
|
Microcontroller
|
8051
|
25
|
8
|
0.5
|
16
|
12-bit, 9-ch.
|
Temp Sensor
|
4
|
3
|
1
|
1
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
1.8
|
3.6
|
QFN20
|
3x3
|
±2
|
VREF
|
C2
|
-40 to 85
|
选型表 - SILICON LABS 立即选型
SILICON LABS 8-bit Microcontroller选型表
SILICON LABS 8位MCU选型,MCU Core 8051,频率20MHz~100MHz,Flash存储2kB~120kB,RAM存储0.25kB~8kB。
产品型号
|
品类
|
系列
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
Dig I/O Pins
|
ADC 1
|
Temp Sensor
|
Timers (16-bit)
|
PCA Channels
|
DAC
|
Comparators
|
UART
|
SPI
|
I2C
|
HS I2C Slave
|
EMIF
|
CAN
|
LIN
|
VREF
|
Debug Interface
|
C8051F392-A-GM
|
8位MCU
|
C8051F39x Small Form Factor
|
50
|
16
|
1
|
1.8
|
3.6
|
QFN20
|
4x4
|
±2
|
17
|
10-bit, 16-ch., 500 ksps
|
Temp Sensor
|
6
|
3
|
10-bit, 2-ch.
|
1
|
1
|
1
|
2
|
0
|
0
|
0
|
0
|
VREF
|
C2
|
选型表 - SILICON LABS 立即选型
SILICON LABS EFM8 Universal Bee 8-bit Microcontrollers选型表
SILICON LABS 8位MCU选型,基于48MHz Frequency,8~64kB Flash,2~4kB RAM等参数进行选型
产品型号
|
品类
|
MCU Core
|
Frequency(MHz)
|
Flash (kB)
|
RAM (kB)
|
Dig I/O Pins
|
5 Volt Tolerant
|
ADC 1
|
USB
|
Temp Sensor
|
Timers (16-bit)
|
PCA Channels
|
Comparators
|
UART
|
SPI
|
I2C
|
EMIF
|
CAN
|
LIN
|
Vdd min(V)
|
Vdd max(V)
|
Package Type
|
Package Size (mm)
|
Internal Osc.
|
VREF
|
Debug Interface
|
Temperature Range (ºC)
|
EFM8UB20F64G-QFP48
|
Microcontroller
|
8051
|
48
|
64
|
4
|
40
|
5 Volt Tolerant
|
10-bit, 32-ch.
|
USB
|
Temp Sensor
|
6
|
5
|
2
|
2
|
1
|
2
|
1
|
0
|
0
|
2.7
|
5.25
|
QFP48
|
7x7
|
±1.5
|
VREF
|
C2
|
-40 to 85
|
选型表 - SILICON LABS 立即选型
silicon labs EFM8LB12系列8bit mcu 如何通过SMBUS bootloader下载软件程序?
需要通hex2boot.exe将.hex文件转成.efm8文件然后通过efm8_load_smbus.exe将.efm8下载到MCU中。
请问带SMUBUS方式下载接口,Silicon Labs的8位单片机EFM8LB12是否通过SMBUS BOOTLOADER直接下载.hex固件程序?
目前ilicon Labs的8位单片机EFM8LB系列带SMBUS接口的MCU不支持直接通过SMBUS下载.hex固件,需要先通hex2boot.exe将.hex文件转成.efm8文件然后通过efm8_load_smbus.exe将.efm8下载到EFM8LB单片机中。
【经验】解析Silicon Labs的8位单片机EFM8SB10休眠时如何处理GPIO口降低功耗
Silicon Labs的8位单片机EFM8SB10采用C8051内核,主频25MHz,集成12BIT的ADC、模拟比较器、触摸按键、UART、SPI、I2C等功能,休眠功耗低至50nA。本文将介绍EFM8SB10休眠时如何处理GPIO口降低功耗。
silicon labs 8bit MCU EFM8LB1 如何擦除自带的bootloader代码?
silicon labs 8bit MCU EFM8LB1 带有的bootloader程序放在固定的存储空间,如果用户需要擦除bootloader,可以使用擦除全部Flash的方法进行擦除,通过Flash Programming Utility软件,连接到MCU,然后在“Download Hex File/Go/Stop”选项下,将“Erase all Code Space before Down”选项勾选,再点击“Download”,在下载HEX文件同时,也将自带的Bootloader擦除掉了。
Silicon Labs的8位单片机EFM8LB10的I2C slave是否可以配置P1.2,P1.3?
Silicon Labs的8位单片机EFM8LB10的I2C slave是固定pin脚的,为P1.3,P1.4,如果需要使用永健I2C slave,那么pin脚不可以使用 crossbar, 如果是否模拟I2C,可以使用任意pin脚。
silicon labs 8bit MCU C8051F410具有的I/O电源电压VIO引脚作用是什么?
silicon labs 8bit MCU C8051F410具有的I/O电源电压VIO引脚输入电压范围为2.0~5.25V,该引脚的作用为当VIO引脚输入的电压为5V时,那么IO口输出高电平的的电压就是5V,如果VIO引脚输入的电压为3.3V时,那么IO口输出高电平的的电压就是3.3V,可以与外部器件实现电平匹配。
Silicon Labs 的8bit MCU EFM8LB11F16ES0在应用程序不嵌入任何“进入BootLoader”代码的情况,是否无法通过SMBUS重 复下载应用程序?
Silicon Labs 的8bit MCU EFM8LB11F16ES0通过SMBUS下载应用程序必须先进入bootloader引导程序,如果应用程序中不嵌入任何“进入Bootloader”代码,只能通过强 制方式进入bootloader,即C2D拉低,然后硬件复位。
Silicon Labs EFM8BB31系列8bit MCU的Reset脚需要外加上拉电阻吗?
Silicon Labs EFM8BB31系列8bit MCU的Reset引脚内部有一具弱上拉,典型值为100k~200k,为了提高抗干扰能力,需要在Reset引脚外加一个1k~5k的上拉电阻。
silicon labs 8bit MCU EFM8LB系列的 C2D引脚硬件设计上是否可以在默认上电前被拉为低电平?
silicon labs 8bit MCU EFM8LB系列的 C2D引脚是复用脚,也可以作为普通IO用,但是需要注意的是,EFM8LB系列自带有boot引导代码,如果C2D引脚默认上电前被拉为低电平,那么在上电后被检测有超过50uS的低电平,MCU就会进入到Bootloader程序中,从而无法运行用户程序。
电子商城
现货市场
服务

可定制单位/双位/三位/四位LED数码管的尺寸/位数/发光颜色等性能参数,每段亮度0.8~30mcd,主波长470~640nm,电压2~10.2V。
最小起订量: 1000 提交需求>

可定制ATD TE Dehumidifier的冷却功率:20~220W;工作电压:12V(DC)/ 220V(AC);控温精度:≤±0.5℃;尺寸:冷面:20*20~500*300;热面:60*60~540*400(长*宽;单位mm)。
最小起订量: 1 提交需求>
登录 | 立即注册
提交评论