当前位置:首页 > 单片机 > 单片机
[导读]如何开始编写一个简单的单片机程序呢?接下来就来介绍一下步骤和方法以便更快更好的编写出来单片机程序。

编写一个单片机程序需要七步,

1.建立工程;对于单片机程序来说,每个功能程序,都必须要有一个配套的工程(Project)。点击:Project-->New uVision Project...然后会出现一个新建工程的界面。选择工程放置位置,(位置是任意的,建议不要放在系统盘)并在根目录创建文件夹,用来放置工程文件,我们将它命名为LED,软件会自动添加扩展名.uvproj。我们可以直接点保存,工程会自动保存成 LED.uvproj 文件,下次要打开 LED 这个工程时,可以直接找到文件夹,双击这个.uvproj 文件就可以直接打开了。保存之后会弹出一个对话框,这个对话框让我们选择单片机型号。找到Atmel单片机,选择AT89S52. 点击 OK 之后,会弹出一个对话框每个工程都需要一段启动代码,如果点“否”编译器会自动处理这个问题,如果点“是”,这部分代码会提供给我们用户,我们就可以按需要自己去处理这部分代码,那这部分代码在我们初学 51 的这段时间内,一般是不需要去修改的,但是随着技术的提高和知识的扩展,我们就有可能会需要了解这块内容,到时候我们选择是就好了。在这里我们不需要太多复杂的内容,所以我们就点击否就好了。此时,我们会发现keil uVision4界面左边的工程窗口里多了一个目标文件夹“Target 1”,其下有一个源文件组文件夹“Suorce Group 1”。

2.建立C文件;“Suorce Group 1”这个源文件夹下还没有任何文件。接下来就是创建一个C文件。我们要建立编写代码的文件,点击“File”菜单,选择“New”,,新建一个文件,也就是我们编写程序的平台。然后点 “File”“Save ”或者直接点击那个 Save 的快捷键,可以保存文件,保存时我们把它命名为 LED.c。(注意我们必须要命名成.c)这个地方的扩展名是.asm,头文件就是.h 等等,我们编写的是 C 语言程序,这个地方必须自己添加文件的扩展名.c

3.添加C文件到工程;虽然“LED.c”这个文件已经在我们的工程文件夹里,但还不属于我们的工程文件,如果不把它添加到工程里去,它的存在对这个工程将没有任何意义。接下来就是把C文件添加到工程里,让它变成我们的工程文件。鼠标右键点 Source Group 1,点 Add Files to Group„Source Group 1‟...在弹出的对话框中,单击 LED.c 选中它,然后点 Add,然后单击 Close,关闭添加。这个时候大家会看到在 Source Group 1下边又多了一个 LED.c 文件。

4.编写C代码

#include <reg52.h>  //包含特殊功能寄存器定义的头文件

sbit LED = P0^0;     //位地址声明,注意:sbit 必须小写、P 大写!

void main(){        //任何一个 C 程序都必须有且仅有一个 main 函数

while(1){         //循环

LED = 0;   //分号表示一条语句结束

}

}

该程序的功能是程序在反复不断的无限次执行 LED = 0;这条语句。


5.设置目标工程的选项;这一步主要是设置时钟频率和产生HEX文件这两项。在编译之前,我们先要勾选一个选项,“Project”“Options for Target” „Target1‟...,在弹出的对话框中,点击 Output 选项页,勾选其中的“Create HEX File”复选框,然后点 OK。

6.编译工程产生HEX文件;点击第二条工具栏的第三个按钮(Rebuild),工程便进入编译链接状态,编译完成后,在我们的 Keil 下方的 Output 窗口会出现相应的提示。

7.将HEX文件下载到单片机;以上步骤完成后我们只需要下载我们的程序就可以了。

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

关注、星标公众号,直达精彩内容文章来源:segmentfault作者:Ethson【导读】:树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。在面试环节中,二叉树也是必考的模块。本文主要讲二叉树操作的相关知识,梳理...

关键字: C代码 BSP ORDER WHILE

【导读】:树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。在面试环节中,二叉树也是必考的模块。本文主要讲二叉树操作的相关知识,梳理面试常考的内容。请大家跟随小编一起来复习吧。本文针对面试中常见的二叉树操作做个总结...

关键字: C代码 ORDER WHILE RETURN

关注「Linux大陆」,一起进步!继 300来行代码带你实现一个能跑的最小Linux文件系统 之后,我们来看看如何60行C代码实现一个shell!在实现它之前,先看看这样做的意义。美是有目共睹的。Unix之美,稍微体会,...

关键字: shell C代码

来源:公众号【编程珠玑】作者:守望先生前言如何在C代码中调用写好的C接口?你可能会奇怪,C不是兼容C吗?直接调用不就可以了?这里我们先按下不表,先看看C如何调用C代码接口。C如何调用C接口为什么会有这样的情况呢?想象一下...

关键字: C代码

今天跟大家分享三种表驱动设计的方法,都非常的精妙,值得收藏和细品。

关键字: 表驱动 静态结构体 C代码

▍很懒很操心 有一次,我在项目开发中想监控某段空间数据的大小,即这段空间在MCU中非常有限,希望每个版本在集成软件的时候都想获取其使用了多少空间,防止某些愣头青不珍惜内存,乱塞东西。而这段空间,我定义了一个神一样的结构体...

关键字: C代码

为了优化钻井流程并降低作业成本,Baker Hughes的动力学与遥测(Dynamics & Telemetry)小组开发了一个序列预测算法,用于在钻井作业期间快速可靠的解码井下数据。这个已集成

关键字: C代码 编码 自动代码生成 马尔可夫链

  本文讲解的是飞思卡尔软件开发C语言编码规范。来自于痞子衡嵌入式公众号,下面是编码规范原文: 1.引言   制定此编码风格指导手册的目的是为了使按此规范编写出的C/C++代码极易被阅读和理解。 2.与其他编码风格对比...

关键字: 软件开发 MCU 半导体 C代码

1. 不能清晰理解“==”运算以及优先级和结核性的含义在判断i,j,k三个变量是否相等时往往会轻率地写出“i == j == k ”这样的表达式并误以为三个变量

关键字: C语言 RSQUO IP C代码

用HI-TECH C写的使用PIC12C508读写93LC46范例程式/************************************************************ * Processe...

关键字: C代码 读写 PIC HI-TECH
关闭