单片机主要用C语言编程的,而单片机也有自己独有的编程语句,例如,51 单片机就有以下两条:
第一条语句是:sfr P0 = 0x80;
sfr 这个关键字,是 51 单片机特有的,他的作用是定义一个单片机特殊功能寄存器(special function register)。51 单片机内部有很多个小模块,每个模块居住在拥有唯一房间号的房间内,同时每个模块都有 8 个控制开关。P0 就是一个功能模块,就住在了 0x80 这个房间里,我们就是通过设置 P0 内部这个模块的 8 个开关,来让单片机的 P0 这 8 个 IO 口输出高电平或者低电平的。而 51 单片机内部有很多寄存器,如果我们想使用的话必须提前进行 sfr 声明。不过 Keil 软件已经把所有这些声明都预先写好并保存到一个专门的文件中去了,我们要用的话只要文件开头添加一行#include<reg52.h>即可,这个暂且先记住。
第二条语句是:sbit LED = P0^0;
这个 sbit,就是对刚才所说的 SFR 里边的 8 个开关其中的一个进行定义。经过上边第二条语句后,以后只要在程序里写 LED,就代表了 P0.0 口(“^”这个符号在数字键 6 上边),注意这个 P 必须大写,也就是说我们给 P0.0 又取了一个更形象的名字叫做 LED。
了解了这两个语句后,我们来大概看一下单片机的特殊功能寄存器。请注意,每个型号的单片机都会配有生产厂商所编写的数据手册(Datasheet),所以我们来看一下 STC89C52 的数据手册,从 21 页到 24 页,全部是对特殊功能寄存器的介绍以及地址映射列表。我们在使用这个寄存器之前,必须对这个寄存器的地址进行说明。是不是花花绿绿的太多了,记不住啊,这个没关系的,不需要你记住,了解一下,后边大部分我会慢慢给大家解释,少部分需要用到的时候,自己过来查手册就可以了,做技术不是为了应付考试,你可以随时翻阅手册查找你需要的资料。
公司电脑不能贴图哦,图片以后有时间补上,额,还有未完待续············
P4是对标准51的扩展
P0,P1,P2,P3(每个P口有8个控制端口)是单片机控制端口,共32个IO口(IO,input,output分别是输入和输出)