本期是被催更篇,好吧这个系列也是差不多被我遗忘了,结果今天是被粉丝催更了。
好吧,应粉丝要求出一期关于使用STC8H系列作为主控设计一套项目,具体内容想了半天,最后还是决定做一个 电风扇模拟控制系统设计。 项目要求如下:
设计一款电风扇模拟控制系统,实现3个独立按键分别控制“自然风”、“睡眠风”、“常风”,(三者的区别是直流电机的停歇时间不同),并在数显管上显示出区别;每种类型风可以根据按下独立按键次数分为4个档的风力调节;设计风扇的过热保护,用继电器实现,即当风扇运行一段时间后,暂停10秒。
但是实际设计的发现一个问题,就是STC8H的引脚数量似乎不够。我需要使用的型号总共有20个引脚。
去掉电源引脚,ADC参考引脚,系统电容引脚,下载引脚,那么就剩下14个可用IO,三个按键需要占用三个IO,风扇控制至少需要一个IO,过热检测和断电控制至少需要两个IO,那么就剩下八个IO可供使用。所以如果我们要使用数码管来显示的话,那么好像IO并不是很够。
但是查看其手册,发现这块芯片相比于传统的51单片机,自带了I2C。
那么 屏幕就决定还是采用老方案OLED显示屏。 所以最后决定的IO分配如下
引脚 | 功能
—|—
P1.4/P1.5
| I2C的SCL和SDA
P3.1/P3.0
| 下载及调试
P3.2/P3.3/P3.6 | 外部中断做按键
P3.5
| ADC测温检测
P1.0/P1.1 | 调试用IO/接LED
该单片机内置24MHZ晶振,所以可以不使用外部晶振。
按键部分不设置上拉电阻以及消抖电容了,我们通过软件进行消抖。
温度部分我们采用NTC测温,这也是工业上非常常用的测温方式。
驱动部分采用常见的驱动芯片ULN2003,虽然引脚有些浪费,但是功能强大,价格便宜。继电器选用信号继电器,因为我们的电机属于小电机(我手上有的)
最后画上串口下载的扩展部分以及USB供电,这里USB不选择使用16pin的TypeC了,因为比较难焊接。降压部分还是选择了AMS1117,上一期介绍了AMS1117的压降可能比较大,但是这里我们使用5V供电是完全满足压降的。
接着完成我们的PCB,选择平台下单即可。