0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

教你如何玩转STM8单片机!

GReq_mcu168 来源:未知 作者:胡薇 2018-08-10 15:46 次阅读

最初从单片机学习整个计算机系统是个非常正常的阶梯学习方法。因为直到今天,计算机系统的那些事,也没逃离这个最基础的架构。可惜我当年直接跳过了这个过程,直接从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就是软件控制外设的唯一的接口。写驱动程序就是和这些寄存器打交道。每家芯片的寄存器的设计都不同,你需要阅读厂商的大量资料,一般是英文的。

庆幸的是ST发布了标准外设库函数,使你不再需要关心寄存器细节。但如果你是单片机初学者,我建议阅读标准外设库代码,以及阅读芯片手册。当你阅读到一定量以后,你会找到市面上所有芯片的共性,以及明白他们设计的优缺点。做到心中有数,甚至不看手册,就能八九不离十的猜到任意芯片的寄存器设计,这就到了,驱动程序最高境界。

现在学习STM8,由于ST已经提供标准驱动库函数,对C语言能力要求已经很弱了,只要上过大学C语言课程,都可以进行编程

但是我建议大家把C语言学深点。它的核心就是指针,玩转指针,就玩懂了C语言。它的其他功能和其他语言没有任何差别。只是逻辑控制而已。能把C的指针真正弄懂,你还不得不学习一下机器语言,万变不离其宗。见多识广,千万不要怀疑自己大脑的记忆能力,也不要认为多学会学混,我的经验是,学得越多,只会让你你看得更明白。

STM8系统的机器指令的长度是8位的。固定长度,你可以大致看看每个Bit是什么意思。这都是工程师精确设计的,也是人设计的。别人能做到的,你为什么不行?多问问自己。

机器指令的介绍,一定会花大篇幅介绍寻址。你可以想象,机器世界里,你的资源,其实只有内存和寄存器。内存是靠地址的,才能知道访问的是哪一块,而寄存器就是靠唯一的名字访问,当然外部设备的地址,也是靠地址访问。所以可以推断,机器指令手册,必须介绍,如何把寄存器的内容搬移到内存,或者如何把内存特定地址的内容搬移到寄存器。更有可能你是期望把直接的一个数字放入寄存器。等等的各种组合。不是任意一条连线都是被允许的,一般都不会支持直接把一条内存,搬移到另一条内存。中间需要寄存器暂存一下。等等的规律,你读多了自然会懂。

不过上手STM8不需要懂这些,一样可以玩。它内置bootROM,一启动,当跳进你的main函数时,该做的初始化已经完成,你直接可以开始操作GPIO了,clock如果没有额外需要,不需要配置,内置的16MHz的晶振,默认8分频,2MHz用来跑core,也就是运行你的程序。STM8L151K4T6最小系统板,我会提供一个最小的工程文件,里面包含一个操作GPIO的代码,也就是让开发板上的 LED灯点亮,并且闪烁。基本的逻辑是拉高,拉低交替,中间加延时,这里的延时,用的最简单的的死循环delay,代码逻辑简单,就是不够环保。死循环是靠电耗换来的,但是这种代码有时候也是必要的,上MHz的CPU,运行每条指令都是ns级别的,如果你需要的delay也是ns级别的,那么死循环确实就是最好的选择。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6044

    文章

    44632

    浏览量

    639390
  • STM8
    +关注

    关注

    18

    文章

    392

    浏览量

    57004

原文标题:怎样玩转STM8单片机

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM8单片机

    单片机8单片机STM8
    jf_72064266
    发布于 :2022年10月04日 05:27:41

    stm8单片机例程分享

    在这篇文章中将自己上传的资源做一个下载链接的目录方便查找下载单片机解析字符串命令示例STM8单片机双通道PWM互补输出STM8单片机5通道A
    发表于 01-27 07:37

    STM8_单片机原理与实践_刘海成/叶树江/郭强编著

    STM8 单片机原理与实践STM8 单片机原理与实践
    发表于 01-13 10:12 0次下载

    PIC STM8 STC单片机代码及相关资料

    PIC STM8 STC单片机代码及相关资料,破解文件等
    发表于 02-07 15:53 15次下载

    STM8单片机的电路原理图详细资料免费下载

    本文档的主要内容详细介绍的是STM8单片机的电路原理图资料免费下载。
    发表于 11-14 17:10 57次下载
    <b class='flag-5'>STM8</b><b class='flag-5'>单片机</b>的电路原理图详细资料免费下载

    STM8单片机如何进行IAR工程的建立

    本文档的主要内容详细介绍的是STM8单片机如何进行IAR工程的建立。
    发表于 05-10 18:13 8次下载
    <b class='flag-5'>STM8</b><b class='flag-5'>单片机</b>如何进行IAR工程的建立

    使用STM8单片机控制LED的程序和工程文件免费下载

    本文档的主要内容详细介绍的是使用STM8单片机控制LED的程序和工程文件免费下载。
    发表于 07-22 08:00 9次下载
    使用<b class='flag-5'>STM8</b><b class='flag-5'>单片机</b>控制LED的程序和工程文件免费下载

    STM8单片机的串口UART资料免费下载

    本文档的主要内容详细介绍的是STM8单片机的串口UART资料免费下载。
    发表于 04-24 17:19 34次下载
    <b class='flag-5'>STM8</b><b class='flag-5'>单片机</b>的串口UART资料免费下载

    STM8系列单片机程序的下载方式

    STM8系列单片机程序的下载方式
    发表于 11-26 14:06 31次下载
    <b class='flag-5'>STM8</b>系列<b class='flag-5'>单片机</b>程序的下载方式

    手把手教你STM8单片机标准库移植

    的8051,STM8是ST独有的8单片机内核。2.STM8单片机内部的寄存器更多,资源更丰富,功能更强大,价格相比8051更贵一点。3.S
    发表于 11-26 14:36 15次下载
    手把手<b class='flag-5'>教你</b><b class='flag-5'>STM8</b><b class='flag-5'>单片机</b>标准库移植

    stm8单片机例程下载链接

    在这篇文章中将自己上传的资源做一个下载链接的目录方便查找下载单片机解析字符串命令示例STM8单片机双通道PWM互补输出STM8单片机5通道A
    发表于 12-03 12:06 40次下载
    <b class='flag-5'>stm8</b><b class='flag-5'>单片机</b>例程下载链接

    如何设置STM8单片机选项字

    如何设置STM8单片机选项字
    发表于 12-03 12:36 12次下载
    如何设置<b class='flag-5'>STM8</b><b class='flag-5'>单片机</b>选项字

    stm单片机型号的意义 stm8和stm32的烧写程序的区别 stm8读取程序

    STM或STM32或STM8,代表单片机的品牌和系列。STM32系列是基于ARM Cortex-M内核的单片机系列,而STM8系列则是基于ST8
    的头像 发表于 04-08 14:43 8606次阅读

    STM8单片机CAN滤波器的设置

    STM8单片机CAN滤波器的设置
    的头像 发表于 10-17 14:50 2621次阅读
    <b class='flag-5'>STM8</b><b class='flag-5'>单片机</b>CAN滤波器的设置

    STM8系列单片机入门

    电子发烧友网站提供《STM8系列单片机入门.pdf》资料免费下载
    发表于 10-07 16:09 3次下载
    <b class='flag-5'>STM8</b>系列<b class='flag-5'>单片机</b>入门