——让小电脑运行程序吧
通了电源,也有了初步的规划,我们就把主芯片给接上,并让其工作起来。
这个主芯片就是89C52单片机,有人说,单片机没学过啊,怎么没,没关系,在里,我们就从最简单的入手,然后再慢慢加功能。我们知道学个新程序,一般从HelloWord开始,那单片机同样,也从其本的开始。
51单片机,有40个引脚,其中,芯片从一个U口的左侧开始计数,然后一圈编号,40脚与20脚接电源的正负极。其中,1~8
0~17 39~32 1~28 为单片机的P1 P3 P0
P2口,所谓P口,可以理解为与外界面进行交互的接口,当接口输出1则用万用表接上可以量到5v,当输出0时,则输出0v。同样输入也一样,即可把数字指令,变成电压输出或输入。
好了,简单介绍后,如何让芯片工作呢,简单电路如下即可:
注意点:
18、19 口接上晶振、和两个磁片电容后,再接负极
9口,接上电容后,再接个开关,这个为重启健,当然这块电路可以不接,可以直接开关电源来重启么。
31、40口需接上电源正极5v。
当然,芯片要运行的话,还要写入程序,写程序当然在电脑上,如何存入51芯片,这里我们自制一个烧写器,通过串口方式,电路如下:
开工焊板:
先找好元件,排列好:
这么大芯片,可不能直接焊上去,所以得焊上底坐,就可以方便插拨了。
排好元件,反过来,焊吧,焊接时,40个脚不用所有的都焊上,可以只选择要用的先焊。
主板焊好后,就可以焊编程器,这里就不再详细描述焊接过程,比较容易:
注意点:
-
背面的连接,一般直接用元件剪下来的引脚,然后焊接连接,这样比较牢固。
-
为了方便插拨,所以在出口出,采用一个排插,然后采用杜邦线连接。同时另一端,在主板上,同样P3.1
P3.0引出,加上正负电源,采用排插引出,方便连入:
调试:
写程序,小步快跑,写一段试运行一段,同样,做到这,我们也要运行一下了:
-
先调试编程器,(编程器不好,程序怎么写进去?)
我们知道,编程器,就是一个串口转换器,于是调试,就采用串口调试工具咯,但没有被测的串口设备,怎么办?从自的同时编程器中我们知道,有4根线,2根是电源,正负极,还有2根是数据线,当然就是一个进一个出,于是我们这样做,把编程器的数据线连接上。
这样,即发出的数据,就立即可以收到了。将USB转串口线插上电脑,安装上驱动,然后在设备管理器中就可以看到:
记下其串口编号:
启动串口调试工具:
在里面输入信息后,点发送,发现立即收到,好,证明完全OK了。
-
调试单片机
单片机,直接通电肯定没用,得有程序,所以得先编程。准备开发工具,常用的采用uVersion Keil
c51。
一、安装并启动 (这里略)
二、新建工程
输入名称"智能小车",然后点确定:
选择AT89S52,再点OK:
这里点NO:
再点工具栏上的New:
新建后,会出现一个空白内容页,再按下Ctrl+S 弹保存,名称为main.c:
再右健SourceGropu1 ,选Add Files to Group "source
Group1",在弹出的窗口中选择刚才保存的main.c。
为了正常生成烧写文件,还需要修改一下,在Target1 右健菜单中,先Options
for… 在弹出窗口上,第三页,勾上Create Hex File:
这样,工程就建好了,就可以编入代码,如下:
按下F7,编译,在下面可以看到0 Error 0Warnings 表示已经编译成功。
这是个简单的测试程序,功能P0口每秒后值变化一下,0~5~0~5… 这样变。
附代码如下:
#include<reg52.h>
/*****************************************************
* 函数功能:延时若干毫秒
* 入口参数:j
***************************************************/
void Delay(unsignedint i)
{
unsignedint j;
for(;i>0;i--)//变量i由实际参数传入一个值,因此i不能赋初值
for(j=0;j<125;j++)
{;}
}
void main()
{
while(1)
{
P0 =0xFF;
Delay(1000);
P0 =0x00;
Delay(1000);
}
}
好了,这段代码应该比较容易看懂,不多解释了,还是赶紧让CPU跑这段代码吧。
按下F7,编译生成,最后,在工程文件夹中,可以看到一个"智能小车.hex"的文件这个就是烧写用的。那烧写用什么软件呢,我这里用的是"stc-ispv4.79"
网上可以方便下载到。
将USB转串口线,连接到电脑上,找到串口几,串口头接上自制烧写器,用杜邦线将烧写器连接到主板上串口上。然后启动软件:
好了,写入成功后,小车主板上的单片机就立即运行了。但如何看出来结果呢,别急,有2个办法:
方式一:拿个万用表,一头接电池负极,一头接单片机39口,扳到直流电压档,可以看到,万用表的指示,一会儿5v,
一会儿0v。 -----OK 看到这效果,说明运行成功了。
方式二:拿根导线,拿个LED,一头焊上个1K的电阻,电阻另一头接上电池负极,另一头接到单片机39口上,就可以看到小灯一闪一灭的。
---这样也就说明单片机在运行了。 接小灯时注意正负极,新的可以看出,长脚的是接正极,即要接单片机。