以文本方式查看主题

-  曙海教育集团论坛  (http://sun4.cn/bbs/index.asp)
--  单片机初中级  (http://sun4.cn/bbs/list.asp?boardid=55)
----  自制51单片机试验板  (http://sun4.cn/bbs/dispbbs.asp?boardid=55&id=2189)

--  作者:wangxinxin
--  发布时间:2010-12-7 13:02:45
--  自制51单片机试验板
大家如果觉得买个现成的试验板贵的话,可以自己动手做个,下面是详细做的过程 :
首先用一块万能板(图1)(有人也叫洞洞板)做一个单片机的最小系统.

图片点击可在新窗口打开查看
                   (图1)
C51最小系统电路在网上一搜一大把,大同小异。我略做改动后如图2
图片点击可在新窗口打开查看
                       (图2)
加一个11.0592MHZ的晶振是为了以后做串口通信时和PC有相同的波特率。可用短路帽切换。说说板子的布局:网上卖的最小系统都是把板子做的非常小,如果仅仅只学习最小系统,那是可以的。我以后是要做扩展的,所以不能做的太小。因此该有的应留着,不该有的都去掉。很重要的是以后在做其它扩展功能块时的连接线就用一组排线而不能再有其它飞线。因此做一个好的布局是非常有必要的如图3。
图片点击可在新窗口打开查看
                  (图3)
在板上除了最小系统外还有键盘输入、数码管、LCD、I2C存储器。它们的数据接口和电源接口也是完全独立的。其它的功能都准备在以后通过上方的接口另外用板子扩展。
图上方的弯脚插针就是向外扩展的接口。我在弯脚下方又安排了一组直插针。它是和弯脚插针并行连接的。这样在扩展功能块时我先在AT89S51板上将要输出的引线(包括数据线、控制线、电源线等)跳至直插针上。这样通过弯脚插针引到扩展板上的线就只有一组排线。不用再零乱地接上几组连接线了。这也是我用买的学习板常常垢病而最终弃而自制的主要原因之一。因为当时我扩展LCD12864,我既要连上数据线,又要连电源线,LCD模块上还拖着背光电源限流电阻线。还有液晶驱动电压调节电位器。所以感觉拖的到处是线,很不方便。
实施:通过检查各元件的好坏后便进行焊接工作。焊接进行的还是比较顺利。见下图4,图5
图片点击可在新窗口打开查看
             (图4)
图片点击可在新窗口打开查看
               (图5)
完成了。在检查了线路的正确性后,用万用表测了是否有短路。一切正常!
之前我的AT89S51里已写好了个最小系统测试程序,就是让P1.0上的红色发光管闪烁。
    C语言
# 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;
              }
         }

   汇编语言
ORG 0000H
START:MOV P1,#11111110B;LED点亮
LCALL DELAY;延时1秒
MOV P1,#11111111B;LED灭
AJMP START;反复循环
;延时子程序,12M晶振延时约250毫秒
DELAY:
MOV R4,#2
L3: MOV R2 ,#250
L1: MOV R3 ,#250
L2: DJNZ R3 ,L2
DJNZ R2 ,L1
DJNZ R4 ,L3
RET
END

如果程序在学习板上运行,不正常。那么重点检查以下几个部分(见图6)
1.晶振部分、2.复位部分、3.电源部分(最不可以忘掉EA接V+5v),4.还有就是P1_0发光管最基本的一个应用部分。。
图片点击可在新窗口打开查看
              (图6)
处理19脚时可能的话还是要尽量短些的,毕竟它比18脚要对外界干扰敏感的多。手摸上去就停振了。