从业近十年,教你单片机入门 第8讲:
烧录程序也叫下载程序。下载程序的实质是什么?把单片机作为一个存储器,每一条程序指令都对应一个仅有的存储地址,把这些指令一条条存储到指定的存储地址中,这便是下载程序的实质。关于STC89C52RC单片机,在下载程序时需求上位机界面软件和一根USB转串口线。上位机界面软件担任把指定.hex格局的机器码文件翻开,.hex格局的机器码文件里边记载着每条程序指令对应的地址信息,在下载进程中,上位机界面软件依据.hex记载的指令内容和对应的地址信息,通过USB转串口线,跟单片机的内置引导程序进行串口通讯,从而把.hex记载的信息传输到单片机内部的flash存储器中,完结了程序的下载。
在讲操作流程之前,请读者先把以下一个LED灯闪耀的代码编译成.hex格局的文件,这个.hex文件保存在D盘的”stc89c52rc”文件夹里。
#include “REG52.H”
void delay_long(unsigned int uiDelayLong); //延时函数
sbit led_dr=P3^5;
void main()
{
while(1)
{
led_dr=1; //LED亮
delay_long(100); //延时50000个空指令的时刻
led_dr=0; //LED亮
delay_long(100); //延时50000个空指令的时刻
}
}
void delay_long(unsigned int uiDelayLong) //延时函数
{
unsigned int i;
unsigned int j;
for(i=0;i
{
for(j=0;j<500;j++); //内嵌循环的空指令数量
}
}
下面具体解说把.hex机器码下载到单片机的操作流程。
第一步:装置USB转串口驱动程序的操作流程。所谓上位机界面软件便是装置在电脑端的界面软件,电脑跟单片机进行通讯,需求一根USB转串口线,欲使USB转串口线正常作业,有必要预先装置一个USB转串口的驱动程序。具体的操作是这样的:在网盘中下载”51CTO下载-CH340SER(win7 64位可用).zip”这个压缩包文件,解压后分红“CH341SER”和“INSTALL”这两个文件夹,双击翻开“CH341SER”这个文件夹,找到“SETUP.EXE”这个装置应用程序,双击发动,在弹出的界面中,单击“装置”按钮即可完结驱动程序的装置。
第二步:记载串标语。我用的电脑是XP体系,现在以XP体系为例。刺进USB转串口线,右击桌面“我的电脑”,挑选下拉菜单的“设备管理器”,在弹出的窗口中,点击“端口”前面的+号,在翻开的选项中,会看到“USB-SERTAL CH340(COM6)”这个信息,这个COM6便是要咱们记住的串标语。你们的串标语纷歧定是COM6,请以你们电脑显现的串标语为准。
第三步:翻开上位机界面软件“STC_ISP”。这个软件能够在宏晶单片机的官网下载获取此软件。双击翻开“STC_ISP.exe”这个上位机界面软件。
第四步:挑选单片机类型。在“单片机类型”的下拉菜单中挑选“STC89C/LE52RC”这个类型。假如半途弹出引荐选用其它类型的窗口,能够按确认疏忽它,咱们只需认准“STC89C/LE52RC”这个类型就能够了。
第五步:设置串标语。在“串标语”的下拉菜单中,挑选跟前面第二步所记载相同的串标语。
第六步:设置最高波特率。在“最高波特率”的下拉菜单中,挑选9600波特率。 第六步:设置最高波特率。在“最高波特率”的下拉菜单中,挑选9600波特率。
第七步:衔接硬件USB转串口线和电源线。USB转串口线一端现已衔接电脑USB口,别的一端9针串口端跟坚鸿51学习板的串口端衔接。电源线一端用智能手机充电器的USB端口供电5V,电源线另一端衔接坚鸿51学习板的USB供电端口。
第八步:导入.hex格局的机器码文件。点击上位机界面软件的“翻开程序文件”的按钮,在弹出的对话框中,挑选D盘下“stc89c52rc”文件夹目录下的“stc89c52rc.hex”,双击把“stc89c52rc.hex”导入到上位机界面软件。
第九步:发动下载。点击上位机界面软件的“下载/编程”的按钮,发现“正在检测方针单片机..”的提示信息,此刻需求把51学习板从头断电后再上电,许多人也把这个从头上电的进程称为“冷发动”。
第十步:“冷发动”后调查是否操作成功的信息。履行完前面第九步的“冷发动”后,假如发现有“…操作成功!”的提示信息,就阐明下载成功了。
第十一步:坚鸿51学习板下载程序失利时的解决办法。
(1)能够先松一下卡座,略微移动一下单片机,然后再卡紧单片机。卡座有必要卡紧单片机, 防止接触不良。
(2)改动供电电源,许多电脑的USB口供电电源搅扰非常大,严重影响下载程序,请把USB电源线刺进到手机充电器5V的USB接口,效果显著,显着提高了下载的成功率。
(3)查看保证挑选单片机类型是STC89C/LE52RC,假如软件弹出引荐其它类型的单片机窗口,不必管它,咱们就选STC89C/LE52RC。
(4)查看STC-ISP烧写软件是否挑选匹配的COM口。
(5)单片机是靠串口烧录程序进去的,单片机的串口是P3.0,P3.1两根线,在烧录程序时,保证P3.0,P3.1这两根线的黄色彩跳帽有必要插上,一起P3.0,P3.1两个IO口不能跳线到外围器材上。
(6)点击“下载/编程”后,记住再断电而且从头上电一次。看看是否烧录成功。
(7)最低波特率一向设置为2400,然后把最高波特首先改成9600试一下,假如还不可再把最高波特率改成2400试试。
(8)假如还不可,就退出软件,拔掉USB转串口线,一起断电(有必要把整根电源线拔掉!),从头刺进USB串口线,从头刺进电源线开电,从头翻开软件。
(9)假如还不可,学习板先断电(有必要把整根电源线拔掉!),然后重启一次电脑。
(10)总归:假如还不可,就按上述过程多折腾几回。最终真实不可,就测验更换到其它USB口,或许测验更换到其它电脑上试试。
具体过程图:bbs.21ic.com/forum.php
下节预告:主程序的两个区域:初始化和循环。