--- date: 2016-06-30 --- 转眼间即将研究生毕业,我仍清晰地记得大一提着笨重的皮箱,迈入学校校门的场景。 本科专业是 ` 测控技术与仪器 ` ,研究生专业是 ` 微电子学与固体电子学 ` 。回顾整个学生生涯,觉得有必要整理一下我的「电子学习之路」,算是对学生时代的总结吧! # 51 单片机 大一时电子社团的学长给我们讲述单片机,当时觉得能用两行语句控制 LED 灯真的很神奇~ 后来在淘宝上买了郭天祥的单片机开发板(现在也很火吧……),把 LED 灯、按键、中断、串口、红外、液晶 1602、液晶 12864、AD 转换、电机等都研究了一遍。 # 1602 计算器 大二寒假在家时,想完全自己制作一个简易的计算器。我在网上找到了一个基于 Proteus 的 51 单片机仿真程序,能够实现简单的加减乘除。后来我准备了洞洞板(当时不会画 PCB),一些按键和 51 单片机,回到学校实验室就开始动手做。 摆布元器件,焊接一气呵成,应该不到 1 天的时间吧。只是调试时出现了一点点小问题,焊锡不牢固。当发现能使用的时候,确实很激动,毕竟这是我的第一个作品! ![](http://yano.oss-cn-beijing.aliyuncs.com/blog/2024-01-11-14-22-00.png?x-oss-process=image/resize,w_600) ![](http://yano.oss-cn-beijing.aliyuncs.com/blog/2024-01-11-14-22-21.png?x-oss-process=image/resize,w_600) # 电子竞赛 1. 全国大学生飞思卡尔智能车竞赛,我和两个同学是光电组。主要通过激光传感器采集路面信息,根据传感器的状态控制智能车的舵机。比赛的赛道是未知的,采用了 PID 算法。 2. 全国大学生电子设计大赛。 3. 盛群杯电子设计竞赛。采用台湾盛群的单片机,编程的过程中觉得芯片设计很烂,下载程序竟然还只支持并口,其灵活性和扩展性远远不如多年前的 51 单片机。我们使用虚拟仪器 Labview 制作仪器,并能够通过网络控制智能车。 由于换过电脑,这些照片全都找不见了…… 只有全国大学生飞思卡尔智能车竞赛的一块电路板(当时还没有使用 PCB,全部手工布局和焊接~) ![](http://yano.oss-cn-beijing.aliyuncs.com/blog/2024-01-11-14-22-59.png?x-oss-process=image/resize,w_600) # 心形灯 大四寒假在家,决定做一个小巧的电子产品。本来想做一个遥控器,能够控制电视机。但是当时发现 Android 手机这么普遍,为什么不使用 Android 手机作为控制终端呢?于是经过思考,我决定写出一个 Android APP,通过 ` 蓝牙 ` 控制外围电路。 1. 当时不会用 Eclipse Java 开发 Android 程序,但是接触到了 Google 的 APP 网页开发工具:App Inventor。写程序就是在网页上搭建积木,最终会得到成品 APK。这方面的资料不多,但是我在网上找到一个蓝牙的例程。我向作者发邮件索要 App Inventor 的源程序,并根据此做好 APP。 2. 外围电路应该易于展示,所以我当时设计了一个 ` 心形灯 `,使用 Altium Designer 设计原理图,绘制 PCB;Keil 4 编写 51 单片机的 C 程序。 3. 蓝牙作为 Android 手机与外围电路连接的协议,当时还不知道怎么做。 寒假在家准备好所有模块,写好 Android APP,绘制好 PCB,买了蓝牙适配器,使用 Proteus 仿真心形灯程序,给厂家打样 PCB 板, ` 成功通过 Android 手机控制电脑上的 Proteus 仿真 ` ,证明了系统方案的正确性。 寒假后回到学校,我在实验室完成了电路的焊接。用了 3 个小时焊好,直接调试成功。当时特别开心,因为这是我按照自己的思考,从无到有的过程!而且我很庆幸我把整个目标分解成了几个步骤: 1. 编写 51 单片机程序,并使用 Proteus 仿真。 2. 通过串口调试助手,发送字符命令,控制 Proteus 仿真的心形灯的亮灭。 3. 通过 Android 手机的蓝牙调试助手,控制 Proteus 仿真的心形灯的亮灭。 4. 编写 Android APP,并验证正确性。 5. 使用 Altium Designer 设计原理图,绘制 PCB。 6. 验证硬件蓝牙模块。 7. 焊接,系统调试。 视频:http://v.youku.com/v_show/id_XNTgxOTI2MTgw.html?from=y1.7-2 # AVR ARM 在淘宝花 400 多块钱,买了一块 ARM 开发板。我连型号都忘记了,只记得当时 看视频写 `bootloader` ,感觉底层的东西很复杂。对着原理图,查看 datasheet,编写汇编代码、上层代码。 # FPGA CPLD 读研在深圳实习,设计了一个小的系统。采用 CPLD、SDRAM、OV7725、LCoS,使用 orCad Capture 绘制原理图,PADS 绘制 PCB 板,程序当然是 Verilog。 虽然系统不算复杂,但是也画了 3 个礼拜。其中有一天伸个懒腰,椅子向后翻差点跌倒,脚踢到电脑主机直接关机。我辛苦了 30 分钟的成果没有及时保存,又要重画。 ![](http://yano.oss-cn-beijing.aliyuncs.com/blog/2024-01-11-14-23-27.png?x-oss-process=image/resize,w_600) # 后记 读研期间认真研究了 `《低功耗蓝牙开发权威指南》` ,本书的作者 Robin Heydon 是 CSR 公司负责蓝牙技术标准化的标准架构师,蓝牙技术规范的每一个版本都有他的贡献。 看完之后对整个蓝牙协议豁然开朗,同时也明白读书应该 ` 只读经典、权威 ` 。这本书绝对不同于使用百度网页及知网上搜出来的硕博论文,蓝牙的每一个细节——甚至为什么要那样设计,都讲得十分透彻。 学生时代即将结束,北漂生活即将到来。虽然我并没有进入电子行业,但是这些知识背景仍然是极其宝贵的。感谢代老师、安老师和王老师的教导,还有各位小伙伴们 0_o