单片机制作
口叫晚翔三绍爵蛋湘臼扭
5 1单片机 C语言的编程技巧
.
牛余朋
牛傲其
Fra n k ln i
或
Ke i C 5 1
交叉编译器
外部模块提供的可使用的函数和变量的说明可以用文本方式打开: e g
。
集中起来放在一个头文件中进行定义再采用文件包含命令# n i c
“
,
1是专为 5系列单片机设计的一种高效
52 h
.
,
u’ 1d e
将其
的 C语言编译器
,
,
,
使用它可以缩短开
,
仔细研究下
5 1
,
会有一些写程序的体会
.
。
加入到程序中去这样当需要修改某个
。
发周期降低开发成本而且开发出的系统易于维护可靠性高可移植性好
,,,
,
为
,
re
g5 1 h 52
,
为
re
g52 h
.
,
以次类
参量时只须修改相应的包含文件或宏定义而不必对使用它们的每个程序文
件都作修改从而有利于文件的维护和更新现举例说明如下
:
,,,
,
推
比如
.
n w i b o nd
的
78 E 5 8
。
就为
另外
即使在代码的使用效率上也完全可以
W 78 e 5 8 h
这些日文件中的描述
,
和汇编语言相比因此目前它已成为开
1发 5系列单片机的流行工具
赛恻资资纷钻诊朴。
下面几个用来定义的简单命令也是经
。
:
常使用的请初学者注意
「
:
例对于不同的单片机晶振程序
。
,
~
淡妥舔罗讯熟泌组练抓
书
s s
. f r定义一个 8位的设备
取不同的延时时间而且可根据外界条
。
1 f . r 6定义一个 1位的设备 6
比义一个位的设备定
,
件的变化修改延时时间的长短对于这样的程序可利用宏定义和条件编译来实现
。
,
。
C
语言是一种高级程序设计语言
,
sb
。
它提供了十分完备的规范化流程控制
用这些语句定义后
就可以在 C
,
结构
。
因此采用 C 5语言设计单片机 1
,
中象汇编一样使用这些硬件设备这是单片机应用比标准
它差别很少
。
程序如下
n# d e fi e
:
C
应用系统程序时首先要尽可能地采用
特殊的地方其
。
,
a fl g l
结构化的程序设计方法这样可使整个
应用系统程序结构清晰易于调试和维
,
,
# id f
e
f
fa l
g
=
=
1
1另外在 C 5
。
中常用项目来管理
:
,
# d
e fi e n
f0 S C
6M
护
。
对于一个较大的程序可将整个程
,
,
项目一般分为两大块
C
,
C
文件块和头部
,
a d e l y= 1 0:
序按功能分成若干个模块不同的模块
完成不同的功能
,
文件块我们常把不同功能写在不同的
#
e !J f e
fa g l
0 f
二 S C
=
0 SM
。
对于不同的功能模
口参
数和出口参
文件中依靠项目的管理最后把所
,
# d e fn i
块分别指定相应的入
,,
数而经常使用的一些程序最好编成函
有文件连接起来这样就可以得到可以 I烧录的 H EX文件或 B闪文件用头部
。
d
#
e l y= a e! e S
12:
数这样既不会引起整个程序管理的混
乱还可增强可读性移植性也好
C5 1
#}n
vo e ! u
,
,
文件把各个不同的
C互相连接起来
日
。
n# d e fi e
f0
Se
12 M
。
一个 C文件基本上要对应有一个
头
,
d
e l y= a
20;
语言的主程序结构
e< re
:
部文件
没有在
C
,
这个 H文件就包含本 C文件
日文件中列出的文件
,
# en d i f
d
g 5 2 h>
.
中可以提供给外面使用的变量和函数
是该 C文件的内部函数和变量不能使用
。
,
m
a一 n
( )
+
i m d
a一 n
v ( o id )
可以算
1
二< a+ fo r(l 0; l d e l y: l
{
w h le 1; l ( )
外部
,
);
另外在程序设计过程中
C5 1
}这是个最小的成功的
。
要充分利用
C
语言的预处理命令
,
。
}这样源程序不作任何修改就可适用于不同时钟频率的单片机系统并可
l y根据情况的不同取不同的 d e a值完
,,
程序包
,
对于一些常用的常数
FA LS E P I
,
R如丁 UE
,
括头部文件和程序主体:头部文件的名词解释弓用的外部 !
资源文件这个文件包括了硬件信息和
,
以及各种特殊功能寄存器
,
’,
,
或程序中一些重要的依据外界条件可
变的常量可采用宏定义
# de i f
e n或
l
成不同的目的
。