制作这块51单片机的还是蛮艰辛的,应该是我水平太差,现在这块51板已经稳定了,也把这块板子制作过程中的一些问题及经验总结记录下来。这块板子制作出了很大问题很大原因是因为我对Altium Designer16这个软件的操作不熟悉以及芯片认识不到位,毕竟画这块板子的很大一部分原因就是为了熟悉这个软件。  

首先是从原理图的绘制开始,因为我的51入门单片机是普中科技的那种100+的单片机,比较亲切,所以我选择用这块单片机为原型画我的单片机。以下是步骤: 

第一步

原理图的元器件的绘制,在绘制元器件的时候,我是几乎都是依照普中元器件的绘制模式绘制的,这是没有什么问题的,问题就出在原理图对应的

PCB中元器件引脚上。比如这个芯片,刚开始我对引脚的一一对应的理解是PCB对应的引脚排列顺序和原理图是一样的(实际是PCB中的引脚对应芯片资料的引脚),所以我就去更改封装引脚然后结果就是这样子了。真正对的引脚应该是逆时针开始12345678910,这个错误是非常严重的,后果很明显,板子直接崩溃。  

第二步

原理图的绘制,毕竟是别人的原理图,对于我这种菜鸟来说还是存在一定的问题的,一定要注意网络编号的连接,漏掉一个都会出现问题,解决办法是自己在PCB板上拉一根飞线。还有最小系统模块一定要对,相对于其他模块来说,他们都是外设,这个才是核心。这里说一下因为原理图绘制出现的问题,这一步出现的最严重的问题就是下载模块无法下载,无法下载那其他模块正常与否就不重要了。解决下载的方法是自己用了一个CH340的下载模块来测试其他模块的好坏的。对于下载模块需要注意这几点,TX接RX,RX接TX,这个是常识;冷启动才是关键,51单片机必须冷启动才能下载,冷启动简单的说就是先给单片机供电,点击下载后断电,在重新供电,就能下载了。  

第三步

PCB布线,原理图转PCB这里需要注意的是最好一次确定好元器件因为每次转都要重新制定下布线规则,或许可以更改设置不需要重复设置吧。这个阶段还要提一下的是51单片机的那个锁紧座是有一个开关的,就是用来锁住和打开那个芯片的,注意不要被其他元器件或者排针挡住,至于我为什么要提一下,这个就应该不用说了。  

第四步

PCB板绘制成功的后期处理,也是对自己电路板的一个美化。这里就不得不提一下铺铜操作了。AD16我用了两种铺铜方式。

最开始我是用第二种铺铜方式,因为我的板子是16cmx11cm的,用这种铺铜方式的话大约需要一分钟(我好几次以为是卡了,直接关闭重开),而且铺铜完毕之后如果需要改进一些布线的话,移动一下都要几秒。所以,如果板子比较大的话,建议用第一种方式。还有,如果板子条件允许的话,也可以加一个二维码上去,好玩吧,至于内容可以是原理图或者其他。  

第五步

这块板子是废了,所以我重新推到开始,这里还是有一个建议的,这里明显可以看出锁紧座的那个孔比一般的孔大,因为我第一块板的时候发现那个锁紧座引脚不是很准,插进去很费力,所以我把孔变大了,插进去就容易了,后果是布线不允许从引脚中间通过了,孔小一点就能通过了,但是好不好插就不知道了,毕竟没试过。

第六步

还有一个建议就是在焊接测试模块的好坏的时候最好一个一个模块焊接,测试。 

第一次写博客,自己都觉得条理不清,就留个纪念吧。

Altium Designer16绘制51单片机的一些经验总结的更多相关文章

  1. 用Altium Designer16 绘制STM32开发板PCB 笔记

    第一部分 Altium designer 软件概括 一.安装:要安装英文版,只安装pcb design和importers/exporters 二.设置:dxp-preferences我们关心的是sy ...

  2. 51单片机 Keil C 延时程序的简单研究

    应用单片机的时候,经常会遇到需要短时间延时的情况.需要的延时时间很短,一般都是几十到几百微妙(us).有时候还需要很高的精度,比如用单片机驱动DS18B20的时候,误差容许的范围在十几us以内,不然很 ...

  3. c语言编写51单片机中断程序,执行过程是怎样的?

    Q:c语言编写51单片机中断程序,执行过程是怎样的? 例如程序:#include<reg52.h>  void main(void)  {   EA=1;      //开放总中断   E ...

  4. 51单片机的TXD、 RXD 既接了 232 又接了 485芯片 ,会导致通信失败!

    51单片机的TXD. RXD 既接了 232 又接了 485 ,会导致通信失败! 下面是绘制电路板用的部分电路图: 通信现象: 1.我使用了USB-232的下载模块,把它接到P4上,发现单片机只能发送 ...

  5. 【零基础】入门51单片机图文教程(Proteus+Keil)

    参考资料: https://www.jianshu.com/p/88dfc09e7403 https://blog.csdn.net/feit2417/article/details/80890218 ...

  6. Windows 通用应用尝试开发 “51单片机汇编”总结

    一.前言 终于完成windows通用应用“51单片机汇编”,半年前开始玩WindowsPhone开发的第一个真正意义上的App(还很多缺点=_=).开发从1月中旬考完试到今天,期间实习了半个月,玩了几 ...

  7. 51单片机中断interrupt……using……

    51单片机中断细节的一些问题. interrupt0:外部中断0interrupt1:定时器中断0interrupt2:外部中断interrupt3:定时器中断1interrupt4:串口 using ...

  8. Windows 通用应用尝试开发 “51单片机汇编”第二次更新总结

    一.前言 昨天更新了10天前上架到windows8.1平台和windowsphone平台的通用应用“51单片机汇编”,总要是添加了动态磁贴以及ListView的Groupstyle应用.下面主要主要复 ...

  9. [新概念51单片机C语言教程·郭天祥] 1、 基础知识必备

    目录: 单片机的大致介绍         1-1.通俗定义         1-2.51系列产品         1-3.标号意思         1-4.引脚介绍         1-5.用C语言开 ...

随机推荐

  1. C++类的完美单元测试方案——基于C++11扩展的friend语法

    版权相关声明:本文所述方案来自于<深入理解C++11—C++11新特性解析与应用>(Michael Wong著,机械工业出版社,2016.4重印)一书的学习. 项目管理中,C语言工程做单元 ...

  2. 8天入门docker系列 —— 第七天 让你的container实现跨主机访问

    当你有若干个容器之后,你可能就希望实现容器的跨机部署访问了,比如aspnetcore在一台host上,mysql在另外一个host上,如果要实现这样的功能,需要你借助 docker自带的overlay ...

  3. Spring Framework 条件装配 之 @Conditional

    Spring Framework 条件装配 之 @Conditional 前言 了解SpringBoot的小伙伴对Conditional注解一定不会陌生,在SpringBoot项目中,Conditio ...

  4. Codeforces Gym101246J:Buoys(三分搜索)

    http://codeforces.com/gym/101246/problem/J 题意:给出n个点坐标,要使这些点间距相同的话,就要移动这些点,问最少的需要的移动距离是多少,并输出移动后的坐标. ...

  5. spring mvc重定向问题

    在页面提交时中,路径应该使用“/默认上下文/controller路径”,在controller重定向中,应该使用“/controller路径”,不加上下文.

  6. 基于IdentityServer4的OIDC实现单点登录(SSO)原理简析

    写着前面 IdentityServer4的学习断断续续,兜兜转转,走了不少弯路,也花了不少时间.可能是因为没有阅读源码,也没有特别系统的学习资料,相关文章很多园子里的大佬都有涉及,有系列文章,比如: ...

  7. How to Read a Paper丨如何阅读一篇论文

    这是我在看论文时无意刷到的博客推荐的一篇文章"How to Read a Paper",教你怎么样看论文.对于研究生来说,看论文基本是日常,一篇论文十多二十页,如何高效地读论文确实 ...

  8. Image Classification

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  9. aspnetcore 刷新Session Id总是改变

    public class Startup { public Startup(IConfiguration configuration) { Configuration = configuration; ...

  10. local class incompatible: stream classdesc serialVersionUID = 4125096758372084309, local class serialVersionUID = 7725746634795906143

    local class incompatible: stream classdesc serialVersionUID = 4125096758372084309, local class seria ...