上一节讲了KEIL软件的基本使用, 本节开始学习编程,编写第一个程序,如果从没学过的朋友不需要深入了解,只要按照下面写出第一个程序。好, 就来试试,很有意思的。这里主要讲些技巧, 而不是专门的C语言,如过想学习更深入的C语言, 请参考相关C语言书籍。 前面我们已经讲了怎样建立文件,这里就不多讲了。 按照下面动手写下面程序,当写好后, 我们就可以进行编译了, 点工具栏上的 按钮或者 按键盘的功能键F7 开始编译了,在最下面一个白色窗口显示编译结果, 0 Error(s)表示没有错误,正确的通过编译,0 Warning 表示0警告,这里如果有1个或多个警告,并不影响程序的正确编译, 只是表明程序有多余的没有应用的程序。 下面表示程序已经正确的通过了. 如果你的也是这样的, 那就恭喜你成功了。 下面我们就来说说这个程序的基本知识,要记住的, a. 符号// 后面表示注释部分,或者程序的说明部分, 比如上面的程序名称, 日期等 b. /* */ 这个也是表示注释部分. 注意, 注释部分是不被编译的,注释是方便我们更能理解程序 c . #include
这个表示头文件,表示我们要用到的函数或者定义,由#include<头文件名> 组成,编写规则头文件 后面不能 有分号\" ; \". #include 也是头文件, 这是我们51单片机的头文件, 定义了单片机的特殊功能寄存 器的定义,我们可以打开头文件查看, 方法是: 将鼠标移动到文件名上, 点鼠标右键,出现以下菜单,点击蓝色部 分,这样就打开了51头文件。 打开51文件之后, 我们看到了对51单片机的端口定时器中断等进行了定义,想要了解含义,去看看单片机的资料,这里不多讲。头文件是放在我们的安装文件夹里 可以通过以下路劲在你的电脑里看到 D:\\Keil\\C51\\INC\\Atmel。是在INC 文件夹下。头文件也是可以进行修改的,为了不破坏原来的头文件, 如果你要修改,最好复制到你的工程文件下进行修改,头文件可以这样写#include\"reg51.h\本身的头文件(INC 文件夹中查找),你可以试试。 比如将reg51.h 文件复制到你的工程文件夹下(就是在你的程序文件夹下),然后打开 将 P0改为PA后保存关闭。 将#include改为#include\"reg51.h\". 在{}中添加以下语句: PA=0xff; 程序如下: #include #include\"reg51.h\" void main() { PA=0xff; } 然后进行编译, 程序编译成功。 d : 1个C程序只能有一个也是唯一的主函数 main 开头,详细参照C语言书籍 2. 跑马灯的程序设计 我们学习单片首先是学跑马灯的编程, 就是几个LED 来回的不停的闪动, 觉得很有意思, 那就一起动手。 2.1基本电路 (熟悉者可以跳过) 一说LED,我想现在已经不陌生了, 应用已经非常的广!未来照明发展趋向。通俗的讲就是能发光的二极管,除了二极管的特性外, 就是能发光。 以下是个基本的LED 电路,开关S闭合后, LED2端达到LED 所需的电压和电流后,LED 将发光。LED 是有方向的, 在电路中是不能接反的,切记. 控制LED 的正端 控制LED负极 怎样测量LED呢,找一个万用表, 用电阻档或二极管档进行测量, 通测发光。上面接的电阻是限流电阻,根据LED本身 的参数来进行调整。如果不接很容易烧坏LED。 通过以上得知,要使LED 发光就必须增加合适的电压。 2.2 51单片机点亮一个LED 2.2.1 连接电路,我们使用51单片机的P1.0口., LED 正极通过电阻接电源VDD,负极接到单片机P1.0口,电路如下 2.2.2 : 通过电路得知要想使LED发光, 那么必须使LED负极为低电平, 也就是P1.0口输出为0。 程序如下: 程序说明: 先预定义端口 Led1=P1^0 为输出端 在主程序中 让Led1端口 输出为低电平, 这样LED 就亮了. 编译好下载到单片机运行。OK!点亮一个LED 程序就这么简单,赶紧自动弄下,不要说很简单不动手, 很多是从简单开始的,不要怕麻烦。 2.3 跑马灯 下面来正式写跑马灯程序了, 以单片机P1口为例 2.3.1 电路部分如下,8个LED 正极通过电阻接到5V电源,负极接到单片机P1口,原理很简单,这里不详细叙述。 2.3.2 程序设计 跑马灯就是,LED来回的闪烁,8个LED中,D1、D3、D5、D7 亮时,D2、D4、D6、D8 灯灭,反之D1、D3、D5、D7 灭时, D2、D4、D6、D8 灯亮,通过这个分析,我们画张表格如下, 表格表示8个LED灯,连接到单片机输出端1表示高电平(灯灭),0表示低电平(灯亮)。这样从表格中我们就能很清楚的得到需要的数据了. 从表格中我们知道,P1口输出 0xaa 和ox55 就可以实现以上功能. P1=0xaa; 给P1口赋值 Delay(100);//延迟程序 P1=0x55; 给P1口赋值 知道了这些我们就可以写程序, 完整的程序入如下 以上程序分主程序和延迟程序。在主程序中Led(P1口)通过2次赋值0x55和0xaa,由于运行时间很快,因此在送数据后加一组延迟程序。 编译后,下载到单片机,程序就可以运行了!可以动手试下 下面是通过调用数组的方式进行编写的, 这里就不多讲解了。 下面是开发板连接线 跑马灯程序就讲到这里,其他方式可以多多想想, 编译出你自己的程序,各种闪烁程序. 怎样采集数据的方法