查看文章 |
标题:单片机语言学习(1)
2008-05-04 09:58:40
C 语言概述及其开发环境的建立 学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil 软件是目 前最流行开发80C51 系列单片机的软件,Keil 提供了包括C 编译器、宏汇编、连接器、库 管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境 (μVision)将这些部份组合在一起。 在学会使用汇编语言后,学习C 语言编程是一件比较容易的事,我们将通过一系列的 实例介绍C 语言编程的方法。图1-1 所示电路图使用89S52 单片机作为主芯片,这种单片 机性属于80C51 系列,其内部有8K 的FLASH ROM,可以反复擦写,并有ISP 功能,支 持在线下载,非常适于做实验。89S52 的P1 引脚上接8 个发光二极管,P3.2~P3.4 引脚上接 4 个按钮开关,我们的任务是让接在P1 引脚上的发光二极管按要求发光。 ![]() 简单的C 程序介绍 例1-1: 让接在P1.0 引脚上的LED 发光。 /************************************************* *************************************************/ 图1-1 接有LED 的单片机基本电路 P1.0 EA/VPP VCC XTAL2 XTAL1 GND RST +5V +5V + R1 E1 10K 10U 27P CY 27P PZ1 1K D8 D1 89××× #include “reg51.h” sbit P1_0=P1^0; void main() { P1_1=0; } 这个程序的作用是让接在P1.0 引脚上的LED 点亮。下面来分析一下这个C 语言程序包 含了哪些信息。 1)“文件包含”处理。 程序的第一行是一个“文件包含”处理。 所谓“文件包含”是指一个文件将另外一个文件的内容全部包含进来,所以这里的程序 虽然只有4 行,但C 编译器在处理的时候却要处理几十或几百行。这里程序中包含REG51.h 文件的目的是为了要使用P1 这个符号,即通知C 编译器,程序中所写的P1 是指80C51 单 片机的P1 端口而不是其它变量2)符号P1_0 来表示P1.0 引脚。 在C 语言里,如果直接写P1.0,C 编译器并不能识别,而且P1.0 也不是一个合法的C 语言变量名,所以得给它另起一个名字,这里起的名为P1_0,可是P1_0 是不是就是P1.0 呢?你这么认为,C 编译器可不这么认为,所以必须给它们建立联系,这里使用了Keil C 的关键字sbit 来定义,sbit 的用法有三种: 第一种方法:sbit 位变量名=地址值 第二种方法:sbit 位变量名=SFR 名称^变量位地址值 第三种方法:sbit 位变量名=SFR 地址值^变量位地址值 如定义PSW 中的OV 可以用以下三种方法: sbit OV=0xd2 (1)说明:0xd2 是OV 的位地址值 sbit OV=PSW^2 (2)说明:其中PSW 必须先用sfr 定义好 sbit OV=0xD0^2 (3)说明:0xD0 就是PSW 的地址值 因此这里用sfr P1_0=P1^0;就是定义用符号P1_0 来表示P1.0 引脚,如果你愿意也可以 起P10 一类的名字,只要下面程序中也随之更改就行了。 3)main 称为“主函数”。 每一个C 语言程序有且只有一个主函数,函数后面一定有一对大括号“{}”,在大括号 里面书写其它程序。 从上面的分析我们了解了部分C 语言的特性 未完待续…… |
本文引用通告地址:http://gump.spaces.eaw.com.cn/articles/trackback/item/163
类别:嵌入式
| 浏览(188) 引用(0)
