单片机特殊功能寄存器和位定义怎么编写程序5
发布网友
发布时间:2023-11-05 18:11
我来回答
共1个回答
热心网友
时间:2024-01-19 12:39
用C语言来对单片机编程,有的单片机也有那么几条很特殊的独有的编程语句,51单片机就有,先介绍两条。
第一条语句是: sfr P0 = 0x80;
SFR这个关键字,是51单片机特有的,他的作用是定义一个单片机特殊功能寄存器(special function register)。51单片机内部有很多个小模块,每个模块有8个开关。每个模块呢,都有一个房间和唯一的房间号。那么P0就是一个功能模块,就住在了0x80这个房间里,我们就是通过设置P0的内部这个模块的8个开关,来让单片机的P0这8个IO口输出高电平或者低电平的。
第二条语句是: sbit LED = P0^0;
这个sbit,就是对刚才所说的SFR里边的8个开关其中的一个进行定义。经过上边第二条语句后,以后只要在程序里写LED,就代表了P0.0口(“^”这个符号在数字键6上边),注意这个P必须大写,也就是说我们给P0.0又取了一个更形象的名字叫做LED。
了解了这两个语句后,我们来大概看一下单片机的特殊功能寄存器。注意,每个型号的单片机都会配有生产厂商所写的数据手册(Datasheet),所以我们来看一下STC89C52RC的数据手册,从21页到24页,全部是对特殊功能寄存器的介绍以及地址映射列表。我们在使用这个寄存器之前,必须对这个寄存器的地址进行说明。是不是花花绿绿的太多了,记不住啊,这个没关系的,不需要你记住,了解一下,后边大部分我会慢慢给大家解释,少部分需要用到的时候,自己过来查手册就可以了,做技术不是为了应付考试,你可以随时翻阅手册查找你需要的资料。追答贡献文档:百度文库《吴鉴鹰单片机项目实战精讲》
单片机开发板参考:吴鉴鹰单片机开发板(有详细的视频教程,板子功能全面,适合学习使用