历史上的今天
返回首页

历史上的今天

今天是:2025年08月13日(星期三)

正在发生

2020年08月13日 | 教你如何玩转STM8单片机!

2020-08-13 来源:elecfans

最初从单片机学习整个计算机系统是个非常正常的阶梯学习方法。因为直到今天,计算机系统的那些事,也没逃离这个最基础的架构。可惜我当年直接跳过了这个过程,直接从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级别的,那么死循环确实就是最好的选择。

推荐阅读

史海拾趣

Advanced Thermal Solutions公司的发展小趣事

ATS始终坚持以创新为驱动力,不断提升研发创新能力。公司设立了专门的研发团队,负责新技术和新产品的研发工作。通过与高校和研究机构的合作,ATS不断引入前沿的科技成果和人才资源,为公司的创新发展提供了有力支持。此外,ATS还建立了完善的研发流程和质量控制体系,确保每一款产品都能达到最高的性能和质量标准。

得力(deli)公司的发展小趣事

得力公司之所以能够在电子行业中不断发展壮大,离不开其持续创新的企业文化。公司鼓励员工敢于尝试、勇于创新,不断挑战自我和行业极限。同时,得力还注重知识产权保护,积极申请专利和商标,保护自己的创新成果。这种持续创新的企业文化不仅为得力公司带来了源源不断的创新动力,也为其在电子行业中树立了良好的品牌形象。

Eaton公司的发展小趣事

除了能源管理领域外,伊顿公司还在商用车领域取得了显著成就。自1985年首次将技术引进中国以来,伊顿的变速器产品已经进入中国市场30多年。通过与国内各个商用车生产企业的紧密合作,伊顿成功地将其先进的变速器技术应用于各种商用车型中,提高了车辆的燃油经济性和驾驶舒适性。特别是在物流行业,伊顿的变速器产品帮助车队降低了油耗成本,提高了运营效率。

DZUS公司的发展小趣事

面对日益严峻的环境保护问题,DZUS公司积极响应国家号召,制定了可持续发展战略。公司采用环保材料和生产工艺,减少了对环境的污染和破坏。同时,公司还加大了对可再生能源的研发和应用力度,致力于推动绿色生产和可持续发展。这些举措使DZUS公司成为了行业的环保标杆,并赢得了社会各界的广泛赞誉。

Econais公司的发展小趣事

自成立以来,Econais一直致力于技术创新。XXXX年,公司成功推出了一款具有里程碑意义的单芯片IEEE802.11b/g/n Wi-Fi系统级封装(SiP)模块——EC19D01。这款模块在业界引起了广泛关注,因为它不仅体积小、易于集成,而且待机功耗极低。这一突破性的创新使得Econais在物联网领域树立了技术领先的地位。

American Technical Ceramics (ATC)公司的发展小趣事

Econais公司成立于XXXX年,其创始人是一群在无线通信技术领域拥有深厚背景和丰富经验的工程师。他们看到了物联网(IoT)和机器对机器(M2M)通信的巨大潜力,并希望通过自己的技术,为全球的设备提供高效、稳定的无线连接方案。于是,Econais应运而生,专注于研发超低功耗(ULP)和高性能的无线模块。

问答坊 | AI 解惑

安全芯片能否保证芯片安全?

不可否认,在所有技术引发的矛盾当中,IP(知识产权)保护始终是一件令人不安和焦虑的事情。如果我期望在电子市场购买几款不同牌子相同功能的便携消费设备,最有可能的一种情况是买到一些不同的外壳,而不是几种完全不同的性能体验。我大概只能从价 ...…

查看全部问答>

Verilog HDL实验---小项目2

/*============================================================ 功能:跑表 CLK:时钟信号 CLR:异步复位信号 PAUSE:暂停信号 MSH,MSL:百分秒的高位和低位 SH,SL:秒信号的高位和低位 MH,ML:分钟信号的高位和低位 ============= ...…

查看全部问答>

关于如何使用微软的蓝牙协议栈模块的问题

晕死了,这个问题搞了好一阵子了,瞎折腾,看文档也没有搞定。 ------------------------------------------------------------ 是这样的,以前我们一直用斯图曼的AT命令 串口蓝牙模块,现在为了考虑软件兼容性问题, 刷了支持微软的蓝牙协议栈 ...…

查看全部问答>

2.8版本的驱动调试助手,不能用?

我用2.8版本的驱动调试助手,使用DM_ARMV4I_V2.8.exe试图调试一个驱动 发现有的驱动加载后。没有提示加载成功,在驱动列表里面说他的状态是停用 why? 我这个驱动编译到内核里面是可以被启动的。 我的屏幕菜单也没有rar里面附带视频里面的菜单 ...…

查看全部问答>

存储芯片扩展问题?

在MCS-51单片机系统中,用2*8位存储芯片扩展为8*16位(用线选法), 这怎么扩展呀?P0,P2口一共16跟线,那用哪几跟线做为线选选择呀? 真想不明白怎么扩展?哪位大虾说下?谢谢!!…

查看全部问答>

【招聘】济南高新区集成电路公司招聘

RF/模拟电路设计工程师 (2名)职位描述 1、负责RF模拟与混合信号IC的设计工作,电路结构确定、仿真和验证 2、设计版图布局,并协助版图工程师进行版图设计,确保版图达到电路设计的要求 3、拟定实验室评估计划,并使用实验室测试设备对工程 ...…

查看全部问答>

行业内第一款大功率初级侧稳压IC诞生了

中国电力电子产业网讯:随着科技的进步,电力电子行业得到了飞速的发展,各相关企业也在不断的研发新的产品,一些新品陆续面世,行业内第一款大功率初级侧稳压IC诞生了。  “PI的核心技术就是能够把高压MOSFET和低压控制器集成在一起。”Power In ...…

查看全部问答>

FPGA助力芯片成本降低,ASIC会否坐以待毙?

FPGA(现场可编程逻辑器件)产品近几年的演进趋势越来越明显:一方面,FPGA供应商致力于采用当前最先进的工艺来提升产品的性能,降低产品的成本;另一方面,越来越多的通用IP(知识产权)或客户定制IP被引入FPGA中,以满足客户产品快速上市的要求。 ...…

查看全部问答>

新手学习PCB

最近由于需要 在学习PCB,希望能够在这里学到更多的知识 我也会把我的资料及时的和大家进行分享  好久没有来到我们电子工程世界了 希望在这样一个大家庭我们能够共同的进步 …

查看全部问答>

VFPv3,VFPv3-D16,NEONv1哪个效率高.

VFPv3,VFPv3-D16,NEONv1哪个效率高,对于Cortex-A8而言. …

查看全部问答>