没有合适的资源?快使用搜索试试~ 我知道了~
首页STM8S入门到精通:3步骤打造嵌入式开发基础
STM8S入门到精通:3步骤打造嵌入式开发基础
需积分: 0 25 下载量 10 浏览量
更新于2024-07-21
收藏 6.06MB PDF 举报
STM8单片机是意法半导体在2009年推出的一款8位微控制器,其设计初衷是为了提供高效的性能和低成本的解决方案。STM8系列包括STM8S、STM8L和STM8A三个子系列,满足不同应用场景的需求。这些单片机采用3级流水线架构,这使得它们在处理速度和功耗上都有优秀表现。 入门指南如"STM8S从入门到精通"提供了全面的学习路径。首先,章节一介绍了STM8的概况,包括其特点,如低功耗、小型化和高度集成,以及它的分类,便于初学者理解和选择合适的型号。对于开发工作,该指南着重于硬件和软件平台的选择与使用: - 硬件开发平台包括仿真器,如STLink,用于调试和程序下载,以及专用的STM8S开发板,为实际项目提供了实物支持。 - 软件开发则涉及多种工具,如STVD(STMicroelectronics Virtual Debugger)用于图形化编程,IAR Embedded Workbench作为高级集成开发环境,以及使用固件库简化代码编写。指南还详细说明了如何通过UART烧写程序,包括如何配置BootLoader以实现固件更新。 - GPIO(通用输入输出)部分是STM8的重要功能,包括寄存器的详细介绍和使用示例,如控制LED和读取独立按键。此外,时钟管理也很关键,STM8S支持多种时钟源,如高速外部晶振和高速内部RC振荡器,以适应不同的工作频率需求。 整个学习过程循序渐进,从STM8的基本概念到实际操作,旨在帮助学习者逐步掌握这款单片机的开发技能。无论是初学者还是有一定经验的工程师,都能从中找到所需的信息和实践指导。
资源详情
资源推荐
STM8S
从入门到精通—
STM8
开发工具
**********************************************************************************************************
第 6页
将这个管脚作为调试脚,又想作为普通 I/O 脚,安全的做法是做 PCB 时加一个跳线,通过跳线的连接来
切换功能。建议在 SWIM 管脚加一个 4.7K 的上拉电阻,以保证调试时数据的可靠性。
STM8S 除了通过 SWIM 接口来下载程序,有些型号还支持通过 UART 接口来下载,具体我们会在相关章
节进行介绍。
3.LED 部分
通用输入/输出口用于芯片和外界进行数据交换。为了完成 GPIO 的输出实验及作为其他实验的效果
显示,我们设计了 LED 部分的电路,如图 2.7 所示。三个 LED 分别与 STM8S 的 PC3、PE0、PD3 三个 I/O
相连,LED 采用灌流的驱动方式。当 I/O 口输出低电平时,LED 被点亮;当 I/O 口输出高电平时,LED 熄
灭。还有另一种驱动方式则正好相反,LED 的阴极与地相连,当 I/O 口输出高点平时 LED 被点亮。采用灌
流驱动的优点是某些 I/O 驱动能力较弱的 MCU 也可以直接点亮 LED,而用后者则可能无法点亮 LED。STM8S
的 GPIO 部分我们在相关章节会详细叙述。
图 2.7 LED 电路
4.按键部分
为了完成 GPIO 输入、外部中断及在其他实验中作为输入,我们设计了按键部分的电路,如图 2.8 所
示。
图 2.8 按键电路
STM8S
从入门到精通—
STM8
开发工具
**********************************************************************************************************
第 7页
我们选择了 PA4、PA5、PA6 作为三个用户按键的接口。电路中的三个电阻和电容为硬件防抖,这样
程序设计中就不用进行软件防抖处理,可以提高程序运行效率。
5.电源
图 2.9 电源电路
图 2.9 为开发板的电源电路。其中 J4 位外部电源插座,外部输入的电源是 5V 直流电源。J7 为电源
开关,开关的拨键拨到 3 时,2、3 相连,给开发板供电;开关拨键拨到 1 时,1、2 连同,开发板电源关
闭。R2 为自恢复保险丝,其最大承受电流是 500mA,当 R2 后续的电路发生短路时,经过其的电流会大于
500mA,R2 会自动熔断,当短路消除时,R2 又恢复导通,所以叫自恢复保险丝,作用是保护电路,避免
器件因短路而烧毁。
因为 STM8S 的供电电压可以是 2.95-5.5V,又因为开发板的一些器件是 3.3V 的供电,所以我们在开
发板上又设计一个 5V-3.3V 转换芯片 AMS1117 J5,这样我们就可以分别在 3.3V 和 5V 的供电下开发 STM8,
又可以给 3.3V 的器件供电,增加了开发的灵活性。 C9、C10 为电源芯片 AMS1117 的输入滤波电容,C11
为 3.3V 的输出滤波电容。J6 为一个跳线设计,当需要给 STM8S 芯片 5V 供电时就短接 2、3,当需要给
STM8 3.3V 供电时就短接 1、2,其中 2 脚即 POW 为 STM8 的供电电源。
R11、D4 为电源指示电路,用于指示开发板的电源是否接通,R11 为 LED D4 的限流电阻。
6.USB 转 TTL 电路
在电路中我们还设计了一个 USB 转 TTL 电路。设计这个电路的目的有 3 个:一是 STM8S105C6 有 1 个
UART 接口,要使用这个接口与计算机通信,需使用 232 接口,但是现在的计算机很多都没有 232 接口,
使用 USB 转 TTL 电路可以方便的解决这个问题,只需要使用计算机的 USB 口来模拟 232 即可;二是可以
通过 USB 转 TTL 电路的 USB 接口来给开发板进行 5V 供电;三是可以通过这个接口来给 STM8 芯片烧写程
序。
图 2.10 USB 转 TTL 电路
图 2.1 为 USB 转 TTL 电路,主芯片为 CH340T。比较常用的 USB 转 TTL 芯片主要有 CP2102、PL2303、
CH340。CP2102 功能全,但是价格相对较高;PL2303 与 CH340 价格差不多,但是 PL2303 电路比较复杂,
CH340 电路则比较简单,而且 CH340 在 5V 或 3.3V 下都可以工作。
电路中 J1 为 MiniUSB 公座,可以给开发板供电,也是通信的接口。Y2 为 CH340 正常工作需要的晶振,
频率为 12MHz。C5、C6 为晶振的匹配电容,值为 22pf。CH340T 的 V3 引脚与芯片内部电源连接,使用 5V
STM8S
从入门到精通—
STM8
开发工具
**********************************************************************************************************
第 8页
供电时 V3 管脚应该通过 0.01uf 的电容接地进行退耦,使用 3.3V 供电时则应该连接 3.3V 输入外部电源,
我们在此处设计了一个跳线来进行切换。C7 为芯片电源退偶电容。
建议 CH340T 的 TXD 和 RXD 管脚通过 2 个跳线与 STM8 芯片的 UART 接口相连。需要使用 STM8S 进行通
信时,将 2 个跳线短接。需要单独使用 CH340T 做 USB 转 TTL 以做他用时,则可以将跳线断开。这样设计,
一是可以实现 STM8 的 UART 通信功能,二是拥有了一个 USB 转 TTL 模块,可以调试其他设备。
7.蜂鸣器电路
STM8S 带有蜂鸣器驱动管脚,当芯片 LSI 工作时,可以输出 1K、2K 或者 4K 的蜂鸣器驱动信号,可以
直接驱动无源蜂鸣器。为了能够或得更好的驱动效果,采用图 2.11 所示的电路。
图 2.11 蜂鸣器驱动电路
蜂鸣器一端接电源,另一端接三极管。三极管的基极通过一个小值的电阻接 STM8S 的蜂鸣器驱动管
脚。推荐连接 STM8S 蜂鸣器驱动管脚之前经过一个跳线,这样不使用时可以断开,避免影响 STM8S 蜂鸣
器驱动管脚另作他用。这样蜂鸣器驱动管脚输出驱动信号时,可以通过三极管的导通或关闭来驱动蜂鸣
器,使用三极管驱动比直接使用 STM8S 管脚驱动的电流更大,效果更好。
8.ADC 电路
STM8S 芯片带有 ADC 功能,其中我们设计的开发板使用的 STM8S105C6 带有 10 路 10 位 ADC 通道。为
了能够完成 ADC 实验,我们设计了 ADC 部分的电路。如图 2.12 所示。
图 2.12 ADC 电路
电路中 R3 为 10K 的固定阻值电阻,R4 则为光敏电阻。固定阻值电阻和光敏电阻组成分压电路,中间
与 ADC 通道 8 相连,这样外接光线变化会引起分压值的变化,从而引起 AIN8 采样值的变化。推荐分压电
路接 AIN8 之前接跳线,可以不影响 AIN8 所在的管脚另作他用。
STM8S
从入门到精通—
STM8
开发工具
**********************************************************************************************************
第 9页
9.时钟输出 CCO 与输入捕获电路
STM8S 由一个管脚具有特殊的时钟输出功能(CCO),可以通过它来输出指定频率的时钟信号。CCO 可
以输出 6 种时钟信号,具体在 CCO 相关章节我们会详细讲解。
STM8S 的定时器具有输入捕获功能,我们选择了定时器 1 的一个输入捕获通道来完成相关实验。
CCO 和输入捕获的电路如图 2.13 所示。
图 2.13 CCO 与输入捕获电路
图 2.13 中 J10 为普通 2P 的间距 2.54mm 排针。其中一个与 CCO 管脚相连,另一个与定时器 1 的输入
捕获通道相连。这样既可以单独使用 CCO 管脚来完成输出时钟实验,又可以在没有外部信号源的情况下
通过短接 2 个排针来借用 CCO 输出的信号完成输入捕获实验。
10.红外遥控电路
为了熟悉外部中断和定时器的相关操作,我们在开发板上增加了一体化红外接收头。具体电路如图
2.14 所示。
图 2.14 红外接收头电路
图 2.14 中 J17 为一体化红外接收头,其 3 脚为电源引脚,2 脚为地,1 脚为信号输出引脚。信号输
出引脚接 STM8S 的外部中断输入引脚,推荐在接 STM8S 引脚之前增加一跳线设计,不用时可以断开,不
影响相关引脚另作他用。
11.温湿度传感器电路
在平时使用 STM8S 时,会经常用它来处理传感器数据,其中最常用的传感器就是温湿度传感器。为
了完成相关实验,我们在开发板中增加了一款单总线协议的温湿度传感器 DH11。DH11 输出温度和相对湿
度的数字信号,价格便宜、稳定性高。相关电路如图 2.15 所示。
图 2.15 温湿度传感器电路
12.485 电路
在实际应用中设备间进行串行通信比较常用的标准是 RS232 和 RS485。其中 RS232 我们在前述章节中
已经使用 USB 转 TTL 代替,下面我们来了解一下 RS485。
RS485 最大通信距离标准为 4000 英尺,约合 1219 米,实际通信距离可达 3000 米;RS485 允许在通
信线路上挂在多达 128 个收发器;RS485 是半双工网络,一般只需要 2 根通信线。因为 RS485 具有良好的
抗干扰性、长距传输和多站传输能力,使其成为首选的串行接口。
STM8S
从入门到精通—
STM8
开发工具
**********************************************************************************************************
第 10页
RS485 和 RS232 一样只定义了传输电压、阻抗,没有对软件协议进行定义。
为了完成 RS485 的实验,我们设计了 RS485 部分的电路,如图 2.16 所示。
图 2.16 RS485 电路
图 2.16 中,J2 为 RS485 的接口器件,因为 RS485 只需要 2 根通信线即可,所以我们采用了 2P 接线
柱。C15 为芯片 SP345 的耦合电容。/RE 和 DE 为 485 芯片的接收和发送的使能管脚,因为 485 是半双工
工作,所以某一时刻只能接收或发送。一般应用中会使用 MCU 的 2 个 I/O 分别接/RE 和 DE 来控制 485 收
发,但这样会占用 MCU 的 2 个管脚。在此电路中,我们使用了一个 PNP 三极管组成自控收发控制电路,
如图 2.16 中的 Q2 部分,原理为三极管的开关电路。
13.外接 EEPROM 电路
STM8S 单片机带有 IIC 接口,另外在具体应用中也会有使用 EEPROM 存储数据的场合,出于这两方面
的需求,我们设计了外接 EEPROM 的电路。如图 2.17 所示。
图 2.17 EEPROM 电路
图 2.17 中 U3 即为 IIC 接口的 EEPROM 芯片,我们采用的是 ATMEL 的 24COX 系列 EEPROM 芯片,X 代表
容量,不同容量的芯片管脚兼容。此芯片供电电压 1.8-5.5V 均可。R21、R22 为 IIC 总线的上拉电阻。推
荐在芯片与 STM8S 的 IIC 管脚连接之前增加一组跳线,使用时短接,不使用时断开,不会对 IIC 管脚另
作他用造成影响。
14.FLASH 电路
FLASH 芯片结构简单,同样的存储容量,价格比 EEPROM 便宜很多,因而在很多场合中用作程序存储
剩余215页未读,继续阅读
嵌入式开发_代码开发
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 最优条件下三次B样条小波边缘检测算子研究
- 深入解析:wav文件格式结构
- JIRA系统配置指南:代理与SSL设置
- 入门必备:电阻电容识别全解析
- U盘制作启动盘:详细教程解决无光驱装系统难题
- Eclipse快捷键大全:提升开发效率的必备秘籍
- C++ Primer Plus中文版:深入学习C++编程必备
- Eclipse常用快捷键汇总与操作指南
- JavaScript作用域解析与面向对象基础
- 软通动力Java笔试题解析
- 自定义标签配置与使用指南
- Android Intent深度解析:组件通信与广播机制
- 增强MyEclipse代码提示功能设置教程
- x86下VMware环境中Openwrt编译与LuCI集成指南
- S3C2440A嵌入式终端电源管理系统设计探讨
- Intel DTCP-IP技术在数字家庭中的内容保护
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功