购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第3节

下载我程序

目录

■ 我要下载——什么是程序下载

■ 我有串口——用串口下载程序

■ 我有USB——用USB接口下载程序

■ 软件开始——使用下载软件完成下载

我要下载

在讲这一部分之前,先让大家猜一个谜语,活跃一下气氛。“远看像个单片机,近看还是单片机,是单片机确是单片机,就是不运行程序。”答案是没有写程序的单片机。单片机是一个好东西,它之所以可以傲视数字电路,就是因为它可以写程序。用软件程序代替硬件电路来实现更多的功能,成本和制作难度也不可匹敌。单片机下载了程序就活了过来,它就是克隆的另一个你自己,输入你的思想,帮你完成你想实现的伟大构想。有了程序的单片机即被赋予了72般变化,可控制你的家用电器、为你提醒日期、做你的生活助理、成为你的汽车报警器。我正沉迷于它的神奇之中,用我们的智慧,启动单片机的奔腾之芯。

要想给单片机下载程序,也并不简单。传统的教学里面不是推荐买一个现成的下载工具,就是要求读者DIY。真可谓有钱的出钱,有力的出力了。但是,凡是事情到了我这里都会变得轻松愉快,忘了销售员的殷勤微笑和复杂难懂的电路板制作吧,让我们用全新的方式下载单片机程序。而且不只是一种方式,还是买一送一的优惠大酬宾。

我有串口

“串口?您说的是远古时代的冷兵器吗?”当他听说我要用串口来讲单片机程序下载时,他使用了时下流行的夸张修辞方手法。这位不是我的大参谋,而是我的另一位朋友。他的生活前卫、时尚,桌上摆着2台电脑,浏览器上打开了一堆英文的门户网站,电视机旁边是Wii游戏机,沙发的角落里半露出一个白色的PSP,身居IT公司高管,对单片机略知一二。听说我要写书,他怪笑三声,扬长而去。今天过来串门,突然听说我要写关于串口的事情,惊讶之余,口出狂言。

他说:“你说说现在哪个电脑上还有串口呀,我1台笔记本电脑、1台台式机,里里外外没见过串口。”

我说:“你只是个案,还是有不少读者的电脑上有串口呀。因为用串口制作下载工具的成本最低,才不到6块钱,在各大电子市场都可以买到元器件。我想这个还是有必要介绍的。”

他说:“那没有串口的读者怎么办,像我这样,你就不考虑我们的感受吗?没有串口又不是我们的错,都怪你的单片机太落后,要是直接有用USB或蓝牙连接的单片机,那就什么问题都没有了。”

我说:“你这就是抬扛了,没有串口的话可以买一个USB转RS-232(串口)的转换线呀,几十块钱,市场上有很多卖的。”

他说:“就为了一个下载电路还要再花几十块钱呀?”

我说:“这有什么呀,反正串口在以后的学习中也会用到。另外我还会介绍一个用USB接口实现下载的小模块,才卖十几块钱,只是不太好买。我是把选择的权力交给读者了,让他们根据自己的情况去选择呀。”

“不听、不听、杜洋念经!”他一边摇头一边大叫,“反正我认为这个没必要,除非你白送我一个。”

“哈哈,我送你一个字——走!”我边说边将他推出门外。

大家不用听这个坏孩子的,整天就知道欺负我。如果你的电脑上有9针的串口,就直接跟着我完成下面的制作。没有串口的朋友可以考虑购买USB转RS-232的转换线,或是下文中的USB转UART的小模块,同样可以达到下载目的。

制作串口下载电路的材料

制作串口下载电路所需要的材料是在上文中面包板实验材料的基础上增加的,但并不多,也只有5种而已。下面列出它们的型号、数量和参考价格,购买的时候会很方便。

元器件清单

MAX232是一款常用的电平转换芯片,它的功能是把RS-232电平和TTL电平相互转换。我们的PC串口输出的是由+12V和-12V电平(RS-232通信协议),而我们的单片机输出的是+5V和0V的TTL电平。MAX232就是解决它们电平不一致的问题,将电平相互转换而达成通信。你还可以在网上找到使用其他电路实现的电平转换设备,这里仅以MAX232为例,也比较容易制作。

电路原理图

这是本书第一次出现电路原理图,我努力地让它能晚一点出现,因为它会让事情变得复杂,让你变得不知所措。我害怕初学者看到电路图会有一种惧怕的心理,所以下面我把整个实物的制作过程一一呈现。根据实物的照片完成制作,再回过头来看原理图,也许思路会清晰很多。单片机的电路原理图并不比数字和模块电路复杂,看懂原理图也是单片机入门、提高的必备素质。

首先我们来制作1条PC串口连接线,旨在将PC主机箱上的串口连接到面包板上来。在9针串口接头上只需引出2(TXD)、3(RXD)、5(GND)共3根线就可以。线的另一端用电烙铁挂上一层锡使之坚硬,可以方便地插入面包板。

把4只小电容插在芯片引脚的对应位置

串口线2脚对应芯片14脚,3脚对应芯片

电路连接说明

续表

续表

在上文中提到的单片机实验电路里直接加入新的电路部分,把MAX232插在单片机的前面,然后按实物照片插接4个电容和串口连接线。接好后,将串口接头连接在PC的串口上,或是USB转RS-232转换线上,就是这么简单。因为我的电脑没有串口,所以就用USB转RS-232转换线来演示。

建议你在PC上使用Windows XP操作系统,其他操作系统可能会出现设置方法不同或是不兼容等问题。在Windows的“开始菜单”→“控制面板”→“性能和维护”→“系统”→“硬件”→“选项卡”→“设备管理器”,展开“端口”(COM和LPT),可以看到USB to Serial Comm Port设备,记住后面括号中出现的串口号(我的电脑是COM7,你的可能不同),后面软件操作中选择串口时要选择此处出现的串口号。

好了,硬件的制作到此结束了,下面我们要在软件上学习操作,给单片机下载程序,同时验证硬件的正确。如果你使用串口下载,则可以直接跳过“我有USB”的部分而直接阅读“软件开始”。略过的时候可以欣赏一下漂亮的图片。

我有USB

用USB接口下载,当我在电子市场里发现USB转UART模块时,我兴奋得笑了半天。这东西确实是有百利而无一害,价格便宜又好用,我现在一直用它。而且这个模块自带5V和3.3V电源输出,可以直接给5V或3V的单片机供电,可以省去电池盒。说到UART,有些朋友可能不太明白,简单地说,UART是一种具有单片机TTL电平的输入/输出,同时又支持RS-232通信协议的接口。通信的协议是RS-232标准的,可是电平并不是+12V、-12V,而是单片机上的TTL电平。单片机上集成的串口功能其实就是UART的串口,需要用MAX232芯片才转换成标准的RS-232接口,并与电脑连接。如果还是不理解也没关系,经验多了,慢慢就会明白。

元器件清单

电路连接说明

电路原理图

将排线插接在模块的UART端的接口上

按图连接硬件

PC识别出设备

把杜邦的排线接口接在USB转UART模块上,另一端的针孔可以和面包板用的导线插接在一起,再将导线接在面包板上。USB转TTL电平模块接入PC,安装模块厂商提供的CP210x芯片的USB驱动程序,在设备管理器中找到CP210x USB to UART Bridge Controller设备,记住后面的串口号(我的电脑上是COM2),在软件操作时会用到。

软件开始

完成了硬件的制作,我心里多了几分忐忑,因为硬件做得正确与否,能不能成功下载程序,都还是未知数。这一部分,我们就来操作软件、下载程序,完成学习单片机最关键的一步。即使你没有戴金丝边眼镜,在下面的操作过程中也会让你显得很斯文。这是与键盘、鼠标、显示器有关的故事情节,有几片灰白颜色的软件窗口、“嘟嘟”的提示音,还有期盼成功并始终专注的眼神。

其实我们已经完成了大部分内容,回顾一下看看,我们了解了单片机是什么、单片机能干什么、如何学习单片机,完成了第一个单片机实验,又制作了单片机的下载电路。了解了这些,我既兑现了承诺,也让你从中受益。下面我们来操作软件完成单片机程序的下载,听上去好像很简单,但认真的状态依然不可放松。

首先请你在下载资料包里找到名为STC-ISP.exe的软件,你也可以到宏晶公司的官方网站找到更新的版本。

双击图标打开软件窗口,窗口的左边是从第1步到第5步的下载步骤,右边是常用的辅助功能。话分两头,单表左半边。

在第1步的单片机型号下拉列表中选择STC12C2052,如果型号与实际连接的单片机型号不符,软件会弹出提示框说明这一点。

在第2步的区域中单击“打开文件”并打开光盘中“第一个工程”中的“第一个程序.hex”文件(关于hex文件,在第2章中会有详细介绍)。

在第3步的选择串行口区域中选择设备管理器中显示的串口号(在我的电脑上是COM2)。

在第4步中选择“内部RC振荡器”“与下载无关”和“NO”。

在第5步的下载区域内单击“Download/下载”按钮。建议在今后调试程序时选中“每次下载前重新调入已打开在缓冲区的文件,方便调试使用”。

这时窗口左下方的状态窗口内显示“正在尝试与单片机握手连接”,这并不是说它们要亲切握手、成为朋友,而是说PC端已经准备就绪,正在等待单片机端的回应。就好像PC在和单片机聊QQ。

PC:Hi,单片机,你在吗?

单片机:你好,有事吗?

PC:呵呵,我想发一个新的程序给你。

单片机:嗯,好,发过来吧。

如果单片机一直没有回复,PC就会一直等待。那我们的单片机为什么没有回复呢?因为它还没有接通电源。如果你早就给单片机接通电源了,也要断开重新上电,这样单片机才会有响应。你可能会问:“这是为什么呢?”这是因为单片机里面有两个程序空间,一个存放用户程序(我们下载的程序),另一个存放厂商制作的引导程序。单片机每次冷启动的时候,都会先运行厂商制作的引导程序,这个程序的任务就是在短时间内看看串口上有没有PC和它握手。如果没有,则结束自己,并跳转到用户程序运行。如果有握手,则将PC端的用户程序接收过来,覆盖原来的用户程序,之后再结束自己,跳转到新的用户程序运行。只有冷启动才能运行引导程序,才能实现握手、完成下载。

下载顺利完成的提示信息

下载成功之后,在面包板上呈现的效果

现在你下载成功了吗?如果状态窗口中一路显示OK,则要恭喜你,我们的制作大获成功,面包板上的LED伴随我们激动的心跳快速地闪烁,虽然和之前实验中的闪烁类似,可是意义却非比寻常,欢呼喝彩之后,我们就可以继续学习了。如果状态窗口出现由于这样或那样原因而导致下载不成功的字样,则说明我们还要走一段回头路,也许是我们一时马虎大意而犯下的小错误,也有重新阅读、反复检查的可能。即使我从书里跳出来也不能帮你解决这个问题,而且还会吓到别人。注意检查电源是否正常、TXD和RXD有没有接反等。注意看状态窗口的帮助内容,还要有一份机敏与耐心,洞察蛛丝马迹。

成功则证明你已经掌握了ISP下载的方法,可以下载资料包中的“更多hex文件”,让LED产生更多精彩花样,尽情体验成功的喜悦吧。泡杯清茶,休息一会儿,别走开,下面的内容更精彩! k5gv/GBJ8ALRbkii7s8uOEwl7WEdaLKPm8gNgQaij+ClgnoguDfOlg26up7+68dl

点击中间区域
呼出菜单
上一章
目录
下一章
×