首页 论坛 博客
 
查看文章
 
标题:单片机语言学习(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)
 
网友评论:
发表评论:
姓 名: [ 登陆 ]
内 容:
验证码: