毕业设计结束了一年多,为什么今天还带着怨气又重新提起这个话题呢。 当然是因为头顶上的语气严肃的告知,是告知不是询问,一定要我辅导沙阿小哥完成毕业设计,这涉及到两国邦交、国际友谊...关键点在这里:他(沙阿小哥)最后要是做不出来的,得我来做...不服气能行?
经询问,沙阿小哥连最基础的技术文献都读不懂并没学过,专业并上公共课(都是挂掉的)16门没考完,表示各种忙,表示看不懂我给他的中文资料。把他所有的对白总结起来就一句话:我啥都不会,你看着办。
...呵呵呵呵...看来就算纯粹浪费有限的人生与存活的意义,也得把时间如同海绵宝宝脑子里面的水一样挤出来为他人做贡献。
做的毕业设计很简单,AVR atmega16单片机+光敏传感器+温度传感器DS18B20。感兴趣的朋友可以按照下列步骤很简单复现。(文章结尾奉上全套资料的网盘地址) 具体内容: 连接电路,设计制作PCB板,烧制.hex文件下载到单片机,焊接元件。 步骤: 购买元器件,淘宝京东实体电子市场都可以。 在面包板上搭建电路验证单片机最小系统能否工作正常(我们跳过Protues仿真,毕竟功能单一,系统简单,不需要额外浪费时间)。设计单片机的各个模块。 在CVAVR软件上编写atmega16单片机对应的代码,编译链接生成.hex文件,下载到单片机里面,测试传感器能否工作。 在altium designer软件上绘制单片机系统原理图,导入原理图绘制PCB电路板。 把绘制好的PCB板发给淘宝上专门打印PCB板的商家并付钱。 取快递,把各个元器件焊接到PCB板上。
正文: 第一章:元件 全是槽点,本科的时候在工作室,一堆元器件摆在我面前,我没有去珍惜,等到读研究生了要掏钱买,才后悔莫及。幸而我还保留了当时元器件的购买清单,附上如下表所示:
名称 | 数量 | 描述 | AVR单片机 | 1 | atmega16 | ISP-USB下载器 | 1 |
| ISP-USB下载口 | 1 | (这是个10针的插槽,焊接在电路板上供下载器连接PC和单片机) | 晶振 | >=1 | 8M | 瓷片电容 |
| 22pf(建议买一套,多的少的一点钱而已) | 电解电容 |
| nf-mf(同瓷片电容) | 按键 |
| 酌情 | 电阻 | >=16 | 4.7k+10k(同瓷片电容) | 共阳极数码管 | >=1 | 4个装 | 排针 | 4排 |
| LED灯 |
| 若干,主要是单独几个商家也不卖 | 温度传感器 | 1 |
| 光敏传感器 | 1 |
| 面包板 | >=2 |
| 导线+杜邦线 | 若干 | 直插、公母头、公公、母母 |
PS:电子元器件一般不做活动,邮费自理,(包邮的都是在元件上补差价了),如果自己购买,一定多挑几家店铺。 除了以上元器件 ,在焊接的时候还需要电烙铁,焊锡之类。
第二章:最小系统 就其属性而言,最小系统是保证单片机能用正常运行的基础。正如麦之于馍,馍之于泡馍,泡馍之于羊肉泡馍是也。 简单来说,最小系统就需要三个电路连接: VCC和GND ISP下载端口 时钟(可忽略由内部RC振荡器供应)
在这里需要注意的是,直插式ATMEGA16芯片上40个引脚中,有两个GND引脚,要连在一起。 图1 直插式ATMEGA16芯片引脚图
ISP下载电路可以连接PC端的调试软件和单片机芯片,进而把编译好的机器代码下载到芯片中运行,或者对单片机的端口进行数据传输调试。
要想实现这个功能,则需要做以下几件事情: 先连接ISP电路,和时钟电路。在测试阶段,没有设计PCB且ISP接口在面包板上不方便安装,需要直接把单片机上用到的ISP端口电路连接到图3所示的ISP口上,使用公母头杜邦线。 图2 ISP电路连接图 图3 USB-ISP实物 图4 时钟发生电路图
值得说明一下的是,图4中晶振和瓷片电容的公共端所连线的端口标注了引脚名,与图1中芯片所示的引脚相连接。
首先需要一个PROGISP软件,用来沟通PC机和芯片。软件界面如图5: 图5 PROGISP软件界面截图
将图3所示的USB口插在电脑上,需要安装下载线的驱动usbasp。但是对于win10系统会有一个问题。即驱动程序强制签名会组织该驱动的安装。所以需要以下步骤: win->左栏中的设置->更新和安全->恢复-> 高级启动 ->立即重新启动->疑难杂症->高级选项->启动设置->重启->7(禁用驱动程序强制签名) 通过以上步骤设置过后重新打开的win10系统,即可以安装没有签名的驱动(可能不同的win10系统界面不一样,但是都在恢复这个选项里)。 图6 部分步骤示意
首先在select Chip 选项,选择ATmega16。其后打开“...”,对熔丝位进行设置,只用把图7中的高位值设为D9就行。
图7 熔丝位设置
其后在文件栏目选择调入Flash,选择你经过CVAVR(或者AVRstudio)之类的EDA工具生成的 .hex文件。擦除->自动。若消息框中提示写入成功,则代码已成功加载到单片机内存。
第三章:给单片机加外设 这里我们使用了几个简单的外设,LED灯、按键、光敏传感器、温度传感器DS18B20、数码管,这些外设都很使用,其具体功能容易理解。将这些外设按照电路图连接到单片机上即可。具体原理在这里就不介绍了,感兴趣的同学请转身问度娘。
图8 电路原理图
加上外设后再次烧录代码进单片机进行测试,如果功能都能实现,则进行PCB板的制作。
第四章:制作PCB板 使用软件: Altium Designer 9 步骤: 创建工程、创建schametic文件和PCB文件。 添加元件、Vcc、GND,给元件添加封装,给元件引脚命名,连接元件之间的电路。(元件的封装有特定的封装库和封装模型,当然可也以使用系统自带的封装,对于我们所制作的PCB板,要求并不严格) 检查设计规则。 导入到PCB。 设置PCB线宽,移动PCB进行布局,其后布线。 交付完成的PCB板给淘宝商家,或者有条件的自己在覆铜板上打印出来进行后续处理。
图9 完成PCB布线布局 图10 制作好的PCB板
上图使用的是双层布线,为了节约时间,布线很随意。在PCB板上焊接元器件,即完成本设计。 图11 焊接好的开发板
小结 本文讲了小制作的过程。能实现的功能主要两个:
这篇文章中单片机的功能很简单,重要在于涉及到了硬件设计的一整套流程,并且在我制作的过程中遇到的问题也在上文反映出来。在本文中没有介绍程序如何编写,没有介绍CVAVR、Altium Designer 软件具体如何操作。
|