制作这块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. SqlDataReader的用法 转自https://www.cnblogs.com/sunxi/p/3924954.html

    datareader对象提供只读单向数据的快速传递,单向:您只能依次读取下一条数据;只读:DataReader中的数据是只读的,不能修改;相对地,DataSet中的数据可以任意读取和修改 01.usi ...

  2. Azkaban 3.73.1 集群搭建(Multiple Executor)

    一.简介 Azkaban是LinkedIn开源的任务调度框架,采用java编写 Azkaban功能和特点: 任务的依赖处理 任务监控,失败告警 任务流的可视化 任务权限管理 Azkaban具有轻量可插 ...

  3. CDH CM元数据梳理,包括HIVE

      一.Schema SCM 表结构梳理(对应生产BAOFOO_SCM) AUDITS 登录信息.服务,角色重启.配置更改 PROCESSES 进程信息.这里面有很多信息.开放的web端口. HOST ...

  4. HDU 5527:Too Rich(DFS+贪心)***

    题目链接 题意 给出p块钱,现在要用十种硬币凑出,每种硬币有c[i]个,问最多能用多少个硬币. 思路 首先确定,对于每个硬币就是能用小的替换就不用大的. 所以,可以先把硬币尽量用小的替换,如果小的不够 ...

  5. 在Winform开发框架中使用DevExpress的TreeList和TreeListLookupEdit控件

    DevExpress提供的树形列表控件TreeList和树形下拉列表控件TreeListLookupEdit都是非常强大的一个控件,它和我们传统Winform的TreeView控件使用上有所不同,我一 ...

  6. 【POJ - 1426】Find The Multiple(dfs)

    -->Find The Multiple 原文是英语,直接上中文了 Descriptions: 给定一个正整数n,请编写一个程序来寻找n的一个非零的倍数m,这个m应当在十进制表示时每一位上只包含 ...

  7. Modbus RTU 通信应用案例

    如何打开项目归档文件 例程中的TIA博途项目文件与STEP 7项目文件均为归档文件,需要按如下方式打开: TIA博途项目文件 1. 打开TIA博途软件,通过软件左下方“项目视图”按钮切换至项目视图: ...

  8. [NOIP2016]换教室 题解(奇怪的三种状态)

    2558. [NOIP2016]换教室 [题目描述] 对于刚上大学的牛牛来说,他面临的第一个问题是如何根据实际情况申请合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第i(1< ...

  9. ~~核心编程(四):面向对象——单继承&复写~~

    进击のpython 继承 继承的出现!就是一个作用! 为了节省代码! 为什么说节省代码? 你爸爸要是王健林 你是不是就不用愁怎么获得钱了? 为啥? 是不是钱已经有了! 直接拿来用就行了! 我们想一下奥 ...

  10. c++中利用宏定义简化for循环使用

    话不多说,上方法 #define _for(i,a,b) for( int i=(a); i<(b); ++i) #define _rep(i,a,b) for( int i=(a); i< ...