STM8S的触摸软件库怎么用串口输出测量时间

超声波发射频率与红外线发射频率非常接近我会利用这个调制的38KHZ信号去驱动超声波发射,然后接收回波达到测距功能剩余4条IO线用来驱动OLED显示屏,显示所测得的距离

13. 鎳氢电池充电器

TM8L050J3是 OP8 封装的MCU,具备12-bit ADC和三个定时器可以实现一个低成本的单节(5号/7号)镍氢电池充电器。

12-bitADC用两个输入通道一个采集电池电压,┅个采集电流取样电阻上的电压(换算得出充电电流)因为镍氢电池的充电除了需要过压保护之外,必须要依靠电压斜率检测来判断电池状态是否充满及时停止充电。电压监测要MCU参与计算并需要比较好的电压测量分辨率。12-bit ADC比10-bit的更合适

充电器电源用最容易获得的5V直流供给,例如UB电源通过PWM开关降压器变换为较低的电压给电池,开关降压用PMO管控制MCU的定时器产生PWM波形,驱动MO管将ADC采集的取样电阻电压与預设值比较,根据误差调节PWM占空比形成一个反馈环路,实现对电池的恒流充电

MCU 6个I/O口余下的可以用来做LED指示灯。

14. 环境监测仪器/定时开关

TM8L050J3雖然只有 8 个引脚(除去电源相关仅6个)但是还有支持 32kHz 晶振的RTC,带有日历而且支持数字校准。

因此在需要长时间准确定时的场合,它鈳以做一些简单的事情又长时间保持低功耗。

例如:环境监测仪器在一天当中的固定时间点采集一个环境传感器的测量值,保存在片仩 EEPROM 中(当然256字节只能存少量需要管理人员过一段时间取走数据;RAM也可以存一些数据。若需要长期保存也可以扩展片外的EEPROM, FRAM等)。MCU的GPIO可以控制传感器的电源在采集完成后就关闭。如果是模拟传感器则片上12-bit ADC用来转换模拟量。如果是数字传感器用PI或者GPIO模拟时序进行访问。

唎如:定时开关相当于不带显示功能的闹钟,只保留RTC运行到定时时间翻转GPIO,控制其它的设备

例如:异常记录器。当异常事件发生时用外部中断唤醒MCU,记录下当前时间比如可用水银开关检测倾倒,用干簧管+磁铁检测位置变化用带中断输出功能的加速度计检测跌落……

以上这几种应用都需要保留一两个GPIO,用于初始化、设置和数据读回等维护功能因除去RTC晶振之后只有4个GPIO,需要精打细算

15. 其它器件的仩电初始化

上电初始化,这个功能看似经常是多余的用一个MCU大材小用,有点浪费了不过,如果足够便宜的话……

许多芯片有内部寄存器或者是通过一些外部引脚来设定工作模式。如果不能够在PCB上接死需要改变配置的话,需要有一个用户可操作的切换方式

8脚的 MCU 有6个I/O鈳以用,而且有PI/I2C接口就很适合配置带内部寄存器的芯片。只要板子上没有其它MCU适合来做这个事情单用一个8脚TM8从成本上是合理的。

上电時TM8可以先复位目标芯片,然后通过PI/I2C进行目标芯片的寄存器设置; 若不是寄存器配置而是外部引脚设定,那么就用GPIO去控制完成以后TM8进入朂省电的模式即可。

修改配置只需要修改TM8的程序不用改PCB板。如果有多种配置(寄存器设置/引脚状态)可以保存多套,用TM8一个GPIO(按钮形式)進行用户可操作的切换重新执行目标芯片的初始化。

16. 简易峰值记录器

平常峰值记录通过使用模拟电路搭建这种方法不仅对使用者要求較高,物料成本也较高可以使用TM8001做一个简易的峰值记录器,用于信号频率不高的场合具体想法见下图所示:

不过更推荐使用TM8L050J3,因为其AD為12bit采样率可达1 Mp,而且带有DMA方便使用。具体如下:

简单画出ADC前的信号处理电路:

峰值如何检测现成的程序没有。简单的讲个思路:先通过PB5的状态决定是否开启ADC采集在PB5引脚被触发后先将峰值变量清零,然后开启ADC和DMA单片机在等到DMA送来的数据后,判断是否大于现有的峰值變量并决定是否改变峰值变量在PB5引脚恢复原先的状态后通过UART+DMA将峰值数据发送出去。程序还是比较好写的关键是内存使用的把握。还有為了省内存和程序运行时间在寻找峰值时直接用ADC输出的数据而不用转换,在发送数据时决定是否转换为电压值

这个方案的局限在于AD采集速率和处理速度上,结果肯定是有误差的被采集波形的频率也要受到限制。但是对于硬件搭建的峰值保持电路受限于开关管的泄漏電流,电容的损耗角、运放的建立时间等因素输出也不可能完全准确,而且随时间推移输出必然会下降最重要温飘会很麻烦。

峰峰值能达到多少如果超过了怎么分压呢?这个取决于你的输入范围和要求的精度比如用如下的分压电路:

可以达到输入-10~+10V,输出为0~3.3V(视选取嘚电阻比例决定)

如果V超过-10~+10V,则可以在u端加上下拉二极管限幅之后加一个跟随器和RC电路连接至单片机的AD即可。

为什么暂未考虑滤波洇为单片机内存太小,做简单的滤波算法很容易RAM不够用在这个方案上只能不滤波。后期加隔离看情况如果直接接在同一个板子上的放夶电路,加个跟随器和RC电路就可以了大信号的话分压和保护是要做的。如果外接信号(不同地)隔离肯定是要加的。

17. 自行车(更准确昰摩托车)胎压报警模块

对于自行车胎压报警可以说有很多很成熟的方案。这里在此使用TM8L001J3+MPL3115A2测量自行车胎压与轮胎温度当测量的结果大於程序预设的报警值,则通过PD0的TIM3_CH2输出的方波驱动蜂鸣器报警方案图如下:

18.替代按键扫描芯片

这个方案在TC的手册上就有了。可以将这个方案借鉴到TM8上在TC12C5A602的手册P343上按键检测图如下:

将该电路连接至TM8L050的AD口上,就可以在固定时间内扫描电压从而得知按键情况。通过UART或I2C可以实时嘚发送按键值

算法上事先计算好理论值,并规定一个误差范围将其作为一个表写入单片机的flah中,程序运行时直接AD采集并查表就可以知噵按键值了

19. 在电源上的应用

8-PIN能做什么?在开关电源设计上有时候就需要用两个MCU分别做原边和副边的相关参数采样,假如我的主控MCU放到副边肯定会用一个引脚比较多、性能强大的MCU,那么和原边由于有高压隔离的要求我没法用副边MCU去直接采集电压、电流等相关参数,如果原边再放一个同样的MCU那么会造成成本增加,现在有8脚的MCU就可以在原边放一个8-PIN的MCU把采集参数通过通讯发送到副边MCU,彻底解决这个难题,茬成本和性能上都能做到平衡

20. 室内环境监测仪

用来做室内环境监测仪。通过IIC环境传感器(温度湿度等)采集环境数据再通过IIC接口OLED显示數据,同时还可以通过串口外挂一个GPR/WIFI模块实现数据的远程传输。剩下的一个引脚可以用来做运动检测或则按钮用来控制点亮屏幕,平時关闭屏幕可以有效的节能。

之前论坛有个活动ohy老师送了块tm8小开发板,接触了一下然后最近很闲,临时决定做个小东西把之前想莋那个无线门铃做出来,顺便学习一下TM8的使用入门几天出现很多问题,我是用寄存器编写的可能用库的话就没这么曲折了,下面简单寫一下遇到的问题分享一下后来改做的小东西。

你问为啥改做床头小万年历

DIY过程中发现433 发码 解码 还挺不简单 一头麻,TM8003最小系统也不小惢搞坏了一个索性就先做个小东西吧,目的只是了解tm8的基本操作

后来发现论坛【公开课】有TM8 433M 开发无线台灯 真的啥视频都有啊!!很全媔 待我学会433 再来装逼。

红外遥控设置修改日期

自己做的内容就只有蜂鸣器 和 修改外来驱动。调试

3. 功能模块化 然后编写处理逻辑 完事!

第┅次使用最头疼的是io功能 刚开始不知道就找问题花了半天时间,后来顿悟

比如 移植DHT11它的时序要求 先写后读,IO就要配置输出的 按时序要求拉高拉低然后再改输入读取,因为这个驱动我在51上用过的很完美的驱动。所有问题都排除了之后我就很头疼翻了手册发现我只配置了输出IO操作也只操作了输出数据寄存器,这才明白没有通用模式只能输入或者输出。太傻了哈哈!低级错误

然后还有中断问题(用庫开发因为中断向量表都很完善,一般不会出现中断卡死情况寄存器写的话就要多注意IO外部中断)。

因为每个IO都有中断功能寄存器操莋配置IO容易写错就进入中断,最后程序会卡死我把定时器 串口通通关闭最后才查到IO外部中断,因为没有使用直接仿真也能看到卡死在什么位置。

这种情况就是中断问题没有找到中断入口,可能就是开启了中断没有正确给出入口函数,系统找不到就卡死了

还有个特渏怪的问题,我移植之前用得好好的D1302 读数据驱动 数据老是错的 秒也跳了 就是数据相差太大看了波形发现数据对的,单片机读取出错查讀取驱动 我搞不懂这咋回事,咋还就慢一拍

22. 灯带控制器、充电宝电量显示

1.生活中好多地方会用到灯带,电脑机箱(好多人喜欢的光污染)、家庭装饰、饭馆理发店等门脸装饰W2812B灯带用PI控制,TM8支持PI价格便宜,开发方便

2.TM8支持ADC、IIC、PI,可通过OLED屏或单纯的几颗LED显示充电宝电量。

TM8作为一款8位的单片机在之前没有多少了解,总觉得现在的32位产品线如此丰富;TM32什么芯片斗有但是接触到整体方案设计后,就发现電路空间、产品成本、性能过剩这些问题都要考虑。不是一颗144脚芯片打天下了产品必须有差异化,对成本、功耗控制都必须要有规划

の前没用过TM8,如果可以打算用来做一款温度传感器在体积、功耗、成本上都进一步控制下,还能带显示8个脚就够了,将引脚几户都用掉这很有一番不一样的成就感,强迫症的满足啊通过利用D18B20数字温度传感器、I2C接口的OLED屏做个家庭温度计用。

工作上做过并正在销售一款笁业无线温度传感器产品不过用的是TM32方案,就一个采集温度、无线发送的小东西用了64引脚的芯片,真是罪过如果可行,打算用TM8试试

总结:8条腿的MCU也可以很优秀,做东西一样有戏

24. 小型灯带控制器

有很多的小型控制器/功能模块就不需要有很多引脚,有个5、6个引脚其实僦已经足够了比如说什么呢?简单的灯条控制器对灯条进行调色调亮度,还能进行遥控控制进行模块切换或者说使用按键或旋钮电阻进行模式/亮度调节,这些都不需要很多引脚就能轻松完成

来看下8-PIN引脚都有些什么功能引脚,都能完成那些对应的功能:

无需外部晶振矗接玩起来

串口通信、红外遥控接收解码毫无压力轻松完成遥控接收功能

轻松完成按键或旋钮电阻的检测

完成亮度PWM控制也毫无压力

轻松連接外部传感器接口

8-PIN 小身材但功能多,其实不止是小型灯条控制器的应用还有如指尖陀螺等,也有用8-PIN单片机做的在很多模块化的应用,如某一些只需要串口通信和完成简单的引脚开关控制的部件/模块中已经完成足够,PIN脚再多也是浪费

借网友的截图,节省论坛资源

当嘫也能用来驱动pi器件,全部变成uart接口的模块

然后,就是UART接口统一江湖的时候了

26. 多功能电池充电器

首先用ADC可以检测电池电压和充电电鋶,这时需要有两路ADC输入同时把电池电压、充电电流存储于内部EEPROM。其次TM8的PWM可以驱动一个PMO,调整充电电压

UART可以和PC通讯,把存储在内部EEPROM嘚电池电压、充电电流送给PC,显示充电曲线GPIO可以接显示状态的LED,另外设置一个GPIO读取电池种类设置(锂电池或镍氢电池)由此确定充电方式和充电电压。

27. 物联网设备辅助处理器&物联网数据采集节点

看了一下三款TM8感觉还是挺不错的,拿来做物联网设备的辅助处理器因为很哆物联网设备现在都有低功耗的要求,CPU耗电太严重在低功耗状态下最好就是关掉CPU,留着一颗MCU供电当检测到外部触发信号,或者有定时喚醒的需求的时候可以靠这颗MCU拉起CPU的电源。

这种情况下用这个TM8L050J3就挺不错的这款MCU明显优势在于

1、 集成了EEPROM,省了一块24C02的空间和成本用来保存设备唯一识别号什么的,甚至还可以在单片机程序里面加一段加密的算法这样人家很难破解的

2、 集成了RTC,T的RTC精度还是可以接受了這样就省了一个D1302的空间和成本,用来做定时唤醒

3、 带了UART通信接口可以跟CPU进行通信,满足软件关机的需求CPU发一条指令就可以控制这个MCU拉掉CPU的电源

4、 便宜,才2.1 RMB估计大批量会更低

现在的方案是用TM32F030F4P6这个片子,这个片子还是有点贵而且不是所有GPIO都有用,像这种应用除去串口,其实只需要一个GPIO去控制电源就行这款TM8L050J3正好。

另外物联网现在是越来越火了,很多相关的产品也已经落地许多场景下,都要用到数據采集功能通常都是连接几个传感器,然后通过无线蜂窝网络将数据发送出去这个时候一颗引脚少的MCU是十分实用的,因为它不需要高性能的运算功耗也低,往往是电池供电就是简单的传感器数据采集和传输。

这个8-PIN的mcu开发板做一个物联网边缘数据采集终端的应用使鼡太阳能电池供电,通过连接温湿度、CO2、环境光等传感器和GPR将环境数据无线传输到物联网云服务平台,实现远程监控功能需要用到几個IO和串口,8-PIN的MCU恰到好处

8-PINTM8的特点是pin数很少而片内存储、外设资源丰富,可软件编程、数据存储因此最适合的应用场景是使用IO较少(1路或2蕗)、功能单一的数字控制或模拟/数字IO应用。可使用多

片小尺寸的8-PINTM8与主处理器构成大规模采集控制系统,所有TM8与主处理器之间通过串行通信进行信息交互实现功能分散的数字控制或IO应用。

数字控制譬如简单的开关控制使用片内定时器的时序控制、PWM控制等;智能IO包括使鼡片内ADC的模拟量输入(AI)、使用片内定时器的PWM输出(经外电路滤波可实现模拟量输出AO)以及数字量输入DI、数字量输出DO等。

使用TM8做智能IO的优勢显而易见:由于可软件编程因此可以实现普通IO电路难以实现的自检、自诊断功能,提高了系统可靠性可以实现很多高级功能,为主處理器减轻任务开销这在大规模系统中尤为有用。比如借助TM8片内ADC功能做智能AI不仅可以实现模拟量采集还可通过软件编程实现普通ADC电路難以实现的灵活多样的数字滤波等数据预处理功能;使用TM8做智能DI时可以利用片内定时器实现消抖抗干扰并捕获外部事件发生的时间信息,莋智能DO时可以通过软件编程实现复杂的时序逻辑控制等这些都是普通功能电路不可比拟的。当然使用TM8取代普通功能电路增大了系统复雜度,提高了开发难度和成本设计时是否采用需要统筹考虑。

简单的应用就是串口与上位机通信控制轨道交通中DCJ, FCJ, J继电器采集DBJ, FBJ继电器,8腳够用了多了也用不到,放着多余在轨道交通行业会经常用到这样的,之前都是用的PLC或者40脚的单片机费力不讨好。

最近在公司熟悉TM8嘚产品很有意思,其开发方式与TM32有这出奇的相似所以开发起来也很方便。之前使用TM8105做了一个发卡器(读写IC/ID卡)模式比较多这次觉得8個管脚的TM8。

也可以做个发卡器虽然不能通过拨码开关设置读什么卡,读卡的模式但是可以做成一个简单的读卡器的功能。用起来也十汾的小巧而且成本也降低了很多。

小区的门禁是ID卡之前看到有网友用AVR和LGT单片机做ID卡读卡器和模拟器,正好这次T的tm8活动看看能不能用TM8吔做一个。

从TM8的资源上看可以有一个UART和PC通讯,一个IIC接外部OLED屏传输或显示ID卡号;定时器加中断输出125kHz的载波,解码使用外部中断加定时器加LM358、二极管、阻容解决

卡模拟器采用类似方案,可以把外部OLED屏和解码部分去掉通过PC写入ID卡号(存储在TM8内部的EEPROM里),在加定时器加中断輸出125kHz的载波调制输出

外部IO需求不多,用8-PIN的TM8足够了

Micro:bit是专门面对少年儿童学习的开发板,开发板本身搭载的传感器不多可以使用TM8开发各種扩展板,扩展Micro:bit的功能完成不同应用如光照、温度、土壤水分、破碎、湿度等传感器,扩展舵机、直流电机、LED点阵显示等驱动板8脚的TM8MCU佷适合做此类简单应用,能有效降低成本加快开发进度。

8-PIN的TM8很适合做单一功能的小物件各种常用接口功能都有。我想到的就是用2个ADC采集音乐左右声道的声音然后加上RGB灯驱动做个随音乐变化的灯光显示。RGB灯可以用W2811驱动的数字灯也可以用74HC595、DM134或者TLC5940串行4线驱动的,6个IO端口足夠了也可以玩很多花样了。

类似这个很早以前做过以前单片机选型到是没考虑那么多,现在感觉以前做的选型单片机资源太浪费了現在如果重新做,可以做的更小巧成本更低。

33. 电子积木终端控制

电子积木就是将导线、灯泡 、二极管、三极管、电阻、电容、各种开关、电表、电机、喇叭、集成块等电子元器件固定在塑料片(块)上用独特的子母扣做成独立可拼装的配件,在产品配置的安装底板上像拼积朩一样拼装电路组合先看看都有什么外设:

有串口,有IIC还有PI,这样丰富的接口其实做什么功能都是可以的,由于封装很小 功能强夶,所以在电子积木中,可以做为从机的控制通过串口通讯与其他的模块进行数据交换来形成不同的功能。

每一块积木中有一片TM8的芯爿并设置成一种特定的功能,当与其他的积木插在一起时会形成新的功能,就像是装备的合成一样

34. 多彩智能家居采集点

8-PIN的TM8能干啥,使用在功能简单单一的场合还是不错的两三个IO配合上一个I2C或者TIMER,也能完成不少功能了至少做一个警号,一个闪灯玩具之类的一点问題没有。如果使用低功耗的TM8,用于智能家居里做为单个的信号采集点那也是相当不错的。

比如TM8L050用电池供电,再配上个无线模块可以做荿各种信号采集点,水浸门窗感应,各类气感火警,抽屉移动感应等等再配个中控类的网关,内置上个WIFI模块一个简易版的智能家居就出来了。

TM8虽然只有8-PIN封装但从另一个角度说明它的集成度高,开发出来的产品IC占用的空间也比较少在智能家居领域有许多小产品都偠求稳定,功耗低易散热。

1、我们可以用TM8做室内温湿度监控数字表采用OLED的小屏显示,温湿度传感器通过GPIO接口将采集的模拟量给到我们嘚TM8主控再由它的AD转换,将数据通过I2C接口输出给OLED显示屏

2、我们也可以做一个数字时钟机,采用外部32.768KHz的晶振电路搭建成一个精准稳定工莋的数字时钟机。

3、可以用TM8做一款红外远程遥控器既能调节控制家里面的热水器设定的温度值,又能控制开关电源的开启与断开

4、可鉯用TM8做一个智能光感控制家用台灯,将光敏传感器采集的数据经过TM8处理而后PWM输出控制台灯光照强度等

综上所述,TM8是有很大的使用价值的IC封装小,开发起来简洁明了完全符合功能产品的设计要求,成本较TM32或其它型号的IC有明显的优势采用TM8开发上述例举的智能家居产品恰箌好处。小IC有小IC的用法使用得当,那也是多姿多彩的

1、你选择TM8的理由(吸引你的地方)这几年用TM8做了好多个项目了,主要用了TM8L052,TM8003用TM8L052做叻好几款温控器,这个MCU主要用它的段码LCD驱动宫功能不用另外加驱动芯片,用起来比较方便用TM8003做过数码显示温控器,管道温控器各种閥门控制。总之做了有10多个小东西了感觉芯片还是很不错的,用起来也比较方便也有现成的库。

全新的TM8001TM8L001,TM8L050 采用小型工业标准的 O8 封装这几款的封装比较小,8个管脚的MCU还是比较少的有一定的市场。做些小东西比较方便

这三款最吸引人的还是封装管教比较少。L系列对應低功耗可以做电池供电的场合,基本的复合功能都有可以实现很多小项目。

3、TM8创意测试(方向不限)

可以用来做些传感器的检测显礻8个管教足够了。也可以做简单的温控器一路温度采集,一个按键一个输出,再可以加点显示

a.传感器检测,手上有各种传感器有模拟量输入的有IIC总线的,有PI总线的可以用TM8来检测处理各种传感器,然后通过串口发送到PC机处理或者UART转无线发送到控制板处理等,也鈳以直接显示处理我手上各种外设都比较齐全,玩起来比较方便

b.做个温控器,一路温度采集一个按键,一个输出再可以加点显示。这样就搞成一个温控器了虽然简单,但可以实际使用放在家里控制个加热器什么的妥妥的。

8脚的TM8单片机体积小功能全,价格便宜可以做成温度计主控,既能测量温度又能驱动oled或者断码屏显示温度。

读取传感器数据并通过LCD显示;可以实时显示外界温湿度值

(1)TM8L001配备多达6个用户I/O引脚,内置ADC;可外接数字或者模拟温湿度传感器可采用IIC接口LCD屏;

(2)TM8工作电压1.8V至3.6V,可采用电池供电;

(3)单片机停止模式工作电流可降至300nA最大限度地延长电池供电设备的使用寿命。

37.电池供电的无线设备

TM8L001这芯片好低功耗+低引脚+FLAH+RAM+EEPROM,当然适合电池供电的场合嘚设备

1, 设计成无线门铃也是不错的

TM8L001+433模块+喇叭驱动+喇叭之类的。就构成了无线门铃

2, 家用无线报警设备(智能家居网络里)

无线报警设备包括窗门报警(这个可以电池供电也可以不是电池供电)

无线通讯,电池供典型的煤气泄漏报警(电池供电)。

无线通讯的环境空气质量检测设备

无线通讯的输入检测设备,可以用TM8L050(带ADC 可检测模拟电平高低)

无线通讯的输出设备(继电器输出驱动外部设备)

鈳调LED台灯,无线可调LED壁灯吊顶等等。

从上面的一个个鲜活又颇赋创意的例子下原来TM8无处不在,当然也正印证了8-PIN的TM8究竟有多重要。

我要回帖

更多关于 S$ 的文章

 

随机推荐