【写在前面】正值期末,笔者工作繁忙,因此本系列教程的更新频率有所放缓,还望订阅本专栏的朋友理解,请勿催更。笔者在此也简要声明几点:
- 有些硬件模块笔者并没有,如LED点阵、压力传感模块、RFID模块等,因此这些模块的相关任务暂时无法给出经过验证的代码。
- 其实,教程进行到这个阶段,相信有悟性的朋友应该可以自己组织线程,并把厂家提供的裸机驱动加进来进行调试了,这也是本教程的目的所在。希望学习者在理解代码逻辑的基础上,自己去尝试编写所需的任务,最好能对教程里的代码进行改进。
- 鉴于最近后台咨询较多的问题就是蜂鸣器播放乐曲(电子琴)的问题,所以笔者打算把这部分内容提上来先讲,并将其规划到“子任务7.1”中。
- 任务7里接下来的几个子任务,笔者准备实现计算器、密码锁、模拟驾驶舱这几个逻辑较为复杂的效果。
- 任务6中尚未规划的子任务,将会留给直流电机、红外测温等。
上一篇解决了单个音符的弹奏,本篇在此基础上加入乐曲演奏的功能,其核心的控制仍然是对定时的把控。我们把乐曲中每个音符的音调(频率)和节拍都存入一个数组里,然后在定时器里依次播放每个音符,就可以听到乐曲的旋律了。图1仅能展示电子琴的界面效果,弹奏效果请观看文末的演示视频。