C51最小系统电路在网上一搜一大把,大同小异。我略做改动后如图:

加一个11.0592MHZ的晶振是为了以后做串口通信时和PC有相同的波特率。可用短路帽切换。
说说板子的布局:网上卖的最小系统都是把板子做的非常小,如果仅仅只学习最小系统,那是可以的。我以后是要做扩展的,所以不能做的太小。因此该有的应留着,不该有的都去掉。很重要的是以后在做其它扩展功能块时的连接线就用一组排线而不能再有其它飞线。因此做一个好的布局是非常有必要的。

在板上除了最小系统外还有键盘输入、数码管、LCD、I2C存储器。它们的数据接口和电源接口也是完全独立的。其它的功能都准备在以后通过上方的接口另外用板子扩展。

图上方的弯脚插针就是向外扩展的接口。我在弯脚下方又安排了一组直插针。它是和弯脚插针并行连接的。这样在扩展功能块时我先在AT89S51板上将要输出的引线(包括数据线、控制线、电源线等)跳至直插针上。这样通过弯脚插针引到扩展板上的线就只有一组排线。不用再零乱地接上几组连接线了。这也是我用买的学习板常常垢病而最终弃而自制的主要原因之一。因为当时我扩展LCD12864,我既要连上数据线,又要连电源线,LCD模块上还拖着背光电源限流电阻线。还有液晶驱动电压调节电位器。所以感觉拖的到处是线,很不方便。

实施:通过检查各元件的好坏后便进行焊接工作。焊接进行的还是比较顺利。见下图:

完成了。在检查了线路的正确性后,用万用表测了是否有短路。一切正常!

之前我的AT89S51里已写好了个最小系统测试程序,就是让P1.0上的红色发光管闪烁。

# include <at89x51.h>
void main(void)
{          unsigned char i,j,k;
            while(1)
              {
                 for(i=0;i<100;i++)
                   { 
                      for(j=0;j<255;j++)
                        for(k=0;k<255;k++);
                    }
                 P1_0= !P1_0;
              }
         }

我把它先插在我买的学习板上运行,一切正常。但插在我做的的最小系统上却没反应。就那么点线路查来查去还是没问题呀!是晶振不起振?在学习板上用手拿着改锥分别碰18脚(XTAL2)和19脚(XTAL1)。发现当人体碰到19脚时程序会乱掉,就是说可能会停振。于是又把我的系统板上晶振位置的电路重焊一遍,尽量缩短了19脚处线的长度。C4、C5又分别换了15PF、20PF、30PF的电容试试。故障依然,没办法,得静一静,看书! 在看到介绍第31脚(EA/VPP)时猛然想到31脚没有接到电源正啊!起来立即把31脚接到电源正,红色发光管立即闪烁起来。此时的高兴真不可名状啊!

总结:除了在焊接时要仔细外,先画好电路图也是很重要的。像上面的电路图在89S51的31脚上就只写了Vcc的字样,因此焊接时就被忽视了。应该先画出一张完整的图才行。

检查分几个部分:1.晶振部分、2.复位部分、3.电源部分(最不可以忘掉EA接V+5v),4.还有就是P1_0发光管最基本的一个应用部分。

其实这个板子上的晶振电路是非常容易起振的。19脚上的引线也没那么敏感。但处理19脚时可能的话还是要尽量短些的,毕竟它比18脚要对外界干扰敏感的多。手摸上去就停振了。
          还有就是学习单片机怎么着也得先买块最最简单的板子。否则你焊好你的板子后有故障到底是程序问题还是线路问题就无从查起,查错查得还不疯掉呀! 程序也没法写进片子里去。你可能会说再做一个ISP下载线呀。做下载线更加不稳定,下一篇我会专门讲做ISP下载线的问题。再来个特写鼓励一下自己。

自制单片机之一------AT89S51最小系统制做的更多相关文章

  1. 嵌入式单片机之STM32F103C8T6最小系统板电路设计参考

    STM32F103C8T6最小系统板电路设计 一.电源部分 设计了一个XH插座,以便使用3.7V锂电池供电,接入电压不允许超过6V. 二.指示灯部分 电源指示灯可以通过一个短路帽控制亮灭,以达到节电的 ...

  2. 自制单片机之二-----AT89S51ISP下载线的制做

    最小系统板做好了,接下来就是做根ISP下载线了.否则程序怎么写到AT89S51芯片里呢? 先来认识一下AT89S51上ISP(在线编程)功能脚的定义 看上图的左边AT89S51引脚图的P1.5.P1. ...

  3. [每日电路图] 1、基于AT89C52单片机最小系统接口电路【转】

              come from:http://www.21ic.com/dianlu/basis/interface/2015-04-21/621607.htm AT89C52是美国Atmel ...

  4. diy51单片机最小系统------从零件到51整体测试成功小白篇

    前言 因为现在网上资料很多,但是很多博主水平不一样,有很多时候,自己在网上找了很多资料,因为自己智商不够,有时候感觉很多关键性的东西没说清楚,导致解决不了问题.那现在就从一个小白的角度来记录自己做过的 ...

  5. STC15单片机最小系统DIY

    DIY计划简介 STC15F2K60S2简介: STC-Y5高速内核,工作频率可配置为1T(sysclk=mclk) 2K RAM(256字节 idata + 1792字节 xdata) + 60K ...

  6. c51较c比较,单片机最小系统

    sfr(Special function registers):特殊功能寄存器声明 bit:位变量声明 sbit:特殊位声明 psw^2,表示psw寄存器上的第2位 << >> ...

  7. AVR单片机最小系统 基本硬件线路与分析

    单片机最小系统  单片机最小系统设计 AVR基本硬件线路设计与分析 (ATmega16功能小板) AVR DB-CORE Ver2.3 Atmega16开发板 本站商城提供本最小系统销售:99元 AV ...

  8. STM32单片机最小系统

    1.单片机最小系统的组成部分 STM32单片机最小系统由①主芯片,②上电复位电路,③时钟电路,④电源供电电路组成.同时一个基本完整的单片机功能还应包括下载电路和LED指示电路. 2.单片机主芯片 单片 ...

  9. STC12C5A60S2 51单片机最小系统

                                                                                    STC12C5A60S2 一.根据芯片文 ...

随机推荐

  1. Raid1源代码分析--Barrier机制

    本想就此结束Raid1的专题博客,但是觉得Raid1中自己构建的一套barrier机制的设计非常巧妙,值得单独拿出来分析.它保证了同步流程和正常读写流程的并发性,也为设备冻结/解冻(freeze/un ...

  2. vb安装过程中 ntvdm.exe[9696]中发生未处理的win32异常

    最近电脑总是出问题导致我的学习效率很低,前几天在用VB6.0的时候有个知识点不太熟悉,于是按F1发现不会出来帮助文档.突然想到重新装系统之后忘记了安装MSDN帮助插件,就在我安装这个软件的时候发现电脑 ...

  3. 禁止浏览器发送referer

    有时候我们需要把其他网站的链接爬取到自己网站,比如各种信息集成网站. 有些网站会有防盗链的措施,我们无法“引用”他人链接(这种情况暂时不考虑),如果网站没有防盗链措施,那就恭喜了! 但是,为了不让“被 ...

  4. MySQL慢查询(一) - 开启慢查询

    一.简介 开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能. 二.参数说明 slow_query_log 慢查询开启状态slow_q ...

  5. Linux下的bc计算器

    bc = basic calculator scale:设置精度,默认为0 obase:设置输出进制,默认为10 ibase:设置输入进制,默认为10 原文:http://www.linuxidc.c ...

  6. [原创]# 玩转nginx系列

    首先先上如何彻底删除nginx 看到这个标题的小伙伴都惊呆了,还不知道怎么搞,却叫我怎么卸载.为什么我要这样,其实,Reset也是一种解决问题的方式嘛. 首先执行下卸载命令 sudo apt-get ...

  7. lua 加密

    项目要求对lua脚本进行加密,查了一下相关的资料 ,得知lua本身可以使用luac将脚本编译为字节码(bytecode)从而实现加密,试了一下,确实可行.下面是使用原生的lua解释器编译字节码:1.新 ...

  8. sun.misc.BASE64Encoder是内部专用 API, 可能会在未来发行版中删除

    简介 MEVAN打包遇到问题“sun.misc.BASE64Encoder是内部专用 API, 可能会在未来发行版中删除”,属于警告!项目虽然能正常运行,但是有警告就是一种隐患,要将隐患消灭在萌芽中. ...

  9. samba服务日志文件-密码文件及启停

    1.Samba服务日志文件日志文件对于samba非常重要,它存储着客户端访问samba服务器的信息,以及samba服务的错误提示信息等,可以通过分析日志,帮助解决客户端访问和服务器维护等问题.在/et ...

  10. 【转】IOS缓存机制详解

    人魔七七:http://www.cnblogs.com/qiqibo/ 为什么要有缓存 应用需要离线工作的主要原因就是改善应用所表现出的性能.将应用内容缓存起来就可以支持离线.我们可以用两种不同的缓存 ...