Professional Documents
Culture Documents
系列单片机的开发
2009年ST MCU巡回演讲
北京、深圳、上海、台北、
青岛、重庆、南京、哈尔滨、
武汉、福州、西安
主要内容
STM8S系列单片机简介
一步一步开始STM8S系列单片机的开发
基于STM8S的电容触摸式按键方案介绍
STM8S系列相关的资料和
软件都可以在这个页面找到
请仔细填写注册信息
选择提交信息后,会弹出软件下载链接
详细填写注册信息以便获
得免费的16K以下版本的
License.
注:由于STVD自带ST-Link的驱
动,所以无须另行安装。
如果要使用Rlink, 则需要手动安
装Rlink的驱动。
J1 U1 L78M05CDT VDD
1 1 IN OUT 3 VDD
3 C1 C3 C9 CN1
2 GND C4
10u/25V C2
GND4
10uF/16V 10uF/16V 1
PWR2.5 104P 104P 2 SWIM
3 RESET#
4
SWIM Con_2
C14 B1
R12 RESET# 2 1
100
102P 3 4
C13 Key
R11
VDD
C12 4K7
104P U2
STM8S105Sx
R10 1 NRST PE0/CLK_CCO 36 PE0
20pF 2 PA1/OSCIN
X1 1M
3 PA2/OSCOUT PE1/I2C_SCL 35 PE1
8MHz PE2/I2C_SDA 34 PE2
C10
PA4 9
PA5 10 PA4 PE5/SPI_NSS 23 PE5
20pF C17 LOAD 11 PA5
PA6 PE6/AIN9 22 PE6
105P VCAP 6 VCAP
PB0 21 PB0/AIN0
PB1 20 PB1/AIN1
PB2 19 PB2/AIN2
PB3 18 PB3/AIN3
key1 17 PB4/AIN4
key2 16 PB5/AIN5
key3 15 PB6/AIN6
Shield 14 PB7/AIN7
PG0 32 PG0
PC1
24 PC1/TIM1_CC1/LINUART_CK PG1 33 PG1
PC2
25 PC2/TIM1_CC2
PC3
26 PC3/TIM1_CC3
PC5 27 PC5/SPI_SCK
PC6 30 PC6/SPI_MOSI
PC7 31 PC7/SPI_MISO
LED3 37
VDD SWIM 38 PD0/TIM3_CC2
PD1/SWIM
LD2 LED2 39 PD2/TIM3_CC1
2 1 R16 LED1 40 PD3/TIM2_CC2
R7 1K Beeper 41
10K UART_TX42 PD4/TIM2_CC1/BEEP
UART_RX43 PD5/LINUART_TX
R31 PD7 44 PD6/LINUART_RX
PD7/TLI
100 VDD
Key 8 VDDIO_1
B2 29 VDDIO_2
2
3
C8 7 VDD
104P 12 VDDA
C11 C16 C15 5 VSS
104P 104P 1uF 13 VSSA
4
1
4
28 VSSIO_1
VSSIO_2
I/O口的分配
¾ 要注意选项字节的配置,尤其注意I/O重映射功能状态是否与实际项目相符合
¾ STM8的I2C接口为真正的开漏接口,意味着其没有内部上拉电阻和对电源的
保护二极管。
¾ 并非所有的I/O口都是大电流口,当需要I/O有很强驱动能力时要检查其是否
需要外加驱动。
¾ SWIM接口要保证上电时为稳定电平以防止MCU误进入调试模式。
Workspace名称
Workspace存储路径
按照下面描述分别填入相关项:
Project filename:IO_Test。
Project location:无需改变,保留(默认
与Workspace同路径)。
Toolchain:默认编译器为Raisonance,使
用下拉菜单,将之选为STM8 Cosmic。
Toolchain root:选择STM8 COSMIC编译
器的安装地址。
配置完成后的窗口如图所示,确认后进入MCU 选择窗口
。
STMicroelectronics Sept. 14~25, 2009 17
STM8S软件设计 Æ MCU选择
显示支持当前选中的MCU的所
有工具。
选择目标MCU,并双击。
已选择的MCU会出现在此栏中
本例使用STM8 mini kit2做为目标
板 , 因 此 选 中 STM8S105S4 并 双
击之,使之出现在Selected MCU
栏中。
展开
将屏幕左侧io_test项目栏
展开,可以看见系统已自 将需要使用的头文件添 所有的源文件和头文
动生成了两个C文件: 加到Include Files 文件 件添加完成后,选择
main.c 夹下 保存。
stm8_interrupt_vector.c
STMicroelectronics Sept. 14~25, 2009 19
STM8S软件设计 Æ 编译
选择BuildÆ Rebuild
编译成功
编译并且保存后,项目文件夹的内容
根据需要选择合适的调试工具
本例使用ST-Link
指令断点
内核寄存器 堆栈
外设寄存器
观察窗口 输出窗口
局部变量
STM8S在调试时支持RD/WR on fly功能,用户可以在程序
运行时,直接观察变量的变化。也可以在不中断程序运行
的条件下直接修改寄存器或者变量的值。
支持hot plug功能。当程序在运行时,可以通过SWIM接口
在不影响程序连续运行的条件下,通过STVD窗口观测存储
器内各个值的变化。(前提是不设读保护)。
在 Watch 窗 口 或 者 Memory 窗 口
右击,选择“Read/Write on fly
Watch 窗 口 或 者 Memory 窗 口 的
背景色变成黄色,表示已经处于
on fly状态
1. 关闭所有的Workspace.
2. 通过Debug instrumentÆ
Target Settings 打开调试工
具配置界面
3. 使能Hot Plug功能
4.重新进入在线调试界面
,即可看到存储器内的
值随着程序的变量发生
变化。
电容式触摸感应软件库的可提供如下功能:
软件库模块可以方便的应用于绝大部分微控制器中,直接
内嵌在主控制器中。
软件库适用于大部分的用户接口需求:最多24个按键,以
及2个滑动条/滚轮。
经济的解决方案:少量的硬件和软件开销
采用各种必须的软件滤波处理以获得高可靠性
优化的固件源代码
完全免费的源代码(但仅限于应用在ST的微控制器上)
MCU
Flash Memory
Hardware
Resources
Customer application
按键 电 Load Software layer
阻
GP I/Os
Touch Sensing Software Layer
API
电极电容 (Cx)
Time base Post processing layer
…容性的人体接触可以通过对RC
Hardware Software
网络的充放电时间的检测来测得
。RC网络由一个电阻和电极的
电容(Cx)组成。
STMicroelectronics Sept. 14~25, 2009 31
性能
每个触摸通道需要2个电阻和一个MCU 通用IO口。
可将MCU的任意通用IO口配置为触摸通道
触摸按键可分布在最多3个不同的GPIO 端口上(目前如此,
以后可能会扩展)
软件库使用2个定时器:一个作为时基,一个用于采集
Vdd Vss
10 Resistors 3.3M
Load GPI/o I2C_SCL
GPI/o
I2C_SDA
GPI/o 主机
IRQ
GPI/o
1 GPI/o 3.3v
2 GPI/o
Buzzer
3 GPI/o
GPI/o
4 GPI/o
STM8S103K3 GPI/o
10
(QFP32)
个通道
5 GPI/o
GPI/o LEDs Control
6 GPI/o GPI/o
GPI/o
7 GPI/o
GPI/o GPI/o
8 3.3v
9 GPI/o
9 状态机
API
应用程序接口 API : Library
9 与用户应用程序接口
9 函数
Application firmware
9 变量
Application
用户软件需要调
layer
用或访问的函数
和变量 API layer