在开端C言语的主要内容时,咱们先来看看如何用KEIL uVISION2来编译生成用于烧写芯片的HEX文件。HEX文件格局是Intel公司提出的按地址摆放的数据信息,数据宽度为字节,一切数据运用16进制数字表明, 常用来保存单片机或其他处理器的方针程序代码。它保存物理程序存储区中的方针代码映象。一般的编程器都支撑这种格局。咱们先来翻开榜首课做的榜首项目,翻开它的地点目录,找到test.Uv2的文件就能够翻开从前的项目了。然后右击图3-1中的1项目文件夹,弹出项目功用菜单,选Options for TargetTarget1,弹出项目选项设置窗口,相同先选中项目文件夹图标,这时在Project菜单中也有相同的菜单可选。翻开项目选项窗口,转到Output选项页图3-2所示,图中1是挑选编译输出的途径,2是设置编译输出生成的文件名,3则是决议是否要创立HEX文件,选中它就能够输出HEX文件到指定的途径中。选好了?好,咱们再将它从头编译一次,很快在编译信息窗口中就显现HEX文件创立到指定的途径中了,如图3-3。这样咱们就可用自己的编程器所顺便的软件去读取并烧到芯片了,再用试验板看成果,至于编程器或仿真器品种繁多具体方法就看它的说明书了,这儿也不做评论。
(技巧:一、在图3-1中的1里的项目文件树形目录中,先选中目标,再单击它就可对它进行重命名操作,双击文件图标便可翻开文件。二、在Project下拉菜单的最下方有最近修改过的项目途径保存,这儿能够快速翻开最近在修改的项目。)
图3-1项目功用菜单
图3-2 项目选项窗口
图3-3 编译信息窗口
或许您已把编译好的文件烧到了芯片上,假如您购买或克己了带串口输出元件的学习试验板,那您就能够把串口和PC机串口相联用串口调试软件或Windows的超级终端,将其波特率设为1200,就能够看到不断输出的”Hello World!”字样。或许您还没有试验板,那这儿先说说AT89C51的最小化体系,再以一实例程序验证最小化体系是否在运转,这个最小化体系也易于克己用于试验。图3-4就是AT89C51的最小化体系,不过为了让咱们能够看出它是在运转的,我加了一个电阻和一个LED,用以显现它的状况,晶振能够依据自己的状况运用,一般试验板上是用11.0592MHz或12MHz,运用前者的好外是能够发生规范的串口波特率,后者则一个机器周期为1微秒,便于做准确守时。在自己做试验里,留意的是VCC是+5V的,不能高于此值,否则将损坏单片机,太低则不能正常作业。在31脚要接高电平,这样咱们才干履行片内的程序,如接低电平则运用片外的程序存储器。下面,咱们建一个新的项目名为OneLED来验证最小化体系是否能够作业(一切的例程都可在我的主页下面下载到,网址:http://cdle.yeah.net 或http://www.cdle.net )。程序如下:
#include //预处理指令
void main(void) //主函数名
{
//这是榜首种注释方法
unsigned int a; //界说变量a为int类型
do{//do while组成循环
for (a=0; a<50000; a++); //这是一个循环
P1_0 =0; //设P1.0口为低电平,点亮LED
for (a=0; a<50000; a++); //这是一个循环
P1_0 = 1; //设P1.0口为高电平,平息LED
}
while(1);
}
图3-4 AT89C51最小化体系
这儿先讲讲KEIL C编译器所支撑的注释句子。一种是以”//”符号开端的句子,符号之后的句子都被视为注释,直到有回车换行。另一种是在””符号之内的为注释。注释不会被C编译器所编译。一个C使用程序中应有一个main主函数,main函数能够调用其他功用函数,但其它功用函数不允许调用main函数。不管main函数放在程序中的那个方位,总是先被履行。用上面学到的常识编译写好的OneLED程序,并把它烧到刚做好的最小化体系中。上电,刚开端时LED是不亮的(由于上电复位后一切的IO口都置1引脚为高电平),然后延时一段时间(for (a=0; a<50000; a++)这句在运转),LED亮,再延时,LED平息,然后替换亮、灭。榜首个真实的小使用就做完,呵呵,先不要管它是否有用哦。假如没有这样的作用那么您就要仔细检查一下电路或编译烧写的过程了。