当前位置:首页 > 单片机 > 单片机
[导读]单片机内部有很多的特殊功能寄存器,每个寄存器在单片机内部都分配有唯一的地址,一般我们会根据寄存器功能的不同给寄存器赋予各自的名称,当我们需要在程序中操作这些特殊功能寄存器时,必须要在程序的最前面将这些名称加以声明,声明的过程实际就是将这个寄存器在内存中的地址编号赋给这个名称,这样编译器在以后的程序中才可认知这些名称所对应的寄存器。对于大多数初学者来讲,这些寄存器的声明已经完全被包含在51单片机的特殊功能寄存器声明头文件“reg51.h”中了,初学者若不想深入了解,完全可以暂不操作它。

数据元(Data Element),也称为数据元素,是用一组属性描述其定义、标识、表示和允许值的数据单元,在一定语境下,通常用于构建一个语义正确、独立且无歧义的特定概念语义的信息单元。数据元可以理解为数据的基本单元,将若干具有相关性的数据元按一定的次序组成一个整体结构即为数据模型。

数据元一般由对象类、特性和表示3部分组成:

(1)对象类(Object Class)。是现实世界或抽象概念中事物的集合,有清楚的边界和含义,并且特性和其行为遵循同样的规则而能够加以标识。

(2)特性(Property)。是对象类的所有个体所共有的某种性质,是对象有别于其他成员的依据。

(3)表示(Representation)。是值域、数据类型、表示方式的组合,必要时也包括计量单位、字符集等信息。对象类是我们所要研究、收集和存储相关数据的实体,例如人员、设施、装备、组织、环境、物资等。特性是人们用来区分、识别事物的一种手段,例如人员的姓名、性别、身高、体重、职务,坦克的型号、口径、高度、长度、有效射程等。表示是数据元被表达的方式的一种描述。表示的各种组成成分中,任何一个部分发生变化都将产生不同的表示,例如人员的身高用“厘米”或用“米”作为计量单位,就是人员身高特性的两种不同的表示。数据元的表示可以用一些具有表示含义的术语作标记,例如名称、代码、金额、数量、日期、百分比等。

数据元基本模型中,对象类对应于数据模型中的实体、特性和表示对应于数据模型中的属性。

单片机内部有很多的特殊功能寄存器,每个寄存器在单片机内部都分配有唯一的地址,一般我们会根据寄存器功能的不同给寄存器赋予各自的名称,当我们需要在程序中操作这些特殊功能寄存器时,必须要在程序的最前面将这些名称加以声明,声明的过程实际就是将这个寄存器在内存中的地址编号赋给这个名称,这样编译器在以后的程序中才可认知这些名称所对应的寄存器。对于大多数初学者来讲,这些寄存器的声明已经完全被包含在51单片机的特殊功能寄存器声明头文件“reg51.h”中了,初学者若不想深入了解,完全可以暂不操作它。

sfr—特殊功能寄存器的数据声明,声明一个8位的寄存器。

sfrl6—16位特殊功能寄存器的数据声明。

sbit—特殊功能位声明,也就是声明某一个特殊功能寄存器中的某一位。

bit一位变量声明,当定义一个位变量时可使用此符号。

例如:sfr SCON=0x98;

SCON是单片机的串行口控制寄存器,这个寄存器在单片机内存中的地址为0x980这样声明后,我们在以后要操作这个控制寄存器时,就可以直接对SCON进行操作,这时编译器也会明白,我们实际要操作的是单片机内部0x98地址处的这个寄存器,而SCON仅仅是这个地址的一个代号或是名称而已,当然,我们也可以定义成其他的名称。

例如:sfr16T2=0xCC;

声明一个16位的特殊功能寄存器,它的起始地址为OxCC。

例如:sbit TI=SCON^1;

SCON是一个8位寄存器,SCON^1表示这个8位寄存器的次低位,最低位是SCON^0;SCON^7表示这个寄存器的最高位。该语句的功能就是将SCON寄存器的次低位声明为TI,以后若要对SCON寄存器的次低位操作,则可直接操作TI。

C51中常用的头文件

通常有reg51.h,reg52.h,math.h,ctype.h,stdio.h,stdlib.h,absacc.h,intrins.h。

但常用的却只有reg51.h或reg52.h,math.h。

reg51.h和reg52.h是定义51单片机或52单片机特殊功能寄存器和位寄存器的,这两个头文件中大部分内容是一样的,52单片机比51单片机多一个定时器T2,因此,reg52.h中也就比reg51.h中多几行定义T2寄存器的内容。

math.h是定义常用数学运算的,比如求绝对值、求方根、求正弦和余弦等,该头文件中包含有各种数学运算函数,当我们需要使用时可以直接调用它的内部函数。

当我们对特殊功能寄存器有了基本的了解后,大家就可以自己动手来写具有自己风格的头文件了。例如,在TX-1C单片机学习板上,我们用的是STC公司的51内核单片机,该单片机内部除了一般51单片机所具有的功能外,还有一些特殊功能,当我们要使用这些特殊功能时,就要对它进行另外的操作,此时就需要我们自己定义这些特殊功能寄存器的名称,我们可以根据芯片说明文档上所注明的各个寄存器地址来定义它们,关于这方面的扩展,我们会在以后的实际应用中再次提到。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭