本帖最后由 yylin 于 2020-7-19 14:06 编辑
我来分享一下易码魔盒做的一个温控器~~~~~~~~
先来说说基本功能,温控器支持四种模式、可调速、室温显示、温度设置、带有无操作休眠和唤醒、掉电**、还有定时功能;
不过我这个主要是做了一些交互界面~~~怎么控制动作都引出了接口,代码分析补充在最下面~~~
下面是原理图:
MCU主控和液晶接口:
背光电路:
温度传感电路和控制接口:
用的是SC92F8547~~下面就说说创作过程~~~
1.工程创建,先下载安装EasyCodeCube(链接:https://bbs.21ic.com/forum.php?mod=viewthread&tid=2967024&page=1#pid11177850),安装好打开!!
新建工程~~
搜索选择芯片型号(我这是8547~),然后点开始项目~~~~
大家看一下这个界面~似曾相识呀!最左边有外设选项最下面还有一些通用外设驱动~~~数码管啥的,要用啥就勾选啥!然后配置功能,到时候就能生成对应的初始化代码了啦!
最右边的是sc92f8547这个芯片,勾选使用的管脚会被显示出来!!!!!
2.下面这个是我这个温控器的工程~~~~ 这里面用到了芯片的ADC和DDIC~温控器的一些硬件驱动
我也弄了进去~~~(为啥这么做呢?图形化编程便利呀~~~)
(大家注意一下OPTION选项~~不需要在代码里修改的话就不要勾选了,设置烧录器上的OPTION
就好!!)
~下面给大家看看ADC设置~
时钟源预分频~可以选为系统时钟的12分之一或者等于系统时钟;
采样时间也可以选~~~
下面还有ADX这些,用到哪个AD口就勾选哪个~勾选了就回初始化为ADC口了啦!
下面还有采样口选择~不过意义不大,可以随便选一个,要读哪个口的AD值还是在代码里写比较好~~
我这里没有必要用到中断就不勾选啦!
~下面是DDIC的设置
DDIC是一个用来驱动LCD和LED的外设,实际上和驱动点阵差不多!!
说白了规格书有的都能配,这个东西都比较简单用啥选啥,选了就会帮你初始化
(关于这个DDIC最后记得使能~功能选择框的最下面,这个DDIC的设置项太长,最下面的使能选项
没有截图出来·~~)
~下面是自己加载的驱动~在外设选择框的最下面~
分别介绍一下:
TC_LCD:也就是LCD显示屏的驱动;
TC_LCD_GUI:是一个显示控制驱动~可以理解成特殊版的ENWIM啦(就像是一个中间层~留有接口~提供拓展)
TC_TEMP:获取温度的驱动,我这边用的是RT电阻获取温度~~~~~~,这个驱动占用了ADC
TC_LCD_TK:这里用芯片自带的TK外设做的一个电容按键驱动, (TK硬件自带,可做接近感应、隔空触控什么的,方便的很);
(具体文件我下附件留给大家,外设驱动怎么下面再说~~~~)
基本都配完了,然后可以生成工程~点这个绿色的箭头,生成后会弹出图形化编程界面
3.图形化编程!!大家注意啦!
点工程窗口,里面有一写控件~
控制里有一些if、while、for什么逻辑控件,大家可以托到右边使用
剩下的就是一些函数~也是拖到右边使用~
(上下链接是上下排序、顺序执行,左右链接是嵌入其中)
右边的就是我这个温控器的控制逻辑~我都高度封装了,基本上就是给TC_LCD_GUI加载任务,初始化~
再while(1)一直执行交互控制程序~
(我这个TC_LCD_GUI驱动里加载和QT的信号槽类似,有指定事件触发任务,定时触发任务,周期任务,
加载进去后达到条件就去执行对应的任务,详细看代码哈)
4.烧录:配置也配置了,编程也编程了,该到看效果的时候了!
更新工程~编译~烧录~一体化不再需要另外找个烧录工具~~~~~省心
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
下面就来讲讲驱动创建
1.打开驱动生成工具~SmartDriver,下面这个~~~
2.驱动设计~打开后就回弹出这样的界面~这个我已经填好了
(1)填写好器件名、文件名
(2)添加组写上需要的管脚还有组名,设置界面显示的管脚名和代码里对用的宏
(3)有功能项的可以添加功能项,添加后使用该驱动时界面就会出现对应的下拉框,
生成代码时,下拉框的选项会填写到代码对应的宏中。
(4)在外设图形表现里可以点击黄色的图片添加一个形象的图片
(5)导入C文件、H文件。
(6)点击最上面的函数与变量接口设计界面,设计函数接口和变量接口。
(7)在这里函数接口设计和量接口设计添加函数和变脸,(注意不添加的话,
在生成的H文件里不会包含该函数和该变量的声明,外部无法使用)
3.生成驱动,点最上面的产生驱动模板就可以到处驱动了
4.安装驱动,打开易码魔盒,点下载按钮右边的那个~~~安装驱动~~~然后再外设选择栏下面就有显示了
///////////////////////////////////////////最后////////////////////////////////////////////////
工具还是挺实用的,能加快开发效率,图形化编程的想法也应该算是单片机行业的春笋,很期待该工具的未来,
以后说不定三岁小孩子都能创作呢~
由于这个东西还在发展阶段~问题还是有点的,界面又有点别扭,还有也很粗糙,而且驱动生成的窗口不怎么灵活,
c文件导入和h文件导入,都不怎么人性,如果可以直接识别里面的函数和变量,就更好了,函数接口多的话,还是挺要命的!!!!!!
期待~V2.0~~
下面的文件链接(里面包含了工程和驱动,由于论坛附件大小限制,所以我发在CSDN和百度云了~~~大家可以点击下载)
百_度_云:
链接:https://pan.baidu.com/s/1j-pQRG1OKFFI5OiB6Kz_qQ
提取码:pjvl
演示视频:
https://b23.tv/A91c8l
记得点个赞哦
|
可以把效果视频上传。
不错的实际案例。