❶ 如何对STM8S的闪存存储器和数据EEPROM编程
1.选项字节的概念(参考stm8s中文数据手册):
选项字节包括芯片硬件特性的配置和存储器的保护信息,这些字节保存在存储器中一个专用的
块内。除了ROP(读出保护)字节,每个选项字节必须被保存两次,一个是通常的格式(OPTx)和
一个用来备份的互补格式(NOPTx)。可以在ICP模式(通过SWIM)下访问下表中EEPROM的地址来修改选项字节。
选项字节也可以通过应用程序在IAP模式下修改,但是ROP选项只能在ICP模式(通过SWIM)下被
修改。
2.ISP IAP ICP的概念(有待学习):
ISP:In System Programing, 在系统编程 程序完全下载
IAP:In applicating Programing,在应用编程 我的理解是用应用程序去修改芯片里边固定的一些数据(与应用编程无关的数据)
ICP:In Circuit Programing, 在电路编程
3.stm8s芯片的备用功能重映射:
stm8s芯片上带有很多备用的功能,这些功能必须使用重映射功能才能实现,
重映射其实就是配置某个flash地址的某一位,使某个引脚具备备用功能或者默认功能的其中一个
而且一旦功能改,想恢复原来的功能必须重新写入。
比如stm8s的PD4端口具有TIM2_CH1 功能和BEEP功能,默认的情况下是TIM2_CH1功能,
当我们要用到BEEP功能时必须写选项字,将这个引脚重映射为BEEP功能。
❷ .sprx怎么打开
STM8S参考手册 RM0016 参考手册 STM8S 微控制器家族 导言 本参考手册为应用开发人员提供了关于如何使用STM8S微控制器的存储器和外设的完整信息。 STM8S是一个拥有不同存储器大小,封装和外设的微控制器家族。 ■ STM8S针对通用应用而设计,关于订货信息,引脚描述,器件的机械及电气参数,请参考 STM8S增强型及基本型数据手册。 ■ 关于内部FLASH存储器的编程,擦除和保护,请参考STM8S Flash编程手册(PM0051) 和 STM8 SWIM 通讯协议及调试模块用户手册(UM0470) ■ 关于STM8内核,请参考STM8 CPU 编程手册(PM0044)。 本译文的英文原文下载地址为:http://www.st.com/stonline/procts/literature/rm/14587.pdf 参照2009年1月 RM0016 Reference Manual STM8S microcontroller family 英文第4版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在ST网站下载更新版本 STM8S参考手册 目录 1 中央处理器(CPU) ........................................................................ 11 1.1 1.2 简介 ............................................................................... 11 CPU寄存器 .......................................................................... 11 1.2.1 1.2.2 1.3 CPU寄存器描述 ................................................................... 11 STM8 CPU寄存器映射 .............................................................. 13 激活级别 ........................................................................ 禁用SWIM ........................................................................ 全局配置寄存器(CFG_GCR)描述...................................................... 全局配置寄存器映射及复位值....................................................... 14 14 14 14 全局配置寄存器(CFG_GCR) ............................................................ 14 1.3.1 1.3.2 1.3.3 1.3.4 2 3 用于系统启动的只读存储器 ............................................................... 15 存储器和寄存器映射 ..................................................................... 16 3.1 寄存器描述缩写 ..................................................................... 16 4 FLASH程序存储器和数据EEPROM ............................................................ 17 4.1 4.2 4.3 4.4 介绍 ............................................................................... 词汇表 ............................................................................. FLASH主要特性 ...................................................................... 存储器组织结构 ..................................................................... 17 17 17 17 4.4.1 4.4.2 4.4.3 4.4.4 4.5 用户启动区域(UBC) ............................................................... 数据EEPROM(DATA) ................................................................ 主程序区 ........................................................................ 选项字节(Option byte)............................................................ 20 23 23 23 存储器保护 ......................................................................... 24 4.5.1 4.5.2 4.5.3 4.6 4.7 读保护 .......................................................................... 24 存储器存取安全系统(MASS)......................................................... 24 对选项字节的写操作 .............................................................. 25 存储器编程 ......................................................................... 25 读同时写 (RWW) ..................................................................... 25 4.7.1 4.7.2 4.7.3 4.7.4 4.8 4.9 字节编程 ........................................................................ 字编程 .......................................................................... 块编程 .......................................................................... 选项字节(Option byte)编程........................................................ 25 26 26 27 ICP和IAP ........................................................................... 27 FLASH寄存器 ........................................................................ 29 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 4.9.8 4.9.9 5 FLASH控制寄存器 1(FLASH_CR1) ..................................................... FLASH控制寄存器 2(FLASH_CR2) ..................................................... FLASH互补控制寄存器 2(FLASH_NCR2) ................................................ FLASH保护寄存器(FLASH_FPR)....................................................... FLASH保护寄存器(FLASH_NFPR)...................................................... FLASH程序存储器解保护寄存器(FLASH_PUKR).......................................... DATA EEPROM 护寄存器(FLASH_DUKR).............................................. FLASH状态寄存器(FLASH_IAPSR)..................................................... FLASH寄存器映射和复位值.......................................................... 29 30 31 32 33 34 35 36 37 单线接口模块(SWIM)和调试模块(DM) ....................................................... 38 5.1 5.2 5.3 介绍 ............................................................................... 38 主要特性 ........................................................................... 38 SWIM模式 ........................................................................... 38 6 7 供电电源 ............................................................................... 39 复位(RST) .............................................................................. 40 参照2009年1月 RM0016 Reference Manual STM8S microcontroller family 英文第4版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在ST网站下载更新版本 STM8S参考手册 7.1 7.2 复位电路 ........................................................................... 40 内部复位源 ......................................................................... 40 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.3 7.4 8 上电复位(POR)和掉电复位(BOR)..................................................... 看门狗复位 ...................................................................... 软件复位 ........................................................................ SWIM复位 ........................................................................ 非法操作码复位 .................................................................. EMS复位 ......................................................................... 40 41 41 41 41 41 复位(RST)寄存器 .................................................................... 42 7.3.1 复位状态寄存器(RST_SR)........................................................... 42 复位寄存器地址映射 ................................................................. 42 时钟控制 ............................................................................... 43 8.1 主时钟源 ........................................................................... 44 8.1.1 8.1.2 8.1.3 8.2 HSE ............................................................................. 45 HSI ............................................................................. 46 LSI ............................................................................. 46 系统启动 ........................................................................ 46 主时钟切换的过程 ................................................................ 46 49 49 49 50 50 51 52 主时钟切换 ......................................................................... 46 8.2.1 8.2.2 8.3 8.4 8.5 8.6 8.7 8.8 8.9 低速时钟源的选择 ................................................................... CPU时钟分频器 ...................................................................... 外设时钟门控 ....................................................................... 时钟安全系统(CSS) .................................................................. 时钟输出功能(CCO) .................................................................. 时钟中断 ........................................................................... 时钟寄存器 ......................................................................... 8.9.1 8.9.2 8.9.3 8.9.4 8.9.5 8.9.6 8.9.7 8.9.8 8.9.9 8.9.10 8.9.11 8.9.12 8.9.13 8.10 9 内部时钟寄存器(CLK_ICKR)......................................................... 外部时钟寄存器(CLK_ECKR)......................................................... 主时钟状态寄存器(CLK_CMSR)....................................................... 主时钟切换寄存器(CLK_SWR)........................................................ 切换控制寄存器(CLK_SWCR)......................................................... 时钟分频寄存器(CLK_CKDIVR)....................................................... 外设时钟门控寄存器(CLK_PCKENR1).................................................. 外设时钟门控寄存器 2(CLK_PCKENR2) ................................................ 时钟安全系统寄存器(CLK_CSSR)..................................................... 可配置时钟输出寄存器 ............................................................ CAN外部时钟控制寄存器(CLK_CANCCR)................................................ HSI时钟修正寄存器(CLK_HSITRIMR).................................................. SWIM时钟控制寄存器(CLK_SWIMCCR).................................................. 52 53 54 55 56 57 58 59 60 61 62 63 64 时钟寄存器地址映射 ................................................................. 65 电源 ............................................................................... 66 9.1 9.2 常规考虑 ........................................................................... 66 低功耗的时钟 ................................................................... 66 9.2.1 9.2.2 9.3 降低系统时钟 .................................................................... 66 外设时钟门控 .................................................................... 66 等待(Wait)模式 .................................................................. 67 停机(Halt)模式 .................................................................. 67 活跃停机(Active Halt)模式........................................................ 68 停机模式下的快速内存唤醒......................................................... 68 活跃停机模式下的超低内存功耗..................................................... 68 低功耗模式 ......................................................................... 67 9.3.1 9.3.2 9.3.3 9.4 附加的模拟功耗控制 ................................................................. 68 9.4.1 9.4.2 10 中断控制器(ITC) ........................................................................ 69 参照2009年1月 RM0016 Reference Manual STM8S microcontroller family 英文第4版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在ST网站下载更新版本 STM8S参考手册 10.1 10.2 简介 ............................................................................... 69 中断屏蔽和处理流程 ................................................................. 69 10.2.1 10.2.2 10.3 10.4 10.5 处理等待(排队)的中断 ........................................................ 70 中断源 ........................................................................ 71 中断和低功耗模式 ................................................................... 72 活动等级/低功耗模式的控制 .......................................................... 72 同时的和嵌套的中断管理 ............................................................. 72 10.5.1 10.5.2 10.6 10.7 10.8 10.9 同时发生中断 模式 .......................................................... 72 嵌套中断 模式 .............................................................. 73 74 74 75 76 外部中断 ........................................................................... 中断指令 ........................................................................... 中断映射 ........................................................................... ITC寄存器 .......................................................................... 10.9.1 10.9.2 10.9.3 10.9.4 10.9.5 11 CPU CC 寄存器中断位 ........................................................... 软件优先级寄存器 x (ITC_SPRx) ................................................. 外部中断控制寄存器 1 (EXTI_CR1) ............................................... 外部中断控制寄存器 1 (EXTI_CR2) ............................................... 寄存器表和复位值 .............................................................. 76 77 78 79 80 通用输入输出口(GPIO) ................................................................... 81 11.1 11.2 11.3 简介 ............................................................................... 81 GPIO主要功能 ....................................................................... 81 I/O的配置和使用 .................................................................... 82 11.3.1 11.3.2 11.4 11.5 11.6 11.7 输入模式 ...................................................................... 83 输出模式 ...................................................................... 83 83 83 83 83 复位后的默认配置 ................................................................... 没有使用的引脚 ..................................................................... 低功耗模式 ......................................................................... 输入模式的详述 ..................................................................... 11.7.1 11.7.2 11.7.3 11.7.4 11.8 复用功能输入 .................................................................. 中断功能 ...................................................................... 模拟通道 ...................................................................... 施密特触发器 .................................................................. 83 84 84 84 输出模式详述 ....................................................................... 84 11.8.1 11.8.2 11.9 复用功能的输出 ................................................................ 84 摆率控制 ...................................................................... 84 端口 端口 端口 端口 端口 GPIO x 输出数据寄存器 (Px_ODR) ................................................ x 输入寄存器 (Px_IDR) .................................................... x 数据方向 (Px_DDR) ...................................................... x 控制寄存器 1 (Px_CR1) .................................................. x 控制寄存器 2 (Px_CR2) .................................................. 寄存器表和复位值 ......................................................... 85 86 87 88 89 89 GPIO 寄存器 ........................................................................ 84 11.9.1 11.9.2 11.9.3 11.9.4 11.9.5 11.9.6 12 自动唤醒(AWU) .......................................................................... 90 12.1 12.2 简介 ............................................................................... 90 AWU功能描述 ........................................................................ 90 12.2.1 AWU 操作 ........................................................................ 90 12.2.2 时基选择 ...................................................................... 91 12.2.3 LSI 低速内部时钟频率检测......................................................... 91 12.3 AWU 寄存器 ......................................................................... 92 12.3.1 12.3.2 12.3.3 12.3.4 控制/状态寄存器 (AWU_CSR) ..................................................... 异步预分频寄存器 (AWU_APR) .................................................... 时基选择寄存器 (AWU_TBR) ...................................................... AWU 寄存器表和复位值 .......................................................... 92 93 94 95 参照2009年1月 RM0016 Reference Manual STM8S microcontroller family 英文第4版 本译文仅供参考,如有翻译错误,请以英文原稿为准。请读者随时注意在ST网站下载更新版本 STM8S参考手册 13 蜂鸣器(BEEP) ........................................................................... 96 13.1 13.2 简介 ............................................................................... 96 功能描述 ........................................................................... 96 13.2.1 13.2.2 13.3 蜂鸣器操作 .................................................................... 96 蜂鸣器校准 .................................................................... 96 蜂鸣器 控制/状态 寄存器 (BEEP_CSR) ............................................ 97 BEEP寄存器表和复位值 .......................................................... 97 蜂鸣器 寄存器 ...................................................................... 97 13.3.1 13.3.2 14 独立看门狗(IWDG) ....................................................................... 98 14.1 14.2 14.3 介绍 ............................................................................... 98 独立看门狗功能说明 ................................................................. 98 IWDG寄存器 ......................................................................... 99 14.3.1 14.3.2 14.3.3 14.3.4 15 键寄存器(IWDG_KR) ............................................................. 99 预分频寄存器(IWDG_PR) ........................................................ 100 重装载寄存器(IWDG_RLR) ....................................................... 101 IWDG寄存器映像和复位数值 ..................................................... 101 窗口看门狗(WWDG) ...................................................................... 102 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 15.10 介绍 .............................................................................. WWDG主要功能 ...................................................................... WWDG功能说明 ...................................................................... 在停止模式下使用WWDG .............................................................. 如何设置看门狗的超时 .............................................................. WWDG低功耗模式 .................................................................... 硬件看门狗选项 .................................................................... 在停止模式下使用
❸ 谁有STM8S的中文编程手册
其实你可以从这个芯片的数据手册里面找到这个数据,在手册的第65页,有说明,这个芯片的擦写周期。编程存储器(Program memory):100次、数据存储器(Data memory):10万次。
❹ STM8 ADC_CR1;ADC_CR2;这个是什么意思呢
ADC_CR1= 0x02; //这里设置分频系数为2 连续转换模式 先禁止ADC转换
ADC_CR2=0x08; //设置数据右对齐 禁止扫描模式
STM8模拟/数字转换器(ADC)简介
ADC1和ADC2是10位的逐次比较型模拟数字转换器。提供多达16个多功能的输入通道(实际准确的通道数量在数据手册的引脚描述说明)。A/D转换的各个通道可以执行单次和连续的转换模式。
相对于ADC2,ADC1具有一些扩展功能,包括扫描模式,带缓存的连续模式以及模拟看门狗。
请参考STM8数据手册来了解不同产品型号的ADC1和ADC2的功能信息。
主要特点
ADC1和ADC2的功能如下:
10位的分辨率
单次和连续的转换模式
可编程的(转换频率的)预分频:fMASTER可以被分频2到18
可以选择ADC专用外部中断(ADC_ETR)或者定时器触发信号(TRGO)来作为外部触发信号
模拟放大(对于具有VREF引脚的型号)
转换结束时可产生中断
灵活的数据对齐方式
ADC输入电压范围:VSSA≤VIN≤VDDA
扩展(增强)功能
ADC1具有以下扩展功能:
带缓冲的连续转换模式(1)
单次和连续转换的扫描模式
具有上限和下限门槛的模拟看门狗
模拟看门狗事件发生可产生中断
❺ stm8s003低功耗问题求助
STM8等待(Wait)模式在运行模式下执行WFI(等待中断)指令,可进入等待模式。此时CPU停止运行,但外设与中断控制器仍保持运行,因此功耗会有所降低。等待模式可与PCG(外设时钟门控),降低CPU时钟频率,以及选择低功耗时钟源(LSI,HSI)相结合使用,以进一步降低系统功耗。参见时钟控制(CLK)的说明。在等待模式下,所有寄存器与RAM的内容保持不变,之前所定义的时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。当一个内部或外部中断请求产生时,CPU从等待模式唤醒并恢复工作。STM8停机(Halt)模式在该模式下主时钟停止。即由fMASTER提供时钟的CPU及所有外设均被关闭。因此,所有外设均没有时钟,MCU的数字部分不消耗能量。在停机模式下,所有寄存器与RAM的内容保持不变,默认情况下时钟配置也保持不变(主时钟状态寄存器CLK_CMSR)。MCU可通过执行HALT指令进入停机模式。外部中断可将MCU从停机模式唤醒。外部中断指配置为中断输入的GPIO端口或具有触发外设中断能力的端口。在这种模式下,为了节省功耗主电压调节器关闭。仅低电压调节器(及掉电复位)处于工作状态。快速时钟启动HSI RC的启动速度比HSE快(参见数据手册中电特性参数)。因此,为了减少MCU的唤醒时间,建议在进入暂停模式前选择HSI做为fMASTER的时钟源。在进入停机模式前可通过设置内部时钟寄存器CLK_ICKR的FHWU位选择HSI做为fMASTER的时钟源,而无需时钟切换。参见时钟控制章节。STM8活跃停机(Active Halt)模式活跃停机模式与停机模式类似,但它不需要外部中断唤醒。它使用AWU,在一定的延时后产生一个内部唤醒事件,延迟时间是用户可编程的。在活跃暂停模式下,主振荡器、CPU及几乎所有外设都被停止。如果AWU和IWD已被使能,则只有LSI RC与HSE仍处于运行状态,以驱动AWU和IWD计数器。为进入活跃停机模式,需首先使能AWU(如AWU章节所述),然后执行HALT指令。
❻ 怎样编程操作stm8的option byte
1.选项字节的概念(参考stm8s中文数据手册):
选项字节包括芯片硬件特性的配置和存储器的保护信息,这些字节保存在存储器中一个专用的
块内。除了ROP(读出保护)字节,每个选项字节必须被保存两次,一个是通常的格式(OPTx)和
一个用来备份的互补格式(NOPTx)。可以在ICP模式(通过SWIM)下访问下表中EEPROM的地址来修改选项字节。
选项字节也可以通过应用程序在IAP模式下修改,但是ROP选项只能在ICP模式(通过SWIM)下被
修改。
2.ISP IAP ICP的概念(有待学习):
ISP:In System Programing, 在系统编程 程序完全下载
IAP:In applicating Programing,在应用编程 我的理解是用应用程序去修改芯片里边固定的一些数据(与应用编程无关的数据)
ICP:In Circuit Programing, 在电路编程
3.stm8s芯片的备用功能重映射:
stm8s芯片上带有很多备用的功能,这些功能必须使用重映射功能才能实现,
重映射其实就是配置某个flash地址的某一位,使某个引脚具备备用功能或者默认功能的其中一个
而且一旦功能改,想恢复原来的功能必须重新写入。
比如stm8s的PD4端口具有TIM2_CH1 功能和BEEP功能,默认的情况下是TIM2_CH1功能,
当我们要用到BEEP功能时必须写选项字,将这个引脚重映射为BEEP功能。
4.库函数实现重映射
//对于stm8s的选项字地址为0x4803
#defineBeep_OptionAdd0x4803
voidSet_Beep_OptionByte(void)
{
uint16_tBeep_Option_status;/*记录激活备选功能Beep/TIM2_CH1的状态*/
Beep_Option_status=FLASH_ReadOptionByte(Beep_OptionAdd);
/*Beep_Option_status的最高位为1激活了Beep,否则不激活,为TIM2_CH1*/
if((Beep_Option_status&0x8000))
{
FLASH_ProgramOptionByte(Beep_OptionAdd,(uint8_t)(Beep_Option_status&0x7fff));
/*向Beep_OptionAdd0x4803置0,不激活激活了Beep,恢复TIM2_CH1通道*/
}
}
❼ STM8单片机如何使用
我前段时间刚搞过STM8,现在在搞STM32,如果你有51的基础STM8应该是很容易的,STM8跟AVR是很象的,同样要用IO口的是候要先初始化IO口,建议看一下《STM8S技术参考手册V4.pdf》主要了解个寄存器的作用!然后看一下STM8的库函数,了解一下就可以开始编程了!我这里给一个点亮一个灯的程序给你参考:
#defineLEDS_PORT(GPIOH)
#defineLED1_PIN(GPIO_PIN_3)
voidmain(void)
{
GPIO_Init(LEDS_PORT,LED1_PIN,GPIO_MODE_OUT_PP_LOW_FAST);
while(1)
{
GPIO_WriteHigh(LEDS_PORT,Leds);
}
}
这里利用了STM8库函数,记得把STM8的库包含进工程!
❽ stm8单片机汇编指令的寻址方式
stm8单片机汇编指令的CLR R10 和NEG A这两个是直接寻址。
❾ stm8单片机
我前段时间刚搞过STM8,现在在搞STM32,如果你有51的基础STM8应该是很容易的,STM8跟AVR是很象的,同样要用IO口的是候要先初始化IO口,建议看一下《STM8S技术参考手册V4.pdf》主要了解个寄存器的作用!然后看一下STM8的库函数,了解一下就可以开始编程了!我这里给一个点亮一个灯的程序给你参考:
#define LEDS_PORT (GPIOH)
#define LED1_PIN (GPIO_PIN_3)
void main(void)
{
GPIO_Init(LEDS_PORT,LED1_PIN ,GPIO_MODE_OUT_PP_LOW_FAST);
while (1)
{
GPIO_WriteHigh(LEDS_PORT, Leds);
}
}
这里利用了STM8库函数,记得把STM8的库包含进工程!
❿ STM8 8位单片机的终结者吗
前段时间刚搞过STM8,现在在搞STM32,如果你有51的基础STM8应该是很容易的,STM8跟AVR是很象的,同样要用IO口的是候要先初始化IO口,建议看一下《STM8S技术参考手册V4.pdf》主要了解个寄存器的作用!然后看一下STM8的库函数,了解一下就可以开始编程了!我这里给一个点亮一个灯的程序给你参考:
#defineLEDS_PORT(GPIOH)
#defineLED1_PIN(GPIO_PIN_3)
voidmain(void)
{
GPIO_Init(LEDS_PORT,LED1_PIN,GPIO_MODE_OUT_PP_LOW_FAST);
while(1)
{
GPIO_WriteHigh(LEDS_PORT,Leds);
}
}
这里利用了STM8库函数,记得把STM8的库包含进工程!