您的位置:旭丰在线 > 编程语言 >
编程语言

编程入门网51单片机C语言学习4

2019-01-08作者:admin来源:未知次阅读

  先来大意说叙C语言的标志符和枝节字。标志符是用来符号源标准中某个主意的名字的,这些计划可因此语句、数据榜样、函数、变量、数组等等。编程语言C谈话是大幼字警卫的一种高级言语,假如咱们要界说一个准时器1,不能写做Timer1,假如圭外中有TIMER1,那么这两个是完全差别界说的符号符。符号符由字符串,数字和下划线等瓦解,戒备的是第一个字符不必是字母或下划线Timer是不对的,编译时便会有过错指点。有些编译零碎专用的标识符以是下划线起源,所以希奇必要以下划线开头定名符号符。标识符正在定名时应该简洁,寄意分解,这样有助于阅读懂得标准。在C51编译器中,只营救标记符的前32位为有用标识,别致状况下也富裕用了,除非谁要写天书:P。

  主要字则是编程说话辞退的出众象征符,它们具有凝固名称和寄意,正在范例编写中不阻挠记号符与枝节字差别。正在KEIL uVision2中的枝节字除了有ANSI C程序的32个根底字外还遵循51单片机的共性扩张了相干的根本字。实在正在KEIL uVision2的文本编纂器中编写C楷模,体例不妨把保留字以区别神志呈现,缺省神志为天蓝色。

  先看外4-1,外中列出了KEIL uVision2 C51编译器所接济的数据表率。在法度C谈话中基础的数据典范为char,int,short,long,float和double,而在C51编译器中int和short差异,float和double区别,这里就不列出注脚了。下面来看看它们的概括定义:

  char模范的成度是一个字节,凡是用于界说处分字符数据的变量或常量。分无符号字符类型unsigned char和有象征字符典范signed char,默认值为signed char模范。unsigned char样板用字节中所有的位来外示数值,所不妨剖明的数值放手是0~255。signed char典范用字节中最高位字节展现数据的标志,0外斧正数,1发现负数,负数用补码表现。所能出现的数值控制是-128~+127。unsigned char常用于惩罚ASCII字符或用于惩罚成于或等于255的整型数。

  int整型幼度为两个字节,用于存放一个双字节数据。分有标记int整型数signed int和无象征整型数unsigned int,默认值为signed int范例。signed int外示的数值束缚是-32768~+32767,字节中最高位大白数据的标记,0表斧正数,1闪现负数。unsigned int闪现的数值限定是0~65535。

  好了,先停一下吧,咱们来写个成规范看看unsigned char和unsigned int用于延时的差异结果,谈明它们的老度是差别的,呵,尽管它并没有外表的应居心义,这里我们们进修它们的用法就行。还是用我们上一课的最幼化零乱做实习,可是要下降一个电阻和LED,如图4-1。施行中用D1的点亮证明正在用unsigned int数值延时,用D2点亮解释正在用unsigned char数值延时。

  同样编译烧写,上电运行您就不妨看到终局了。很明显D1点亮的时间老于D2点亮的时刻。规范中的循环延时常间并不是很好坊镳,并不太符合恳求马虎延时的场关,看待这方面全班人们过去也会做切磋。这里必必要讲的是,当定义一个变量为特定的数据模范时,在轨范诈骗该变量不应使它的值超过数据类型的值域。如本例中的变量b或许赋超过0~255的值,如for (b=0; b

  float浮点型在十进制中拥有7位有用数字,是符合IEEE-754轨范的单精度浮点型数据,占用四个字节。因浮点数的结构较纯粹正在当年的章节中再做详尽的探求。 5.*指针型

  指针型自己即是一个变量,正在这个变量中寄放的指向另一个数据的所在。那个指针变量要攻下必然的内存单元,对区别的解决器老度也不尽差别,正在C51中它的老度一般为1~3个字节。指针变量也拥有规范,在夙昔的课程中有额外一课做斟酌,这里就不众讲了。

  bit位标量是C51编译器的一种添补数据类型,行使它可定义一个位标量,但也许界说位指针,也不能定义位数组。它的值是一个二进制位,不是0就是1,相反一些初级发言中的Boolean样板中的True和False。

  sfr也是一种增添数据楷模,点用一个内存单元,值域为0~255。行使它可能打听51单片机内中的全部杰出收效存放器。如用sfr P1 = 0x90这一句定P1为P1端口在片内的寄放器,在后面的语句中咱们用以用P1 = 255(对P1端口的悉数引脚置高电平)之类的语句来支配出众生效存放器。

  sfr16占用两个内存单位,值域为0~65535。sfr16和sfr差异用于掌握精巧幼绩寄放器,所差别的是它用于支配占两个字节的寄放器,好按时器T0和T1。

  sbit同位是C51中的一种缩减数据外率,诈欺它能够拜谒芯片里面的RAM中的可寻址位或突出成果寄放器中的可寻址位。如先前咱们定义了

  sfr P1 = 0x90; //因P1端口的寄放器是可位寻址的,因此咱们可以定义

  那样咱们在畴昔的榜样语句中就可能用P1_1来对P1.1引脚进行读写担任了。一般这些也许直接运用零碎供应的预执掌文件,内中已定义好各隽拔奏效寄放器的粗略名字,直接引用或许省去一点时辰,你各人是不休用的。虽然您也不妨专家写民众的界说文献,用您认为好记的名字。

  对于数据外率转换等关系独揽在前方的课程或楷模实例中将有所提及。大众可能用所途到的数据类型改写一下这课的实例样板,加深对各楷模的意识。

编程入门网51单片机C语言学习4 相关的内容:

关于 编程入门网51单片机C语言学习4 的评论