本次解密是对遥控坦克作品的最后一次解密,感谢坛友们一直以来对【DIY遥控坦克】的支持,希望以后能有更有意思的作品与大家分享。
前15次解密:
http://bbs.elecfans.com/jishu_304839_1_1.html 解密1-10
http://bbs.elecfans.com/jishu_309088_1_1.html 解密11-12
http://bbs.elecfans.com/jishu_316726_1_1.html 解密13
http://bbs.elecfans.com/jishu_320727_1_1.html 解密14
http://bbs.elecfans.com/jishu_321737_1_1.html 解密15
上次给大家介绍了如何为无线遥控手柄编写程序,今天为大家介绍如何将写好的程序放到单片机中,做过单片机开发的朋友一定都清楚,我们一般是在PC上编辑、编译源程序,但是程序是运行在目标设备上的,通常我们称这个过程为“交叉编译”,简单来说就是在X86架构下编译出可以在51(或其他)单片机上执行的程序。
一般来讲我们编译出的可执行程序是一个二进制文件,对于Keil编译环境来说他会生成一个以.hex为后缀的文件。我们的目的就是把这个*.hex文件下载(烧录、写入)到我们的单片机中,下面看看如何来操作。
我们已经在遥控手柄的电路板上预留了编程接口,如图16-01:
我们使用串口方式对程序进行下载,所以还需要一根USB转串口的数据线,这种数据线比较多,比如图16-02:
图16-02是一个USB转串口的模块,使用它前需要安装相关驱动程序。通过这个模块我们可以对单片机进行编程,线路的连接比较简单USB一端插在我们的PC机上,另外的3根线对应的是GND、TX、RX(地、发、收),分别与我们的手柄电路板上的编程接口相连,对应关系是GND-GND、RX-TX、TX-RX。电路连接完毕后开始下载程序,由于我们使用的是STC系列的51单片机所以我们使用STC-ISP.exe这个工具对单片机进行编程,看一下这个工具的截图,图16-03:
操作过程大概分为5步:
1. 选择芯片类型,我们使用STC89C52RC;
2. 选择编译产生的*.hex,文件;
3. 选择串口(可以在设备管理器中查看串口编号);
4. 点击下载按钮;
5. 当提示框提示为单片机上电时,打开系统电源;
下载结束后系统会给出提示信息。
经过上面的操作后我们的程序已经下载到单片机中,为系统上电后我们的程序就可以运行了,赶快验证一下自己编写的程序吧。
实际上为单片机下载程序的方法都是近似的,包括为坦克下载程序的方法和手柄一端是相同的,唯一不同的是它们所运行的程序是不一样的。