当前位置:首页 > 电源 > 数字电源
[导读]51单片机的开发环境是Keil 软件。Keil 软件虽然是一个收费软件,但从uVision2到目前的uVison4版本都有破解版,在网上都可以找到下载。笔者推荐大家使用uVisong4破解版本,好处不用多说。Keil uVision4软件的压缩包里

51单片机的开发环境是Keil 软件。Keil 软件虽然是一个收费软件,但从uVision2到目前的uVison4版本都有破解版,在网上都可以找到下载。笔者推荐大家使用uVisong4破解版本,好处不用多说。Keil uVision4软件的压缩包里附有安装和破解说明,本文不再赘述。

开发一个单片机程序,一般都要经过这几个步骤:建立工程->建立C文件->添加C文件到工程->编写C代码->设置目标工程的选项->编译工程产生HEX文件->将HEX文件下载到单片机。本文将一步一步手把手教您开发一个LED闪烁的简单且实用的C51程序。让您从0基础起步学习开发51单片机。

安装Keil uVison4之后,第一次运行出现如图1的界面,从上往下数,依次是菜单栏、第一条工具栏、第二条工具栏,接下来左边白色部分为工程文件区(显示文件、函数、语言模板和相关书籍),右边灰色部分为文本区(编写源文件),最下边为编译信息栏(显示编译时产生的相关信息)。

一.建立工程

点击“Project”菜单项,选“New uVision Project…”,跳出创建新工程对话框,选择工程放置位置,在这里笔者选择F盘,并在根目录创建LED这个文件夹,用来放置工程文件,如图2:

打开LED文件夹,然后给新工程取个名字(可以任意取),在这里笔者取工程名字为“LED”,如图3:

点击“保存”按钮,跳出器件选择对话框,如图4:

找到Atmel单片机,选择AT89S52,同时右边的描述栏里显示了该器件的基本信息,如图5:

[!--empirenews.page--]

点击“OK按钮,”跳出提示对话框,如图6:

提示对话框问您“是否将8051标准启动代码复制到工程文件夹并添加到工程?”,根据您的需要选择,一般不需要,在这里笔者选择“否”。此时,可看到keil uVision4界面左边的工程窗口里多了一个目标文件夹“Target 1”,其下有一个源文件组文件夹“Suorce Group 1”,如图7。此时,新工程已经建立,但还只是一个空的工程。

二.建立C文件和保存C文件

从图7可看到,“Suorce Group 1”这个源文件夹下还没有任何文件。接下来就是创建一个C文件。点击“File”菜单,选择“New”,文档区便出现了一个默认文件名为“Text 1”的空白文档,如图8:

在该文档上随便输入一个空格,然后点击“File”菜单,选择“Save”,跳出保存对话框,如图9,输入文件名为“LED.c”,点击“保存”按钮。这一步需要注意的是这个C文件必须保存在刚才创建的工程文件夹下,否则在后面编译时会出错。C文件的文件名一般和工程名一致。扩展名必须为“.c”。这个C文件就是您后面要编写C语言源代码的源文件,现在已经在你的工程文件夹里了。

[!--empirenews.page--]

三.添加C文件到工程

虽然“LED.c”这个文件已经在您的工程文件夹里,但还不属于你的工程文件,如果您不把它添加到工程里去,它的存在对您这个工程没有任何意义。接下来就是把C文件添加到您的工程里,让它变成您的工程文件。右键点击左边工程窗口里的“Suorce Group 1”这个源文件夹,选“Add File to Group ‘Suorce Group 1’…”,跳出添加源文件对话框,找到刚才建立的“LED.c”文件,点击“Add”按钮后,再点击“Close”按钮退出,不要重复点击,如图10:

这时可以看到“Suorce Group 1”这个源文件下多了一个源文件“LED.c”,同时,右边的文档区的文件名也改变了,如图11。

四.编写C代码

在空白的文档区输入如下C代码:

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#i nclude<reg52.h>//包含头文件

sbit led=P2^0;//定义位变量led,使其关联单片机管脚P2.0

void Delayms(unsigned int t);//声明延时函数

/////////////////////////////////////////////////////////////////////////////////

int main(void)//主函数(C语言程序入口函数)

{

while(1)

{

led=0;//P2.0拉低,点亮LED

Delayms(500);//调用延时函数,延时500毫秒

led=1;//P2.0拉高,熄灭LED

Delayms(500);//调用延时函数,延时500毫秒

}

return 0;

}

//////////////////////////////////////////////////////////////////////////////////

void Delayms(unsigned int t)//定义延时函数

{

unsigned int i,j;

for(i=0;i<t;i++)

for(j=0;j<120;j++);//大约延时1毫秒

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

这是一个常用的指示灯闪烁的程序,输入完成以后,先不要马上编译,还需要作一些设置。

[!--empirenews.page--]

五.工程选项设置

这一步主要是设置时钟频率和产生HEX文件这两项。进入工程选项有两个途径:从“Project”菜单进入和直接点击工具栏快捷按钮进入。这里使用工具栏快捷按钮进入,点击第二条工具栏的第7个按钮(Target Opsions…),跳出选项对话框,默认选项卡为“Target”,如图12,将晶振频率设为你目标板所使用的晶振频率,这里设为12.0;再点击“Output”选项卡,将“Create HEX File ”复选框打勾,这个项设置绝不能忽略,否则您的工程就没有 HEX文件产生。其他选项保持默认。最后点击“OK”按钮,完成选项设置。

六.编译工程产生HEX文件

点击第二条工具栏的第三个按钮(Rebuild),工程便进入编译链接状态,“Build Output”信息栏就会出现相关的编译信息,如图13。从该信息栏可以知道程序的大小,使用了的多少内部RAM和外部RAM、生成多少个代码、是否生成HEX文件、有多少个错误和警告等信息。如果有错误,目标文件将不会被创建,只要双击错误信息,光标就会跳到C文档错误代码的行号或错误代码的附近,方便您排查错误。

七.将HEX文件下载到单片机

编译通过的C代码,在工程文件夹下就会生成很多文件,其中有两个文件是最重要的,一个是扩展名为“.c”文件“LED.c”,这是移植程序用的C源文件,是程序的核心,拥有这个文件就相当于拥有整个程序;另一个是扩展名为“.hex”的文件“LED.hex”,这是下载程序用的文件。这两个文件都可以用记事本打开。“LED.hex”文件是采用Intel hex文件格式存储程序代码的。下载程序的时用下载软件打开这个hex文件,将文件里的程序代码提取出来写入单片机的程序存储区里。

在下载单片机程序之前,您需要构建一个单片机最小系统,请参阅笔者的《学单片机从构建最小系统开始》一文。下载软件使用WSFISP软件,也可以用AtmelISP软件。下载线可根据笔者提供的原理图自己DIY,也可以购买。51单片机程序下载软件操作都很简单,本文不再叙述。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

上海2024年4月22日 /美通社/ -- 恶性的攻击和意外事件总是防不胜防,提前部署灾备方案可以在遭遇意外时尽可能减少企业损失。那么面对无处不在的勒索病毒和潜在风险,为什么依然有很多企业还会遭遇数据丢失?

关键字: 勒索病毒 软件 电脑 群晖数据

SAP(思爱普)近日发出的裁员计划,不仅涉及全球范围内约8000个职位,更是在中国区造成了近1500名正式员工和合同工不续的情况。

关键字: 软件 互联网

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

德国埃朗根2024年4月16日 /美通社/ -- Elektrobit 今日宣布推出 EB zoneo GatewayCore——首款支持、配置和集成现代微控制器新一代硬件加速器的软件产品,可应用于先进的汽车电子/电气架...

关键字: 汽车 软件 硬件加速 通信网络

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统

业内消息,日前欧洲软件巨头SAP宣布了一项重组计划推动人工智能增长,该计划将涉及大约8000名员工的岗位调整,这些员工将被纳入自愿休假计划和内部再培训措施,即鼓励员工自愿离职或进行内部转岗。

关键字: AI 重组 软件 裁员 SAP

业内消息,国家工信部近日公布了今年前三季度我国软件和信息技术服务业的具体情况,整体运行态势平稳,软件业务收入两位数增长,利润总额保持较快增长,软件业务出口降幅收窄。

关键字: 工信部 软件

嵌入式系统是一种特殊的计算机系统,它被嵌入到其他设备中,以完成特定的任务。嵌入式系统的结构组成是由硬件和软件两部器、输入输出设备和总线等组件,而软件部分则包括操作系统、应用程序和驱动程序等。

关键字: 嵌入式 计算机 软件

嵌入式软件系统是现代技术中广泛应用的一种软件形式,它通常嵌入在各种设备中,如汽车、电子设备、医疗设备等。由于这些设备的功能和性能对人们的生活至关重要,因此对嵌入式软件系统进行全面而有效的测试非常重要。本文将介绍如何对嵌入...

关键字: 嵌入式 设备 软件

安全态势可控、移动安全可及、安全开发可行

关键字: 软件 软件安全 智能终端
关闭
关闭