STM8单片机入门_V2.3
深入浅出stm8单片机入门、进阶与应用实例

深入浅出stm8单片机入门、进阶与应用实例STM8单片机是一款性能优越、功能丰富的微控制器,被广泛应用于嵌入式系统中。
本文将从深入浅出的角度,为大家介绍STM8单片机入门、进阶以及实际应用案例。
一、STM8单片机入门1. STM8单片机概述STM8单片机是意法半导体公司推出的一款8位微控制器,采用了高性能的STM8内核和丰富的外设资源。
相比其他8位单片机,STM8单片机具有更高的性能、更丰富的功能和更低的功耗。
2. STM8单片机编程语言STM8单片机支持多种编程语言,包括C语言、汇编语言、BASIC语言等。
其中,C语言是最常用的一种编程语言,具有语法简单、易于理解等优点。
3. STM8单片机开发环境STM8单片机开发环境包括开发工具和编程器。
常用的开发工具有IAR Embedded Workbench、ST Visual Develop、Keil uVision等。
编程器可以选择ST-Link/V2、ST-Link/V3、J-Link等。
4. STM8单片机基础知识STM8单片机基础知识包括IO口、定时器、中断等。
掌握这些基础知识是学习STM8单片机的基础。
其中,IO口用于接收或输出数字信号,定时器用于计时、测量时间等,中断用于实现程序的异步处理。
二、STM8单片机进阶与实践1. STM8单片机外设应用STM8单片机具有丰富的外设资源,包括GPIO、I2C、SPI、USART、ADC等。
这些外设可以满足不同应用场景的需求。
例如,GPIO用于控制LED等外围设备,I2C和SPI用于连接外部设备,USART用于串口通信,ADC用于模拟信号的采集。
2. STM8单片机通信协议STM8单片机支持多种通信协议,包括UART、I2C、SPI等。
这些通信协议可以实现与其他设备的通信,例如与传感器、显示器、无线模块等设备的通信。
不同的通信协议有着不同的特点和应用场景,需要根据实际需求选择合适的协议。
3. STM8单片机中断技术中断是STM8单片机中的一项重要技术,可以实现程序的异步处理。
STM8S系列单片机原理与应用 第1章

(1) 地址总线(Address Bus,简称AB)。地址总线为单向, 用于传送地址信息,如图1-1中运算器与存储器之间的地址总线, 地址总线的数目决定了可以寻址的存储单元。一根地址线有两 种状态,即可以区分两个存储单元;两根地址线有四种状态, 可以寻址四个存储单元;依此类推,8位微处理器通常有16根地 址线,可以寻址216(即64 K)个存储单元。一般存储单元的大小 为一个字节,因此8位微处理器的寻址范围通常为64 KB。不过 由于90 nm、130 nm线宽工艺已非常成熟、稳定,在同一管芯 内集成更多的存储单元已不再困难,因此最近这几年进入市场 的8位MCU芯片的寻址能力已突破64 KB,如STM8内核MCU系 列芯片的内部地址总线为24位,可直接寻址16 MB的存储空间。
1.总线的概念 在模拟电路中,器件、部件之间的连线不多,关系也不复 杂,一般按“串联”方式连接。但在以微处理器为核心的计算 机系统中,器件、部件均要与微处理器相连,所需连线多,如 果仍采用模拟电路的串联方式,在微处理器与各器件间单独连 线,则所需的连线数量将很多,为此在计算机电路中普遍采用 总线连接方式:每一器件的数据线并接在一起,构成数据总线; 地址线并接在一起,构成地址总线;然后与CPU的数据、地址 总线相连,形成“并联”关系。为避免混乱,任何时候最多允 许一个设备与CPU通信,因此需要用控制线进行控制和选择, 使选中芯片的片选信号( 或CE )或CS输出允许信号 有O效E。系 统(包括器件)中所有的控制线被称为控制总线。
第1章 基 础 知 识
1.1 计算机的基本认识 1.2 寻址方式 1.3 单片机及其发展概况
1.1 计算机的基本认识
为理解计算机系统的构成、工作原理及过程,我们 先来看用算盘计算如下代数式的过程:
STM8学习笔记——时钟和GPIO

STM8学习笔记——时钟和GPIO说起STM8 的时钟,那还真是个杯具,用HSI 没问题,切换到HSE 也没问题,就是切LSI 怎么都不行,然后百思不得其解人,然后上论坛求教,才知道还有个选项字节(OPTION BYTE),数据手册上有这么一段描述:选项字节包括芯片硬件特性的配置和存储器的保护信息,这些字节保存在存储器中一个专用的块内。
除了ROP(读出保护)字节,每个选项字节必须被保存两次,一个是通常的格式(OPTx)和一个用来备份的互补格式(NOPTx)要使用内部低速RC 必须将LSI_EN 置1,就是这个地方让我纠结了半天,然后用IAR 将其置1,方法是:进入调试模式,在上面有个ST-LINK,点击,看到OPTION BYTE,左键点进去,右键单击上面的选项,就可更改了,然后全速运行,就写进去了。
STM8 的时钟分为HSI,HSE,LSI,最常用的是HSI,STMS105S4 内置的是16M 的RC,叫fhsi。
它可以分频输出为fhsidiv=fhsi/hsidiv,如果选择其为主时钟源,那么主时钟fmaster=fhsidiv。
CPU 时钟fcpu=fmaster/cpudiv。
可以通过外设时钟门控寄存器CLK_PCKENR1 和CLK_PCKENR2 选择是否与某个外设连接。
好了上个切换内部时钟的源代码,测试通过void CLK_Init(void){ //切换到内部LSI(!!!需要修改选项字节的LSI_EN 为1)CLK_ICKR|=0x08;//开启内部低速RC 震荡while(CLK_ICKR&0x10==0); //LSI 准备就绪CLK_SWR=0xd2; while(CLK_SWCR&0x08==0); //等待目标时钟源就绪CLK_SWCR|=0x02; //CPU 分频设置CLK_CKDIVR=0;//内部RC 输出。
STM8自学笔记

STM8 实战篇
一、参考文档《STM8单片机入门V3.0》安装软件。
建议安装在C盘(默认路径)主要看软件安装和cosmic和STVD的结合使用
二、自己建立C语言工程。
(不使用库文件)
建议先新建文件夹
添加头文件和文件路径
路径在
D:\Program Files\STMicroelectronics\st_toolset\include
Stm8s105k.h中定义了特殊寄存器。
下面开始编写程序
硬件中PE5口有一个LED。
做一个闪烁灯。
在线
使用标准库:
和上面一样建立普通的工程。
从其他以库建立的工程中复制以上文件
其中main 和stm8_interrupt_vector 为替换
添加文件:
继续添加使用模块对应的文件
根据主程序使用的配置来添加响应的东西。
可以建立如下的结构
添加文件为
编译后成功。
当然附件了又demo的程序,大家可以拷贝其中的文件,还可以直接在此文件上写程序。
STM8S系列单片机原理与应用复习.doc

STM8S系列单片机原理与应用复习第1章基础知识1.1计算机的基本认识(11)地址总线,寻址范围,STM8寻址2陀16MB y (2)数据总线,字长,STM8为8位单片机J3)控制总线Q)时钟周期Y(2)机器周期:完成一个基本动作的时间。
1(3)指令周期:一条指令所需的时间。
STM8S: 一个机器周期仅包含一个时钟周期。
1. 1. 1计算机系统的工作过程及其内部结构ALU:算术运算和逻辑运算存储器:ROM, RAM1.1.2指令、指令系统及程序指令:操作码+操作数STM8:属CISC1?2寻址方式确定指令中操作数所在存储单元地址的方式,就称为寻址方式。
2.4 了解单片机特点及其发展趋势第2章STM8S系列MCU芯片内部结构P21STM8S103, STM8S105, STM8S207, STM8S208STM8S103(EEPR0M 64kB), STM8S003(EEPROM 128kB), ID2. 1 STM8S系列MCU性能概述16M地址空间,I/O引脚输入/输出可编程选择,内置HSI各LSI。
内核:高级STM8内核,具有3级流水线的哈佛结构扩展指令集存储器@中等密度程序和数据存储器:@ —最多32K字节Flash; 10K次擦写⑥55° C环境下数据可保存20年◎—数据存储器:多达1K字节真正的数据EEPROM;可达塑万次擦写@ RAM:多达2K字节时钟、复位和电源管理⑥3.L5.5V工作电压,内核电压 1.8V, Vcap⑥灵活的时钟控制,4个主时钟源⑥-低功率晶体振荡器⑥-外部时钟输入⑥-用户可调整的内部16MHz RC令-内部低功耗128kHz RC⑥带有时钟监控的时钟安全保障系统电源管理:⑥-低功耗模式(等待.活跃停机、停机)@ -外设的时钟可单独关闭⑥ 永远打开的低功耗上电和掉电复位中断管理⑥带有32个中断的嵌套中断控制器⑥6个外部中断向量,最多37个外部中断定时器2个16位通用定时器,带有2+3个CAPCOM通道(IC、0C或PWM)@高级控制定时器:16位,4个CAPCOM◎通道,3个互补输出,死区插入和灵活的自动唤醒定时器2个看门狗定时器:窗口看门狗和独立看门狗通信接口⑥带有同步时钟输出的UART ,智能卡,红外IrDA, LIN接口<$> SPI 接口最高到8Mb i t/s⑥12C接口最高到400Kb i t/s2. 2 STM8S系列MCU内部结构P222. 2. 1 STM8 内核CPU P24PC 为24位,可寻址224=1 6Mb累加器(A),堆栈指针(SP),索引寄存器(X 和Y), 条件码寄存器(CC):令V: Overflow H: Half-carry令 N: NegativeZ: Zero令C: Carry? IO, 11: interruptmasklevel 0, 12.2.2 STM8S 封装与引脚排列2.3掌握通用I/O 口GPIO 初始化P31?可选择的输出模式:推挽式输出和开漏输出PB_DDR, PB_CR1,PB_CR22. 3. 1 2.3.2 2.3.3 2.3.4I/O 引脚结构I/O 端口数据寄存器与控制寄存器输入模式输出模式每一个端口都有一个输出数据寄存器(ODR), 一个引脚输入寄存器(IDR)和一个数据方向寄存器(DDR)总是同相关的。
STM8使用小经验

STM8是ST推出的新一带8bit MCU,采用三级流水线,最大运行频率20MIPS@24MHz。
具体资料请到STM8S 的官方网页下载:/mcu/modules.php?name=mcu&file=familiesdocs&FAM=113 这里就不罗嗦了。
工作的原因很早就有接触STM8,早期的时候自己摸索走过一点弯路,这里介绍一下STM8系列MCU的软件和硬件环境,方便想用的快速了解。
一、集成开发环境和C编译器软件1、STVD/stonline/products/support/micro/files/st7toolset.exe 这是ST官方的集成开发环境,早期叫STVD7是因为支持ST7系列MCU,后因STM8的推出,改名为STV D,当前最新的版本4.0.1。
该软件安装后默认集成了ST Visual Develop 和ST Visual Programer两个软件,前者是IDE,后者是编程软件。
ST Visual Develop集成开发环境自带ST7、STM8的汇编编译器,同时能够支持外挂多种C编译器,如COSMIC、Metrowerks等。
对于MCU仿真功能,STVD除了可以支持软件仿真,还能支持多种调试工具,例如STICE、STX-RLink等。
(原文件名:STVD.png)ST Visual Programer是编程软件,可通过外接编程工具,支持ST 8bit系列MCU的编程操作。
(原文件名:STVP.png)2、RIDE/download/index.php?active=RIDE7第三放的IDE和C编译器。
IDE和Raisonance C Compiler是各自独立安装的,由于也提供了ARM7、C ortexM3的支持,因此在安装ARM编译器后,IDE也能支持ARM7、CortexM3核的ST芯片开发。
软件安装后,会得到集成开发环境RIDE7和编程软件RFlasher。
学习板stm8单片机篇零基础学习开发基础篇教程
图 1.3- 13 安装完成
接下来这一步很重要,就是把微云电子资料内容中>安装软件及工具>IAR FOR STM8 v1.3 里 的 config 文 件 夹 替 换 掉 C:\Program Files\IAR Systems\Embedded Workbench 6.0 Evaluation\stm8(注:个别将软件安装到别的路 径下,请自行分析替换)路径下的 config 文件夹。Config 文件夹如图 1.3- 14 所 示。如果没有这一步的话,会影响以后程序的下载。如果在安装过程中忘了这一 步,之后不用重新安装软件,直接加上这一步即可。
参考入门单片机开发板淘宝店址:
图 1.1- 2 Volume 文件夹
3、双击鼠标左键打开“Volume 文件夹”,出现安装 setup 所在文件夹,如图 1.1- 3 所示。
图 1.1- 3 setup 所在界面
4、右键单击“setup.exe”,选择以管理员身份运行,如图 1.1- 4 所示。
图 1.2- 4 选择 com 口
5、单击注册窗口右侧的蓝色圆箭头,提示输入软件注册码,如图 1.2- 5 所 示。
参考入门单片机开发板淘宝店址:
图 1.2- 5 软件注册界面
6、注意每个学习板的注册码不同,读者请参看学习板上的标签,上面就是 学习板的注册码。在灰色框内输入注册 HVGG_GQGG_JJJI_KNHM_JMJH_JKJG 如图 1.2- 6 所示,注意注册码要求英文半角大写。每四位为一组,读者以学习板 标签为主,若输入的注册码不对会有错误提示窗口。输入结束后单击蓝色箭头, 注册成功,如图 1.2- 7 Name 中的下箭头,选择 COM 口,由前面“如何在 win7 系统
stm8单片机
3功能概述图1。
低密度stm8l151xx装置框图1。
传说:模数转换器,模数转换器博尔:掉电复位直接存储器存取直接内存访问我²:集成电路主机接口独立看门狗:独立的看门狗葡萄牙/共和国:上电复位/断电复位实时时钟:时钟大豆:串行外设接口游泳:单线接口模块或:通用异步接收发送器wwdg:窗口看门狗2。
有没有tim1对stm8l151x2,stm8l151x3装置。
文件编号018780启3 15 / 1113.1低功率模式低密度stm8l15x设备支持五个低功耗模式达到最佳的折衷低功率消耗,启动时间短,可唤醒源:●等待模式:处理器时钟停止,但选定的外围设备继续运行。
一个内部或外部中断或复位可用于出口的微控制器等待模式(妻子或注射用水模式)。
等消费:参见表17。
●低功率运行模式:中央处理器和选定的外围设备运行。
执行的完成从内存和低速度振荡器(大规模集成电路或伦敦)。
闪存EE PROM和数据停止和电压调节器被配置在超低功率模式。
本单片机进入低功耗运作模式的软件,可以退出此模式软件或一个复位。
所有中断必须蒙面。
它们不能被用来出口的微控制器从这模式。
低功率运行模式消费:参见表18。
●低功耗等模式:这种模式时输入执行等事件,低运作模式。
这是类似的低功率运行模式除了处理器时钟停止。
唤醒这种模式是触发复位或由内部或外部事件(周边事件所产生的定时器,串行接口,直接存储器存取控制器(dma1),比较器和输入/输出端口)。
当唤醒引发事件,该系统可追溯到低功率运行模式。
所有中断必须蒙面。
它们不能被用来出口的微控制器从这模式。
低功率消耗等模式:参见表19。
●active-halt模式:中央处理器和外设时钟停止,除了时钟。
唤醒可以触发时钟中断,外部中断或重置。
active-halt消费:参见表20和表21。
●暂停模式:中央处理器和外设时钟停止,该装置保持动力。
内存内容保存。
唤醒触发一个外部中断或重置。
一些周边也唤醒从停止能力。
小菲教你STM8单片机基础入门
速度达20 MIPS的高性能内核 抗干扰能力强,品质安全可靠 领先的130纳米制造工艺,优异的性价比 程序空间从4K到128K, 芯片选择从20脚到80脚,宽范围产品系列 系统成本低,内嵌EEPROM和高精度RC振荡器 开发容易,拥有本地化工具支持
STM8S主要应用:
STM8L主要特点:
STM8 16 MHz CPU 内置 4-32 KB 闪存,多达 2KB SRAM 三个系列:跨系列的引脚对引脚兼容、软件相互兼容、外设相互兼容 电源电压:1.8 V-3.6 V (断电时,最低 1.65 V) 超低功耗模式:保持 SRAM 内容时,最低功耗 350nA 运行模式动态功耗低至 150μA/MHz 最先进的数字和模拟外设接口 工作温度范围:-40°C 到+85 °C,可高达 125 °C 免费的触感固件库
王志杰 Email: iewangzhijie@ QQ:411238869
1 STM8 微控制器简介
-7-
1.3 STM8A 系列
意法半导体公司推出的 STM8A 是一款专门用于满足汽车应用的特殊需求的 8-位 Flash 微控制器。这些模块化产品提供了真数据 EEPROM 以及软件和引脚兼容性,适用的程序存 储器尺寸范围为 8KB 至 256KB 和 20 至 128-引脚封装。所有器件的工作电压均为 3V 至 5V, 并且其工作温度扩展到了 145°C。
监控、紧急求助
王志杰 Email: iewangzhijie@ QQ:411238869
1 STM8 微控制器简介
-4-
STM8S 产品分为“Access Line(入门级)”和“Peroformance Line(增强型)”,如 下图所示。
王志杰 Email: iewangzhijie@ QQ:411238869
STM8S学习——操作单个IO口
STM8S学习——简单操作单个IO口刚接触STM8系列单片机,学习了简单端口的操作,今天就来分享我的成果。
因为是刚接触,各位见笑了。
STM8系列单片机每一个端口都有一个输出数据寄存器(ODR),一个引脚输入寄存器(IDR)和一个数据方向寄存器(DDR)。
寄存器1(CR1)和控制寄存器2(CR2)用于对输入/输出进行配置。
任何一个I/O引脚可以通过对DDR,ODR,CR1和CR2寄存器的相应位进行编程来配置。
下面是我截取的STM8教程里的部分配置表格:大家根据上表对端口进行配置应该没有问题,但是对某一个端口进行配置时可能会遇上麻烦。
那怎么对单个端口进行配置呢?我再附上一个表格,以便说明假设同名端口(PA端口、PB端口等等)都有8个IO口7~0,因此对应上表我们发现正好一个IO口对应一列,比如7所在的列对应7号IO口,0所在的列对应0号IO口,于是单个IO口(假设是PB1)配置程序可写为:PB_DDR = 0x02; // 配置PB端口的方向寄存器,PB1为输出模式PB_CR1 = 0x02; // 设置PB1为推挽输出PB_CR2 = 0x00;下面附上PB1口控制LED闪烁的程序#include "stm8s.h"void GPIO_init(void){PB_DDR = 0x02; // 配置PB端口的方向寄存器,PB1为输出模式PB_CR1 = 0x02; // 设置PB1为推挽输出PB_CR2 = 0x00;}void delay (void){unsigned char i,j,k;for(i=10;i>0;i--)for(j=202;j>0;j--)for(k=81;k>0;k--);}main(){GPIO_init();//端口初始化CLK_DeInit();//恢复时钟寄存器CLK_HSICmd(ENABLE);//启用内部高速振荡器(HSI 16MHz)CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//主时钟=16MHZ/1=16MHz CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);//CPU时钟=主时钟/1=18MHZ while (1){PB_ODR = 0x02;//PB1输出高电平,LED亮delayms();PB_ODR = 0x00; //PB1输出低电平,LED灭delayms();}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STM8单片机入门王志杰2010-08-02目 录1 概述 (3)2 ST微控制器网站 (4)3 STM8集成开发环境简介 (5)3.1 ST TOOLSET (5)3.2 COSMIC (6)3.3 IAR (9)4 STM8程序设计 (11)4.1 STVD汇编语言编程 (11)4.2 COSMIC C语言编程 (25)4.3 IAR C语言编程 (39)5 STM8应用例程 (55)5.1 STM8S应用例程 (55)6 STM8开发工具 (60)6.1 ST-LINK (61)6.2 STX-RLINK (63)7 STM8 EMC设计 (64)7.1 PCB设计注意事项 (64)8 ST单片机相关网站 (65)1概述2009年3月4日,意法半导体发布了针对工业应用和消费电子开发的微控制器STM8S 系列产品。
STM8S平台打造8位微控制器的全新世代,高达20 MIPS的CPU性能和2.95-5.5V 的电压范围,有助于现有的8位系统向电压更低的电源过渡。
新产品嵌入的130nm非易失性存储器是当前8位微控制器中最先进的存储技术之一,并提供真正的EEPROM数据写入操作,可达30万次擦写极限。
在家用电器、加热通风空调系统、工业自动化、电动工具、个人护理设备和电源控制管理系统等各种产品设备中,新产品配备的丰富外设可支持精确控制和监视功能。
功能包括10位模数转换器,最多有16条通道,转换用时小于3微秒;先进的16位控制定时器可用于马达控制、捕获/比较和PWM功能。
其它外设包括一个CAN2.0B接口、两个U(S)ART接口、一个I2C端口、一个SPI端口。
STM8S平台的外设定义与STM32系列32位微控制器相同。
外设共用性有助于提高不同产品间的兼容性,让设计灵活有弹性。
应用代码可移植到STM32平台上,获得更高的性能。
除设计灵活外,STM8S的组件和封装在引脚上完全兼容,让开发人员得到更大的自由空间,以便优化引脚数量和外设性能。
引脚兼容还有益于平台化设计决策,产品平台化可节省上市时间,简化产品升级过程。
为降低组件的总体数量和系统成本,新产品还集成更多强大的功能。
芯片上集成两个工作频率分别为16M H z 和128kH z的阻容振荡器,频率精度分别1% 和5%,节省对外部时钟源的需求,且微控制器在两个振荡器之间的时钟切换用时不到2微秒。
片上的上电复位和掉电复位功能可节省一个外部复位电路。
其它优点包括符合I E C61967标准的EM I防护功能、I E C-1000静电放电防护和强流注入保护功能,这些集成功能为客户节省了为达到EM C法规要求通常所需的外部保护元器件。
STM8S主要特点:⏹速度达20 M IP S的高性能内核⏹抗干扰能力强,品质安全可靠⏹领先的130纳米制造工艺,优异的性价比⏹程序空间从4K到128K,芯片选择从20脚到80脚,宽范围产品系列⏹系统成本低,内嵌EE PRO M和高精度RC振荡器⏹开发容易,拥有本地化工具支持STM8S主要应用:⏹汽车电子:传感器、致动器、安全系统微控制器、DC马达、车身控制、汽车收音机、LI N节点、加热/通风空调⏹工业应用:家电、家庭自动化、马达控制、空调、感应、计量仪表、不间断电源、安全⏹消费电子:电源、小家电、音响、玩具、销售点终端机、前面板、电视、监视设备⏹医疗设备:个人护理产品、健身器材、便携护理设备、医院护理设备、血压测量、血糖测量、监控、紧急求助2ST微控制器网站ST官方所发布的全部微控制器产品信息,都在htt p://www.s /mc u上。
也可以通过以下地址直接进入相关的STM8系列网站。
其包含了相关系列的STM8系列的主要网址(全部的官方资料):⏹STM8A汽车电子产品系列:htt p://www.s /s tonline/pr o du ct s/f amilie s/a u tomoti v e/mic r ocont r olle rs/s t m8a.htm⏹STM8L超低功耗产品系列: htt p://www.s /mc u/f amilie sd oc s-120.html⏹STM8S标准产品系列:htt p://www.s /mc u/f amilie sd oc s-113.html3STM8集成开发环境简介3.1ST TOOLSETST TOOLSET是ST提供的微控制器开发套件。
ST TOOLSET包括两个软件:ST Visual Develop (STVD)和ST Visual Programmer (STVP)。
ST Visual Develop (STVD)是ST微控制器的集成开发环境。
主要是面向ST的8位微控制器产品。
STVD可以创建,调试以及烧录ST微控制器。
STVD提供了一个免费的汇编编译器。
用户可使用汇编语言直接在此环境中(STVD)编写汇编程序。
ST Visual Programmer (STVP)是ST提供的用于生产或批量的专用烧录软件。
ST Toolset可从ST的网站上下载:/mcu。
或者尝试直接从下面的地址直接下载:/stonline/products/support/micro/files/sttoolset.exeST TOOLSET下载后,运行安装程序,如下图所示:安装完成后,可从“开始>ST Visual Develop”来启动TVD,如下图所示:3.2COSMICCosmic 公司(Cosmic Software.Inc.)的Cosmic C编译器(Cosmic C compiler)及全套嵌入开发工具支持STM8系列产品的开发。
网站可以提供COSMIC C 编译软件信息:嵌入式系统开发工具,测试软件,产品升级,应用说明,软件示例和技术支持等。
Cosmic产品包括C 交叉编译器、汇编、连接器、ANSI库、仿真器、硬件调试器和易于使用的集成开发环境(IDEA)。
Cosmic公司提供了16K和32K代码大小限制的全功能的免费软件。
此软件可从 免费下载。
或者尝试直接从下面地址下载:/cxstm8_ 16k.exe/cxstm8_ 32k.exe软件下载后,运行安装程序,出现如下界面,按照提示安装即可(建议默认安装)。
在安装过程中,出现下图提示。
提示创建桌面图标和申请软件使用协议。
可以选择“Register your license”来申请协议,选择“Next”。
根据要求填写下面的注册信息,要用英文填写完整。
选择”Register by Email”,此时会启动计算机系统默认的邮件软件,发送申请协议的邮件。
用户会受到一个协议文件。
将其拷贝到安装目录下的license目录下即可,默认目录为C:\Program Files\COSMIC\CXSTM8_16K\license。
注意:1)在填写地址时(Address),注意要注明国家或地区,如China。
2)建议用英文书写。
3)默认的邮件程序,可通过Internet Explorer的菜单Tool -> ‘Internet Option…’来设置如果在安装过程中没有申请协议,也可以在安装目录下,找到C:\Program Files\COSMIC\CXSTM8_16K目录(默认安装目录)下面的lmreg16k.exe文件,运行也可以进行注册取得协议文件。
另外,一个更简单的方式就是直接书写并发送一个e-mail。
也可以获得协议文件。
E-mail书写的例子如下:说明:发送至:stm8_16k@cosmic.fr标题:STM8 16k License RequestRegistration Information for: 需要用户根据自己的信息填写Product Information:可以运行lmreg16k.exe文件后自动获得。
不同的用户、不同的计算机“Registration Information for:”和“Product Information”是不同的。
一个license文件只允许一台计算机使用。
3.3IARIAR Systems推出开发工具“STM8系列嵌入式设计工作台”(EWSTM8),支持8位微控制器市场主流的STM8(STM8A,STM8L,STM8S)系列产品。
IAR EWSTM8嵌入式设计工作台提供一整套开发工具,包括一个项目管理器、编辑器和项目创建工具(C语言编译器和链接器)。
该工作台还为开发人员提供调试功能,可以连接意法半导体价格低廉的在线调试器ST-LINK以及先进的高端仿真器STice。
IAR提供8K代码限制和30天评估版的C编译器。
可从 网站上直接下载:下载后,运行如图所示:运行IAR之后,界面如图所示:4STM8程序设计4.1STVD汇编语言编程4.1.1创建运行ST Visual Develop(STVD), 如下图所示:打开“File>New Workspace…”, 如下图所示:输入workspace filename:demo, 选择workspace 路径:c:\stm8asm,如下图所示输入project filename: demo; 选择Toolchain: ST assembler Linker;Toolchain Root 是默认安装的ST TOOLSET 安装路径。
如图所示:在空白框中输入型号中的部分字符可快速筛选目标型号。
如图所示:完成后界面如下,至此一个汇编workspace 和project 完成了。
完成后界面如图:项目中自动添加了main.asm, mapping.asm和mapping.inc 文件从C:\Program Files\STMicroelectronics\st_toolset\asm\include(默认安装目录) 找到相关MCU型号的寄存器定义文件(STM8S207C_S.ASM 和 STM8S207C_S.INC)到当前工程目录下,并添加到工程项目中。
如图所示:4.1.2编译选择“Build>Rebuild All”,编译工程。
如下图所示:若程序正确无误,会显示如下:若要查看程序代码的大小,可找到工程目录下的Debug,在Debug目录下有个.map 文件。
一个例子,如下所示:在.map文件里,记录了ram0,ram1,rom,stack,eeprom,rom等的使用情况。
本例的代码地址范围是:’rom' byte from 8080 to 81F5程序代码大小是:81F5 – 8080= 175(HEX)=373个字节4.1.3调试本节介绍在ST Visual Develop 环境中的软件调试说明。
首先,先选择调试与仿真的工具。
通过Debug instrument菜单来设置。