首页编程语言STM8系列C语言编程基础

STM8系列C语言编程基础

cysgjjcysgjj时间2024-07-19 03:22:33分类编程语言浏览100
导读:stm8单片机用什么软件开发好?什么是C语言可以实现,其他语言无法做到的?如果用stm8单片机+dac转换+运放。设置一个可调节范围0-10v输出电压源?stm8单片机用什么软件开发好?STM8单片机是ST意法半导体的8位单片机,该系列单片机有三个分类,分别是:STM8A:汽车级应用芯片;STM8S:标准系列应用芯片;STM8L:低功……...
  1. stm8单片机用什么软件开发好?
  2. 什么是C语言可以实现,其他语言无法做到的?
  3. 如果用stm8单片机+dac转换+运放。设置一个可调节范围0-10v输出电压源?

stm8单片机什么软件开发好?

STM8单片机是ST意法半导体的8位单片机,该系列单片机有三个分类,分别是:

STM8A:汽车应用芯片

STM8S:标准系列应用芯片;

STM8系列C语言编程基础
图片来源网络,侵删)

STM8L:低功耗应用芯片;

STM8的编程环境主要有STVD和IAR for STM8等,工具软件有:STVP,stm8cubemx等。下面分别介绍。

STVD是ST官方发布的一款编程环境,专门针对ST7和STM8系列单片机。该编程环境使用简单,编辑高效,方便调试。STVD IDE是免费的无版权,但是如果要用C语言编程的话,是需要安装C编译器COSMIC for STM8的,这个C语言编译器是有版权的,需要license。

STM8系列C语言编程基础
(图片来源网络,侵删)

↑ STVD 编译器

STVD编程环境在使用的过程中BUG比较多,在这里不推荐大家使用。

IAR FOR STM8专门针对STM8,界面友好,工程目录非常清晰,编程体验非常愉快,这个环境用了这么多年了,没出过什么BUG的问题,也很少死机。IAR FOR STM8有8K限制版本是免费的,没有版权困扰,对8K内存的单片机而言足够了。关键这款编程环境支持STLINK的在线仿真,调试很方便。

STM8系列C语言编程基础
(图片来源网络,侵删)

什么是C语言可以实现,其他语言无法做到的?

单片机(传统51单片机,STC单片机,AVR单片机,STM8/32单片机等)编程是C语言可以实现的,汇编语言也可以,但是汇编语言由于针对性太强及程序可读性和可移植性太差相对来说属于低级语言,其它高级语言对单片机这种底层的编程不太适用。

如果用stm8单片机+dac转换+运放设置一个可调节范围0-10v输出电压源?

做一个0-10V可调的电源,要看输出电流多大,DA转换+运放的方式做的电源输出电流做不大,所以DA方式做电源不太适用。很常见的开关电源等,都是通过脉宽调制或频率调制频繁的控制MOS管的开断来实现的。建议方案如下:

单片机输出占空比可调的PWM用于控制MOS管的开断。基本的实现原理下图所示:

单片机产生的PWM接在MOS管的G极上控制MOS管的闭合和断开。这里包含两个阶段

MOS管闭合阶段

在MOS管闭合时,电流流过电感L和负载RL,同时电感L在储能,此时二极管D是截至的,电容C起到滤波作用,使输出更加平滑,电流流向如下图所示。

MOS管断开阶段

在MOS管断开时,电感两端的电流不会发生突变要继续维持原来的方向,所产生的反向电动势使二极管D导通,构成回路,电流由电感L流向电容C和负载,电感储能有限,所以维持时间很短,为了让输出波形更加平滑,就需要PWM的频率高一些。如下图所示。

这个要求实现起来非常容量。

1、单片机选带AD的,***内码对应10v,这么做可以省掉一个运放。

2、分度值选0.1v精度,10个内码对应0.1v。不要四舍五入。

3、单片机直接带DA,后部增加电流接续放大电路。输出接分压电阻,取0一5v或0一2.5v给单片机AD输入脚做反馈。

4、单片机不带AD繁琐一些,单+DA+运放恒流源+接续放大(反馈给运放)。

图不画了,懂的自然懂,具体图纸设计方法很多自己去选成熟电路。有了思路还完不成,最好放弃,这是个多工种配合工作自我提高,练手是很好的。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/16408.html

单片机运放电流
麒麟科技创新园规划图 互联网技术观念