如何用单片机设计产品?单片机开发流程
现在的电子设备几乎离不开单片机,在大学里有学了这么久的单片机。那如何利用单片机来设计一款产品呢?今天来和大家探讨一下。
1 制定需求
首先要清楚你要做一个什么样的产品,这个产品包含哪些功能,要采集哪些信号?要控制哪些设备?要走哪些通讯协议?通讯协议走什么接口?是不是要显示界面?是不是要声光提示?是不是要低功耗?清楚了这些需求以后就可以选型了。
比如说我要做一个单片机密码锁,要求:
1. 有4位数码管显示;
2. 控制一个继电器;
3. 控制一个蜂鸣器;
4. 控制五个LED灯;
5. 两个按键输入;
2 芯片选型
根据你的需求来确定所选芯片型号。如第一部分的功能需求,这5个需求都只需要用到单片机的IO口,没有用到片上资源,所以只要IO口够用就可以了。
1. 4位数码管:为了方便大家学习,这里选用74HC595来驱动,该芯片与单片机相连只需要3个IO口;
2. 控制一个继电器;这个地方主要考虑线圈电压,单片机是5V供电,所以选用5V的继电器,占用1个IO口;
3. 控制蜂鸣器:选用有源蜂鸣器,即只要給电蜂鸣器就发声,占用1个IO口;
4. 控制5个LED灯:采用灌电流的方式,占用5个IO口;
5. 两个按键输入:采用上拉电阻,按下低电平实现,占用2个IO口;
总共用了3+1+1+5+2=12个IO口;为了方便初学者,那我们就选用STC的51单片机来完成这个设计吧,所选型号为STC89C51,封装形式为DIP40,相信大家在大学里学单片机的时候老师都是用这一款教的吧。
3 硬件原理设计
芯片选型完毕之后,又有了设计思路,那就赶快把电路图画出来吧。画电路图用什么软件呢?这样的EDA工具很多,像Protel99se、DXP、Altium Designer 等,这些都是软件都是一家出的,还有Cadence、PowerPcb等。本人用的是AD09。原理图设计的内容是什么呢?设计的内容包括单片机的最小系统、还有扩展出来的功能。
如果大家感兴趣,我明后天把画原理图的过程推送给大家。
4 硬件PCB设计
当原理图画完,并且检查没有错误后,就开始画PCB吧,什么是PCB?PCB就是电路板,什么是电路板,就像下图这样的:
这是焊接之前的电路板,PCB文件设计好后,发给厂家去打样制版,做回来的就是这样的电路板。上图中的电路板用的都是直插元件。什么是直插元件,什么是贴片元件?这就设计到元器件的封装问题了。
如果大家感兴趣,我明后天把画pcb板的过程推送给大家。
5 样板焊接
什么是样板焊接?就是把电子元器件焊接在pcb板上。如果封装简单、样板数量少那完全可以自己动手焊接了,顺便也锻炼一下自己的焊接水平,对于一个搞电的人而言,一般都是从焊电路板过来的。如果搞电但不会焊接,别人会笑话你的。
6 调试程序
程序该怎么写?用什么工具写?不同的单片机有不同的编程环境,比如PIC单片机使用MPLAB编程环境,MSP430单片机使用IAR Embedded Workbench编程环境,DSP使用CCS编程环境。这里重点介绍的编程环境是Keil,Keil是目前所有编程环境中最好用的,也是支持芯片最多的,可以说Keil是目前最主流的编程环境,本人使用的是Keil的编程环境,Keil的C51版本和MDK版本都在用。
7 程序烧录
程序烧录的意思就是把写好的程序下载到单片机里,这样单片机才会按照用户编写的程序来执行命名、实现功能。程序要怎么样才能烧写到单片机中去呢?每种单片机都有各自的程序烧录接口。
以上7个步骤完成之后,这个产品的电气部分就算完成了,但这却不是终点。为什么?因为一款产品贯穿着很多设计环节,比如说结构设计环节、电气设计环节、样机测试环节等。所以在电气开发的过程之中要和做结构的人多配合、多探讨,还要和产品经理多探讨,反复修改需求,这样才能做出一款漂亮、实用、受欢迎的产品。