知识链接
一、发光二极管

图3-1-2 发光二极管
发光二极管,俗称LED,是由半导体砷、磷、镓及其化合物制成的二极管,它不仅具有单向导电性,而且通电后能发出红、黄、绿等鲜艳的色光,它工作时只需加1.5~3 V正向电压和几毫安电流就能正常发光,在使用时需串联一个限流电阻。它体积小、反应快、价廉并且工作可靠,广泛应用于各种指示电路当中。实物及符号如图3-1-2所示。
二、单片机常用术语
1.位(Bit)
位是指一个二进制位,是计算机中所能表示的最小数据单位,用b表示。
2.字节(Byte)
计算机中通常把8个二进制位放在一起,同时计数,可以达到0~255,共256种状态。这8个二进制位通常称为一个字节,通常存储器是以字节为单位来存储信息的。
3.字(Word)及字长
字由若干位二进制码组成,通常与计算机内部的寄存器、运算器、数据总线的宽度一致,若干个字节定义一个字。一个字所包含的二进制位数称为字长,字用W表示。一般微机中定义一个字长为两个字节。
4.常量
在程序执行过程中,其值不发生改变的量称为常量,常量分为不同的类型,如33、0、-10为整型常量;3.14、5.2为实型常量;a、b、c则为字符常量。常量即常数。
5.变量
在程序执行过程中,取值可变的量称为变量。一个变量必须有一个名字,在内存中占据一定的存储单元,在该存储单元中存放变量的值。变量名和变量值是两个不同的概念,变量名在程序运行中不会改变,而变量值会变化,在不同时期取值不同。
三、头文件
调用头文件的格式:
#include<>格式:引用标准头文件,编译器从标准库目录开始搜索。
#include" "格式:引用非标准头文件,编译器从用户的工作目录开始搜索。
在用C语言编程时,第一行就需要调用头文件,51单片机可以为reg51.h或reg52.h。reg51.h和reg52.h是定义51单片机和52单片机的特殊功能寄存器和位寄存器的头文件,这两个头文件中大部分内容相同,52单片机比51单片机多一个定时器T2,因此,reg52.h比reg51.h多几行定义T2寄存器的内容。
在使用时用“include”命令将文件包含进来。所谓“文件包含”是指在一个文件内将另外一个文件的内容全部包含进来。因为被包含的文件中一些定义和命令使用频率很高,为了提高编程效率,将这些命令和定义单独组成一个文件,如reg51.h,然后用“#include<reg51.h>”包含进来即可,这就相当于工业中的一个标准零件,直接拿来用即可。
四、位定义sbit
sbit:表示位,是非标准C语言的关键字,编写程序时如需操作寄存器中的某一位时,需定义一个位变量,此时需要用到sbit,如D1=P0^0;,EA=0xaf;sbit的用法有3种:(https://www.daowen.com)
●sbit 位变量名=地址值;
●sbit 位变量名=SFR名称^变量位地址值;
●sbit 位变量名=SFR地址值^变量位地址值。
如定义PSW中的OV可以用以下3种方法:
sbit OV=0xd2; //0xd2是OV的位地址值
sbit OV=PSW^2; //PSW必须先用SFR定义好
sbit OV=0xD0^2; //0xD0就是PSW的地址值
五、C语言编程的基本语法和格式要求
1.C语言中括号的用法
C语言中常用的4种括号:大括号“{}”、圆括号“()”、方括号“[]”、尖括号“< >”。
●大括号“{}”:一般用来把函数的函数体集中起来,形成一个相对的整体。也常常用来将相对集中的若干语句构成语句体集中起来形成一个整体。例如:

用大括号“{}”将while(1)语句后的循环体括起来。
●圆括号“()”:常用来说明函数的参数,一般跟在函数名的后面。函数有多个参数时,相邻参数间要用逗号隔开。
★注意★
使用时不要在函数名和圆括号间留空格。
●方括号“[]”:常用来说明数组或数组元素的下标,紧跟在数组名的后面,如数组:data[10];
●尖括号“< >”:常用在文件包含中,如#include<reg51.h>。
2. C语言中逗号“,”和分号“;”的用法
●每一条完整语句的结束必须用分号“;”。
●在一条语句中的变量之间用逗号“,”。
●语言程序必须用英文输入法编写,程序语句中不能出现中文字符,否则程序会出错,不能通过程序编译。C语言程序中英文输入法的大小写也要十分注意。许多情况下,同一个英文字母的大小写不同,C语言程序会将它们当作两个不同的变量来处理。