深入浅出stm8单片机入门、进阶与应用实例
- 格式:doc
- 大小:11.57 KB
- 文档页数:3
第十四章STM8S207 PWM 模块及其应用实例上一节我们学习了定时器中的基本定时器编程,这一节学习定时器里面一个PWM模块。
当终于到了PWM 模块编程时,有些许怀念,怀念过去的一年之中的日以继夜相对的PWM。
忘了介绍我们的团队---风驰,也就是第六届飞思卡尔比赛中的一个队伍。
1、PWM 介绍脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。
简单一点,就是对脉冲宽度的控制。
PWM 在实际应用很广,例如上面提到的飞思卡尔智能车就用到PWM 控制舵机以及电机。
关于舵机是如何用PWM 控制的,这里不详细说明,有兴趣的建议查询相关知识。
这些在模型制作中应用十分广泛。
关于PWM 如果控制电机的这里略为说明,因为和本节有些许关联普通直接电机在通电时以全电压工作,在没有PWM 控制电机之前是运用继电器通过不停开断实现对电机的速度控制。
引入PWM 就可以更为灵活控制电机。
PWM 是脉冲宽度可调的方波,在10K 左右的频率下,通过不同的占空比就可以得到近似稳定的电压。
例如输入5V,占空比为50%时,电压近似 2.5V。
我们这节实验也是应用PWM 这个特性。
利用PWM 中的占空比调节LED 的亮度。
关于PWM 的说明这里也简要说明,PWM 第一个参数是PWM 的周期,也就是一个PWM 的时间。
这个可以通过对应的寄存器进行设置,而我们的STM8S207 通过PSCR 设置定时器的时钟源CK_CNT,然后再通过ARR 寄存器设置周期。
例如我们这节的实验使用了16M 内部时钟源,LED4 是接着PD3 的,也就是TIM2_CH2,PSCR只能是2 的次幂,我们选择了4 分频。
CK_CNT = 4M,然后ARR 设置为200,分频200 后直接提供PWM 的时钟,所以f_pwm = 4M/200 = 20KHz。
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。
ST单片机STM8S开发入门教程最近ST在国内大力推广他的8位高性价比单片机STM8S系列,感觉性能上还是非常不错的,网上稍微看了点资料,打算有机会还是学习一下,先入门为以后做好技术积累。
好了,长话短说。
手上拿到一套ST最近做活动赠送的三合一学习套件,上面包括STM32F小板、ST LINK小板、STM8S小板,做工很精致,相信很多朋友也收到了。
既然当初去申请了,人家也送了,总得把用起来吧,放着吃灰尘是很可惜的^_^ 。
好,步入正题,刚开始在论坛上逛了一圈,感觉STM8S的资料实在太少,都是官方的应用资料,没有什么入门介绍,连需要安装什么软件都搞不清楚。
偶的电脑光驱坏了,所以也读不出光盘里有什么东西,所以只能到处瞎摸,还是ourdev论坛好,嘿嘿,仔细看了几个帖子,总算明白大概是什么样的开发环境了。
用C语言开发STM8S,需要安装两个软件:1、STVD IDE开发环境;2、COSMIC for STM8 C编译器。
STVD可以到官网下载,下载地址:COSMIC 需要申请LICENSE,比较繁琐,刚好坛子有人传了一个免安装无限制版本的,偶就赶紧下载了,大家可以去下载,仅做为个人学习使用。
下载地址:软件下载后,只需安装STVD。
从上面地址下载的COSMIC不用安装,只要解压到硬盘即可。
后面建立工程的时候设置好路径即可。
下面一步一步开始啦~一、安装好STVD后,桌面上建立了两个快捷图标,ST Visual Develop就是STVD了。
ST Visual Programmer是编程软件,可以配合ST LINK对STM8S进行编程烧录。
二、双击运行ST Visual Develop,启动STVD开发环境。
执行Workspace,在New Workspace 窗口里选择Create workspace and projects,点击“确定”建立工作组和工程三、在Workspace 里输入Workspace名称,由于最终我们要测试一个现成的LED程序,所以偶写了led,随你喜欢了,呵呵。
教你如何玩转STM8单片机!最初从单片机学习整个计算机系统是个非常正常的阶梯学习方法。
因为直到今天,计算机系统的那些事,也没逃离这个最基础的架构。
可惜我当年直接跳过了这个过程,直接从intel 486学起的,那时每天带着无数的疑问在艰难的前行。
单片机不一定要学习51,其实随便选一家都是一样的。
从实际出发要选,便宜的,外围器件少的,里面功能的,所以为大家挑选了STM8L。
STM8L是个8位单片机,我在论坛中的确看到一些小兄弟在问8位是怎么回事?我至少欣慰这位兄弟确实在思考。
通常我说的8位是指CPU计算时,具体点说,不如说加法,是指两个8位二进制数相加的能力。
同理,32位,就是32位二进制数相加。
另外,也是最难的部分,这8位单片机的寻范围可不一定是8位的,这点要注意。
寻址范围,听不懂?不如说是地址范围。
想象一下,8根地址线,每根线上用电压高或者低表示1和0,那么这8根线,一共能表示多少个数字,你可以一个个数,当然最好是计算,2的8次方种组合。
那也就算256个数字,每个数字表示一个地址访问一个字节的数据,也就只能访问256个字节。
这个空间太小了。
所以意法半导体是不会如此设计的,那就增加地址线,增到16根地址线,2的16次方,等于65536个地址。
我记得有门课程《计算机原理》,本是本很实用的书,可惜老师讲的太烂,毫无吸引力。
65536是64KB,对于STM8L151K4T6,拥有16KB flash,以及2KB ram是足够寻址了。
单片机的整个地址空间通常很简单,就是一个连续的线性空间0x0000~0xFFFF。
只是其中分散着一块块的内存,有的是flash,有的是ram,有的是register set,有的是ROM。
仅此而已,别以为有多么复杂。
Flash和Ram是存储代码和数据,包括堆栈。
Registers就是软件控制外设的唯一的接口。
写驱动程序就是和这些寄存器打交道。
每家芯片的寄存器的设计都不同,你需要阅读厂商的大量资料,一般是英文的。
STM8学习笔记——初步认识最近项目要求找个便宜又够用的单片机,本来是想选STC 的,但其实STC 也并不便宜,且调试比较麻烦,而且AD 不是很好,所以选择了STM8。
昨天买来了ST-LINK III,拿了一块STM8S105S4,此单片机有16K ROM,2K RAM,1K 的EEPROM,带10bitADC,定时器(ICOCPWM)和SPI I2C UART 通讯接口,看门狗等,封装为LQFP44。
这款单片机的供电分得很细,主电源、IO 口、模拟供电都分开,这样就可以非常灵活的配置,比如模拟供电可以选用5V 以扩大量程;IO 口可以配置位3.3 或5V 以适应一些设备。
上图中VDD/VSS 引脚用于给内部主电压调节器(MVR)和内部低功耗电压(LPVR)调节器供电。
这两个调节器的输出连接在一起,向MCU 的核(CPU,FLASH 和RAM)提供1.8V 电源(V18)。
在低功耗模式下,系统会将供电电源从MVR 自动切换到LPVR 以减少电流消耗。
为稳定MVR,在VCAP 引脚必须连接一个电容。
该电容应该拥有较低的等效串联电阻值(ESR),电容最小的推荐容值为470nF。
ST-LINK III 管脚定义及接法:ST-LINK III LED 灯三种状态含义:常亮:目标板与ST-LINK 在SWIM 模式或者JTAG/SWD 模式下已经通讯初始化。
闪烁:目标板与ST-LINK 正在进行数据交换。
熄灭:目标板与ST-LINK 没有通讯初始化。
开发平台:还是比较习惯用IAR,查了下果然有IAR for STM8,于是下了并和谐,然后随便写了个程序,下载调试,发现出错,更新ST-LINK III 的固件,无果。
难道是IAR 的问题?于是下载官方的STVD,安装后发现也无法下载,提示是。
第一部分学习板stm8单片机篇第1章预备篇1.1如何在win7系统下安装基础型学习板实验平台软件1、双击鼠标左键打开资料中的“基础型学习板实验平台”,“基础型学习板实验平台”如图 1.1-1所示。
图 1.1-1微云电子出品文件夹2、打开“基础型学习板实验平台”后,出现一名为Volume的文件夹,界面如图 1.1-2所示。
图 1.1-2Volume文件夹3、双击鼠标左键打开“Volume文件夹”,出现安装setup所在文件夹,如图1.1-3所示。
图 1.1-3setup所在界面4、右键单击“setup.exe”,选择以管理员身份运行,如图1.1-4所示。
图 1.1-4以管理员身份运行安装图标5、安装程序初始化界面如图1.1-5所示。
图 1.1-5安装程序初始化6、选择目标目录界面,基础型学习板实验平台目录的默认目录是C:\Program Files\基础型学习板实验平台\,如图1.1-6所示。
图 1.1-6选择目录界面7、修改保存路径,单击浏览微云电子出品目录以及National lnstuments产品目录,在这里微云电子出品的目录我选用D盘名命为基础型学习板实验平台的文件夹中,单击下一步,如图 1.1-7所示。
图 1.1-7修改后的保存路径注:读者可自行选择目录,也可不修改路径,选择默认路径,直接点击下一步,National lnstuments产品目录的选择和下载器的目录选择完全一样,这这里不再重复介绍。
8、目录选择结束的开始安装界面如图1.1-8所示,单击下一步。
图 1.1-8开始安装9、安装进度如图1.1-9所示。
图 1.1-9安装进度8、单击完成,安装成功,安装成功界面如图1.1-10所示。
图 1.1-10安装成功界面1.2如何使用Downloader1、左键单击计算机左下方的“开始菜单”中“所有程序”中的“基础型学习板实验平台”,如图 1.2-1所示。
图 1.2-1打开0724电子出品2、单击鼠标右键Downloader,选择以管理员身份运行,这个是我们向stm8单片机里下载程序的软件,Downloader打开界面如图 1.2-2所示。
stm8s系列单片机原理与应用STM8S系列单片机原理与应用。
STM8S系列单片机是STMicroelectronics公司推出的一款高性能、低功耗的8位单片机,广泛应用于家电、工业控制、汽车电子等领域。
本文将介绍STM8S系列单片机的基本原理和应用。
首先,我们来了解一下STM8S系列单片机的基本特点。
STM8S系列单片机采用高性能的8位CPU内核,工作频率可达到20MHz,具有丰富的外设资源,包括通用定时器、串行外设接口、模拟数字转换器等。
此外,STM8S系列单片机还具有低功耗特性,可满足对功耗要求较高的应用场景。
在实际应用中,STM8S系列单片机可以广泛应用于各种控制系统中。
例如,可以用于家电控制领域,如空调、洗衣机、微波炉等家电产品的控制系统;还可以应用于工业控制领域,如工业自动化设备、仪器仪表等的控制系统;同时,STM8S系列单片机还可以应用于汽车电子领域,如汽车发动机控制单元、车载娱乐系统等。
在使用STM8S系列单片机进行开发时,我们可以充分发挥其丰富的外设资源和高性能的CPU内核。
通过合理的软件设计和优化,可以实现各种复杂的控制算法和功能。
同时,STM8S系列单片机还提供了丰富的开发工具和软件支持,如ST 公司提供的集成开发环境和编译器,方便开发人员进行软件开发和调试。
除此之外,STM8S系列单片机还具有丰富的通信接口,如SPI、I2C、UART 等,可以方便地与外部设备进行通信,实现系统的扩展和联网。
这些通信接口的灵活应用,使得STM8S系列单片机在各种应用场景下都能够得到充分的发挥。
总的来说,STM8S系列单片机作为一款高性能、低功耗的8位单片机,具有丰富的外设资源和通信接口,广泛应用于家电、工业控制、汽车电子等领域。
在实际应用中,我们可以充分发挥其性能优势和丰富的外设资源,实现各种复杂的控制算法和功能。
同时,ST公司提供的丰富的开发工具和软件支持,也为开发人员提供了便利。
相信随着技术的不断发展,STM8S系列单片机在各个领域的应用将会更加广泛。
深入浅出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单片机中的一项重要技术,可以实现程序的异步处理。
STM8单片机提供了多种中断类型,包括外部中断、定时器中断、串口中断等。
掌握中断技术可以大大提高程序的运行效率和稳定性。
4. STM8单片机应用案例
STM8单片机应用广泛,可用于控制系统、电力系统、通信系统、汽车电子等领域。
例如,控制系统中可以使用STM8单片机控制电机、执行自动化任务;电力系统中可以使用STM8单片机实现电能质量监测等功能;通信系统中可以使用STM8单片机实现无线通信等功能;汽车电子中可以使用STM8单片机实现车载信息娱乐系统等功能。
三、总结
STM8单片机是一款性能优越、功能丰富的微控制器,在多个领域都有着广泛的应用。
学习STM8单片机的过程中,需要掌握基础知识、学习外设应用、了解通信协议和掌握中断技术。
同时,需要不断积累实际应用经验,通过实践和开发案例来提高技能水平。