STM8单片机入门 V2.6

更新时间:2023-07-29 02:45:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

STM8单片机入门

王志杰2010-08-19

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

- 2 -

目 录

1 STM8微控制器简介.......................................................................................................................3

1.1 STM8S系列..........................................................................................................................3

1.2 STM8L系列..........................................................................................................................5

1.3 STM8A系列.........................................................................................................................7

1.4 STM8微控制器网站............................................................................................................92 STM8集成开发环境简介.............................................................................................................11

2.1 ST TOOLSET......................................................................................................................11

2.2 COSMIC..............................................................................................................................13

2.3 IAR......................................................................................................................................163 STM8程序设计.............................................................................................................................18

3.1 STVD汇编语言程序设计..................................................................................................18

3.2 COSMIC C语言程序设计.................................................................................................31

3.3 IAR C语言程序设计.........................................................................................................454 STM8应用例程.............................................................................................................................61

4.1 STM8S应用例程................................................................................................................61

4.2 STM8L和STM8A应用例程.............................................................................................735 STM8开发工具.............................................................................................................................73

5.1 ST-LINK..............................................................................................................................73

5.2 STX-RLINK........................................................................................................................746 STM8 EMC设计注意事项...........................................................................................................76

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

1STM8微控制器简介

1.1STM8S系列

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的组件和封装在引脚上完全兼容,让开发人员得到更大的自由空间,以便优化引脚数量和外设性能。引脚兼容还有益于平台化设计决策,产品平台化可节省上市时间,简化产品升级过程。

STM8S主要特点:

速度达20 MIPS的高性能内核抗干扰能力强,品质安全可靠领先的130纳米制造工艺,优异的性价比程序空间从4K到128K, 芯片选择从20脚到80脚,宽范围产品系列系统成本低,内嵌EEPROM和高精度RC振荡器开发容易,拥有本地化工具支持

STM8S主要应用:

汽车电子:传感器、致动器、安全系统微控制器、DC马达、车身控制、汽车收音机、LIN节点、加热/通风空调工业应用:家电、家庭自动化、马达控制、空调、感应、计量仪表、不间断电源、安全消费电子:电源、小家电、音响、玩具、销售点终端机、前面板、电视、监视设备医疗设备:个人护理产品、健身器材、便携护理设备、医院护理设备、血压测量、血糖测量、

监控、紧急求助

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

STM8S产品分为“Access Line(入门级)”和“Peroformance Line(增强型)”,如下图所示

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

1.2STM8L系列

2009年9月15日,意法半导体宣布,首批整合其高性能8位架构和最近发布的超低功耗创新技术的8位微控制器开始量产。以节省运行和待机功耗为特色,STM8L系列下设三个产品线,共计26款产品,涵盖多种高性能和多功能应用。

设计工程师利用全新的STM8L系列可提高终端产品的性能和功能,同时还能满足以市场为导向的需求,例如,终端用户对节能环保产品的需求,便携设备、各种医疗设备、工业设备、电子计量设备、感应或安保设备对电池使用周期的要求。设计人员将选择STM8L这类超低功耗的微控制器,以符合低功耗产品设计标准,如“能源之星”、IEA的“1W节能计划”或欧盟的EuP法令。

这三条STM8L产品线都基于意法半导体的超低功耗技术平台,这个平台采用意法半导体独有的超低泄漏电流优化的130nm制程。独一无二的技术优势包括在1.65V到3.6V的整个电源电压范围内达到CPU最大工作频率,发挥CPU的全部性能。此外,由于采用一个片上稳压器,功耗与Vdd电压无关,所以具有更高的设计灵活性,并有助于简化产品设计。

其它创新特性包括低功耗嵌入式非易失性存储器和多个电源管理模式,包括5.4µA低功耗运行模式、3.3µA低功耗待机模式、1µA主动停止模式(实时时钟运行)和350nA停止模式。STM8L可以在4µs内从停止模式唤醒,支持频繁使用最低功耗模式。低功耗外设,包括小于1µA的实时时钟和自动唤醒(AWU)模块,有助于进一步节省电能。总之,这个平台可将动态电流消耗降到150µA/MHz。

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 免费的触感固件库

STM8L主要应用:

便携医疗设备玩具和游戏公路收费 电池供电设备个人保健产品保安传感器

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

STM8L产品分为三大子系列,STM8L101基本型,STM8L151增强型和STM8L152带LCD驱动的增强型,如下图所示

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

1.3STM8A系列

意法半导体公司推出的STM8A是一款专门用于满足汽车应用的特殊需求的8-位Flash微控制器。这些模块化产品提供了真数据EEPROM以及软件和引脚兼容性,适用的程序存储器尺寸范围为8KB至256KB和20至128-引脚封装。所有器件的工作电压均为3V至5V,并且其工作温度扩展到了145°C。

STM8A主要特点:

集成式真数据EEPROM 16MHz和128kHz RC振荡器 高效的STM8内核:在16MHz的频率下可以实现10MIPS的性能 应用安全性高:独立的看门狗定时器、时钟安全系统 所有产品均具有LIN 2.0和自同步功能 电源电压:3.3V和5V 最高工作温度:145 °C

STM8A主要应用:

激励器,车体控制器,传感器,DC电机控制,安全微控制器,LIN节点,汽车无线电,

HV

AC

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

STM8A产品线如下图所示

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

1.4STM8微控制器网站

ST官方所发布的全部微控制器产品信息,尽在 。点击相应的产品系列,则可进入其产品主页。在每个产品的主页上一般都会有一个超连接,点击超连接可找到其系列的全部的官方资料。例如STM8S系列,在进入STM8S主页后,点击如下的超连接可找到全部的资料和文件:

Documents and Files for STM8S family

也可以通过以下地址直接进入相关的STM8系列主要网址。

STM8A汽车电子产品系列/stonline/products/families/automotive/microcontrollers/stm8a.htmSTM8L超低功耗产品系列:/mcu/familiesdocs-120.htmlSTM8S标准产品系列:

/mcu/familiesdocs-113.html

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

2STM8集成开发环境简介

2.1ST TOOLSET

ST TOOLSET是ST提供的微控制器开发套件。ST TOOLSET包括两部分软件:ST Visual Develop (STVD)和ST Visual Programmer (STVP)。支持STM8全系列的开发。

ST Visual Develop (STVD)是ST微控制器的集成开发环境。主要是面向ST的8位微控制

STVD可以创建,调试以及烧录ST微控制器。器产品。STVD提供了一个免费的汇编编译器。

用户可使用汇编语言直接在此环境中(STVD)编写汇编程序。

ST Visual Programmer (STVP)是ST提供的用于生产或批量的专用烧录软件。

ST Toolset可从ST的网站上下载:。

或者尝试直接从下面的地址直接下载:

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

ST TOOLSET在下载后,运行其安装程序,如下图所示

在软件安装完成之后,可从开始菜单来启动,“开始>ST Visual Develop”,如下图所示

ST TOOLSET 启动后,其界面如下图所示

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

2.2COSMIC

Cosmic 公司(Cosmic Software Inc.)的Cosmic C编译器(Cosmic C compiler)及全套嵌入开

Cosmic产品包括C 交叉编译器、ANSI库、发工具支持STM8系列产品的开发。汇编、连接器、

仿真器、硬件调试器和易于使用的集成开发环境(IDEA)。

Cosmic公司提供了16K和32K代码大小限制的全功能的免费软件。此软件可从免费下载。

或者尝试直接从下面地址下载:

在软件下载完成之后,运行安装程序,出现如下界面,(按照其提示安装即可)

COSMIC公司为用户提供了一个集成的开发环境,其运行后界面如下图所示

注:建议用户将COSMIC C编译器外挂于ST TOOLSET中,使用ST提供的集成开发环境STVD进行产品的开发,后面说明其用法。

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

COSMIC C编译器在安装过程中,出现下图提示。提示创建桌面图标和申请软件使用协议。可以选择“Register your license”来申请协议,选择“Next”

根据要求填写下面的注册信息,要用英文填写完整。选择”Register by Email”,此时会启动计算机系统默认的邮件软件,发送申请协议的邮件。用户会受到一个协议文件。将其拷贝到安装目录下的license目录下即可,默认目录为C:\Program Files\COSMIC\CXSTM8_16K\license

注意:

1)在填写时,注意在Country中一定要注明国家或地区,如China。

2)建议用英文书写。

3)默认的邮件程序,可通过Internet Explorer的菜单Tool -> ‘Internet Option…’来设置

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

如果在安装过程中没有申请协议,也可以在安装目录下,找到C:\Program Files\COSMIC\CXSTM8_16K目录(默认安装目录)下面的lmreg16k.exe文件,运行也可以进行注册取得协议文件。

另外,一个更简单的方式就是直接书写并发送一个e-mail。也可以获得协议文件。E-mail书写的例子如下:

说明:

发送至:stm8_16k@cosmic.fr

标题:STM8 16k License Request

Registration Information for: 需要用户根据自己的信息填写

Product Information:可以运行lmreg16k.exe文件后自动获得。不同的用户、不同的计算机“Registration Information for:”和“Product Information”是不同的。一个license文件只允许一台计算机使用。

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

2.3IAR

IAR Systems推出开发工具“STM8系列嵌入

式设计工作台”(EWSTM8),支持8位微控制

器市场主流的STM8(STM8A,STM8L,STM8S)系

列产品。IAR EWSTM8嵌入式设计工作台提供一整

套开发工具,包括一个项目管理器、编辑器和项目

创建工具(C语言编译器和链接器)。该工作台还

为开发人员提供调试功能,可以连接意法半导体

价格低廉的在线调试器ST-LINK以及先进的高端

仿真器STice。

IAR提供8K代码限制和30天评估版的C编译器。可从网站上直接下载。软件下载后,运行其安装程序,如图所示

安装完成之后,运行IAR集成开发环境,其界面如图所示

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

3STM8程序设计

3.1STVD汇编语言程序设计

3.1.1创建

从开始菜单启动ST Visual Develop(STVD)。从菜单中选择“File>New Workspace…”,如下图所示

出现如下图的对话框,选择“Create workspace and project”

在Workspace filename中输入workspace名字:demo, 选择workspace保存的路径:c:\stm8asm,

如下图所示

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

在project filename中输入project名字: demo。在Project location中选择project保存的路径,一般与workspace保存在同一个目录下。选择工具链Toolchain: ST Assembler Linker,ST Assembler是ST提供的免费的汇编编译器。Toolchain Root一般是默认安装的。如果在ST TOOLSET安装过程中改变了安装目录,需要确认安装路径。相关设置如图所示

在MCU Selection对话框中,选择MCU型号。可以在空白框中输入型号中的部分字符可快速筛选目标型号。如图所示

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

至此,workspace和project 创建完成。用户需要修改并添加自己的汇编代码。完成后界面如下图所示

STVD在项目中自动添加了main.asm, mapping.asm和mapping.inc 文件。其说明如下表

从C:\Program Files\STMicroelectronics\st_toolset\asm\include (默认安装目录) 找到相关MCU型号的寄存器定义文件(本例中用到STM8S207C_S.ASM 和 STM8S207C_S.INC)到当前工程目录下,并添加到工程项目中。添加后的workspace如下图所示:

1STM8微控制器简介1.1STM8S系列1.2STM8L系列1.3STM8A系列1.4STM8微控制器网站2STM8集成开发环境简介2.1ST TOOLSET2.2COSMIC2.3IAR3STM8程序设计3.1STVD汇编语言程序设计3.2COSMIC C语言程序设计3.3IAR C语言程序设计4STM8应用例程4.1STM8S应用例程4.2STM8L和STM8A应用例程5STM8开发工具5.1ST-LINK5.2STX-RLINK6STM8 EMC设计注意事项

用户需要根据自己的要求,修改main.asm。

在修改中断时,先在中断向量表中找到对应的中断地址,把NonHandledInterrupt中断名字修改成自定义的中断名字,其他部分不需要修改。然后定义一个中断函

数,

说明:

dc.l {$82000000+main},复位向量在复位后直接跳转到main处执行。

本文来源:https://www.bwwdw.com/article/t2dm.html

Top